Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/12/2010, 12:52
kryzpo23
 
Fecha de Ingreso: julio-2010
Ubicación: Chillan, Chile
Mensajes: 60
Antigüedad: 13 años, 8 meses
Puntos: 1
Exclamación Respuesta: ayuda porfavor, quiero cargar resultados de busqueda en la misma pagina!

Cita:
Iniciado por doylelives Ver Mensaje
estemmm, si puedes ingresar datos en la bd, lo haces con un mysql_query verdad. pues cuando ejecutas un select, la funcion mysql_query devuelve un resulset, un conjunto de registros, puedes acceder a los registros con mysql_fetch_array recorriendolos con un bucle. Respetando el patron de diseño MVC, el controlador debe usar un metodo del modelo que traiga los registros, ese conjunto de registros, lo retornas a la capa de Vista.
Finalmente en la vista simplemente con una iteración los muestras en pantalla.
Código PHP:
//en controlador
$resultset $miModelo->traerRegistros();

//en Vista
while ($reg mysql_fetch_array($resulset)){
      echo 
$reg['nombreCampo1'];
      echo 
$reg['nombreCampo2'];
      echo 
'<br>';


Doylelives, claro entiendo la solucion pero como traspaso a la vista el resultado de mi consulta

mira este es mi codigo, espero se entienda

// en el archivo EditarSocio.php tengo lo que seria la Vista
en el puedo buscar un socio de la cooperativa por rut(aca en chile es el numero unico de cada ciudadano)

Código PHP:
Ver original
  1. <body>
  2.  
  3. <table width="700" eight="500" border="0" align="center" cellpadding="0" cellspacing="0">
  4.    
  5.     <form id="form1" name="form1" method="post" action="../Persistencia/Controlador/EditarSocioControlador.php" onsubmit="return validarCampos()">
  6.         <p>&nbsp;</p>
  7.         <table width="341" border="1" align="center">
  8.           <tr>
  9.             <td width="72">Rut</td>
  10.             <td width="253"><label>
  11.               <input type="text" name="rut" id="rut" />
  12.               <input type="submit" name="buscar_rut" id="buscar_rut" value="   Buscar   "  />
  13.             </label></td>
  14.           </tr>
  15.          
  16.         </table>
  17.     </form>
  18. </table>
  19. </body>
este formulario ejecuta el archivo "EditarSocioControlador.php" que seria el archivo controlador
el cual crea un nuevo objeto SocioDAO.php, este objeto posee el metodo buscar_socio_por_rut()
que realiza la consulta en la base de datos

Código PHP:
Ver original
  1. <?php
  2. $rut=$_POST['rut'];
  3. //verificar el rut ingresado
  4. echo "el rut ingresado es el $rut";
  5. //crear nuevo objeto que accede a la base de datos
  6. include("../DAO/SocioDAO.php");
  7. $socio_DAO=new SocioDAO();
  8. //buscar en la base de datos
  9. $socio_DAO->buscar_socio_por_rut($rut);
  10.  
  11. $resultado_busqueda_RUT=$socio_DAO->buscar_socio_por_rut($rut);
  12. //pasar a un arreglo la respuesta
  13. $row=mysql_fetch_array($resultado_busqueda_RUT);
  14. //imprimir el nombre del rut ingresado, es correcto por lo tanto la consulta es correcta
  15. echo $row['nombres'];
  16. //imprimo un mensaje si fue encontrado el rut
  17. if($row=!NULL){
  18.     echo"SI se encontro al socio";
  19. }else{
  20.     echo"NO se encotro al socio";
  21. }
  22. echo "<script lenguaje= 'javascript'>;
  23.      location.href= '../../Vistas/menuPrincipal.php';
  24.      </script >";
  25. echo "<script type=\"text/javascript\">alert(\" el socio fue ingresado correctamente\");    </script>";
  26. ?>
finalmente te muestro el archivo SocioDAO.php que es el que tiene el metodo buscar_socio_por_rut(); y realiza la consulta.
Código PHP:
Ver original
  1. <?php
  2. function buscar_socio_por_rut($rut_a_buscar){
  3.     $base_datos="csap";
  4.     $tabla="socio";
  5.     $conexion= mysql_connect("localhost", "kryzpo23", "xxx");
  6.     mysql_select_db($base_datos, $conexion);
  7.     @mysql_query("SET NAMES 'utf8'");
  8.     return $resultado=mysql_query("SELECT * FROM socio WHERE rut= '$rut_a_buscar'",$conexion);
  9. }
  10. ?>

bueno eso es todo lo que tengo, si pudieras explicar en mi codigo la solucion te agradeceria mucho, de antemano muchas gracias.