Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Busqueda anidada mysql

Estas en el tema de Busqueda anidada mysql en el foro de Mysql en Foros del Web. Estimados Consulto por lo siguiente. Tengo un buscador de productos el cual al igresar una plabla clave el mismo busca en el campo descricion de ...
  #1 (permalink)  
Antiguo 16/06/2011, 20:40
 
Fecha de Ingreso: julio-2010
Mensajes: 59
Antigüedad: 13 años, 9 meses
Puntos: 0
Busqueda anidada mysql

Estimados

Consulto por lo siguiente. Tengo un buscador de productos el cual al igresar una plabla clave el mismo busca en el campo descricion de la tabla productos que items de la tabla coinciden.Ahora en el buscador quiero agregarle los precios de los productos los cuales los tengo en una segunda tabla llamada "precio"(muy original) con el cual atraves del campo "codigo" de la tabla productos "productos" deberia buscar su identicon en el campo "codigo" de la tabla "precio" y de esa forma agregar el precio a el preducto encontrado.El codigo que utilizo es el siguiente
Código PHP:
Ver original
  1. <?php global $columna;
  2.  
  3. $columna = 0;
  4.  
  5.  
  6.  
  7. $buscar = $_POST['T1'];
  8.  
  9.  
  10.  
  11. if (!isset($buscar)){
  12.  
  13.       echo "Debe especificar una cadena a buscar";
  14.  
  15.       echo "</html></body> \n";
  16.  
  17.       exit;
  18.  
  19. }
  20.  
  21. $link = mysql_connect("localhost","usuario","contraseña");
  22.  
  23. mysql_select_db("base", $link);
  24.  
  25. $result = mysql_query("SELECT * FROM productos WHERE descripcion LIKE '%$buscar%' ORDER BY nombre", $link);
  26.  
  27. if ($row = mysql_fetch_array($result)){
  28.  
  29.       echo "<table width='780' border = '0'cellpadding='0' cellspacing='5'></tr> \n";
  30.  
  31. //Mostramos los nombres de las tablas
  32.  
  33.  
  34.  
  35. do {
  36.  
  37.  
  38.  
  39.  
  40.  
  41.             echo "<td><table border = '0'><form method='POST' action='mostrar.php'>  \n";
  42.  
  43.             echo "<tr><td><input type = 'hidden' name='T1' value = '".$row["id"]."'></td></tr> \n";
  44.  
  45.             echo "<tr><td><img src='".$row["fotochica"]."' border='1' alt='1'cellpadding='1' cellspacing='1'></td> \n";            
  46.            
  47.             echo "<td><center><b><h4>".$row["Nombre"]."</h4></b></center> \n";
  48.  
  49. //            echo "<td>".$row["codigo"]."</td> \n";
  50.  
  51.             echo "<form method='post' action='mostrar.php'>
  52.         <input type = 'hidden' name='T1'    value = '".$row["id"]."'>
  53.  
  54. <a href='mostrar.php?T1=".$row["id"]."'><img alt='verproducto' src='verproducto.jpg'></a>
  55.  
  56.  
  57.  
  58.  
  59. </form>";            
  60.  
  61.             echo "</form></table></td> \n";
  62.  
  63. $columna = $columna + 1;    
  64.  
  65.  
  66.  
  67. if($columna == 2){
  68.  
  69.    echo '</tr><tr>';
  70.  
  71.  $columna = 0;  
  72.  
  73. }  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83. } while ($row = mysql_fetch_array($result));
  84.  
  85.  
  86.  
  87.  
  88.  
  89.             echo "</td></tr></table> \n";
  90.  
  91. } else {
  92.  
  93. echo "No se ha encontrado el producto que usted desea, es posible que el mismo aun no se encuentre en la base de datos, pruebe con otra palabra clave o comuniquese con nuestros vendedores por el 2487 66 65.";
  94.  
  95. }
  96.  
  97. ?>

Si me dan una mano estaria muy agradecido, ya que no me da la imaginacion ni el conocimiento para arreglarlo.
Muchas gracias
  #2 (permalink)  
Antiguo 27/06/2011, 14:57
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Busqueda anidada mysql

Código SQL:
Ver original
  1. SELECT
  2.   PRO.*,
  3.   PRE.*
  4. FROM productos PRO
  5.   LEFT JOIN precios PRE
  6.     ON (PRE.codigo = PRO.codigo)
  7. WHERE PRO.descripcion LIKE '%$buscar%'
  8. ORDER BY PRO.nombre
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: php
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 21:22.