Foros del Web » Programando para Internet » PHP »

Mostrar resultado de busquedas en una misma hoja

Estas en el tema de Mostrar resultado de busquedas en una misma hoja en el foro de PHP en Foros del Web. Buenas tardes cordial saludo: Estoy realizando un ejercicio donde se me pide realizar la búsqueda de un producto determinado de acuerdo al código del mismo. ...
  #1 (permalink)  
Antiguo 30/03/2013, 16:35
 
Fecha de Ingreso: febrero-2007
Mensajes: 43
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Mostrar resultado de busquedas en una misma hoja

Buenas tardes cordial saludo:

Estoy realizando un ejercicio donde se me pide realizar la búsqueda de un producto determinado de acuerdo al código del mismo. Los resultados deben ser presentados en la misma pagina donde se hace la busqueda. Adjunto el código de los 3 archivos de lo que llevo hecho y que están enlazados para realizar la busqueda. El problema es que no se esta ejecutando la consulta. Que hago, no se que mas hacer. Agradezco la ayuda al respecto:


ClassBusqueda.php:


Código PHP:
Ver original
  1. <?php
  2. require("Conectar.php");
  3. class ClassBusqueda
  4. {
  5.     private $pBuscar;
  6.    
  7.     public function __construct()
  8.     {
  9.         $this->pBuscar=array();
  10.     }
  11.    
  12.     public function busqueda()
  13.     {
  14.         $sql="select * from productos where codigo ='".$_POST["codigo"]."'";
  15.         $res=mysql_query($sql,Conectar::con());
  16.         if(mysql_num_rows($res)==0)
  17.         {
  18.             header("Location:busc_producto.php?m=1");
  19.  
  20.         }else{
  21.             while($reg=mysql_fetch_assoc($res))
  22.             {
  23.                $this->pBuscar[]=$reg;
  24.             }
  25.         return $this->pBuscar;
  26.         header("Location:busc_producto.php?m=2");
  27.         }
  28.     }
  29. }





busc_producto.php


Código PHP:
Ver original
  1. <?php
  2. require("clases/ClassBusqueda.php");
  3. $obj=new ClassBusqueda();
  4. if(isset($_POST["busc"]) and $_POST["busc"]=="si")
  5. {
  6.     $obj->busqueda();
  7.     exit;
  8. }
  9.  
  10. ?>

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Documento sin título</title>
  5. </head>
  6.  

Código PHP:
Ver original
  1. <?php
  2. if(isset($_GET["m"]))
  3. {
  4.     switch ($_GET["m"])
  5.     {
  6.         case '1':
  7.         ?>
Código HTML:
Ver original
  1. <h3 style="color:#F00">El codigo digitado no existe</h3>
Código PHP:
Ver original
  1. <?php
  2.         break;
  3.        
  4.         case '2':
  5.               $datos=$obj->busqueda();
  6.               foreach($datos as $d)
  7.               {
  8.                ?>
Código HTML:
Ver original
  1. <strong>Nombre de producto</strong>
Código PHP:
Ver original
  1. <?php  echo $d["producto"];?>
Código HTML:
Ver original
  1. <br />
  2.                  <strong>Precio</strong>
Código PHP:
Ver original
  1. <?php echo $d["precio"]; ?>
Código HTML:
Ver original
  1. <br />
  2.                  <strong>Codigo</strong>
Código PHP:
Ver original
  1. <?php echo $d["codigo"];

Código PHP:
Ver original
  1. }
  2.         break;
  3.     }
  4. }
  5. ?>
Código HTML:
Ver original
  1. <h3>Busqueda de productos</h3>
  2. <form name="form" action="" method="post">
  3.  
  4. <input type="text" name="codigobus" />
  5. <hr />
  6. <input type="hidden" name="busc" value="si" />
  7. <input type="submit" value="buscar" title="Buscar" />
  8. </form>
  9. </body>
  10. </html>




Conectar.php



Código PHP:
Ver original
  1. <?php
  2. class Conectar
  3. {
  4.     public static function con()
  5.     {
  6.         $con=mysql_connect("localhost","root","");
  7.         if(!$con)
  8.         {
  9.             echo "Error sql";
  10.             exit;
  11.         }
  12.         mysql_query("SET NAMES 'utf8'");
  13.         mysql_select_db("modulo3");
  14.         return $con;
  15.     }
  16. }
  17. ?>
  #2 (permalink)  
Antiguo 31/03/2013, 06:29
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 13 años, 4 meses
Puntos: 181
Respuesta: Mostrar resultado de busquedas en una misma hoja

Bueno, al parecer la logica esta bien. No detecte ningún error a ojo de buen cubero. Cosas que deberias revisar por tu cuenta:

Código PHP:
$sql="select * from productos where codigo ='".$_POST["codigo"]."'"
Pegale un echo y mira que te imprime, si el código es numérico y lo pones en comillas simples pues resultado como medio complicado que genere algo.

En el archivo donde se supone que estas generando la consulta encuentro un problema, yo no veo que estes llamando a la clase que realiza la consulta. (No vi el require por ningún lado)

Por otro lado encontre algo muy raro y es que supuestamente llenas un arreglo con el resultado de tu búsqueda pero en ningún momento veo que hagas uso de ese resultado posteriormente.

Código PHP:
 break;
       
        case 
'2':
              
$datos=$obj->busqueda();
              foreach(
$datos as $d)
              { 
Por ahi algo no me cuadra muy bien que digamos. Deberias revisar bien esa parte porque pareciera que hicieras dos veces el objeto búsqueda, cosa que no tiene mucho sentido.
__________________
Blog de humor http://elcuasatar.net63.net/

Etiquetas: busquedas, hoja, html, mysql, resultado, resultados, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:33.