Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/10/2003, 20:52
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Las busquedas debes hacerlas usando SQL .. Consultas "condicionales" y si quieres con opción "LIKE" y comodines (wildcards) para que encuentre .. toda coincidencia ..


SELECT * FROM tabla WHERE campo1 LIKE '%$buscar%' AND otrocampo LIKE '%$buscar%'

y así sucesivamente con todos los campos que quieras buscar de esa tabla.

Si estás trabajando con una tabla para cada producto: una tabla para tus "ensaladas" .. otra para las "bebidas" ... Lo ideal sería que tubieras sólo una tabla para tus "productos" y un campo que defina que tipo de producto es: si es una ensalada, bebida o lo que corresponda .. Así realizarías uno de los principales "conceptos" de las Base de datos que es la "normalización" ..

De esta forma .. los links tuyos apuntaría a un sólo script

productos.php?id=1
productos.php?id=25

Y en tu consulta por ese registro .. ya obtendrías la categoría a la que pertenece ..

A todo esto . una tabla extra para guardar las categorías de tus productos (para mantener la integridad referencial) . y en tu tabla productos para el campo "categoria" .. sólo guardar un identificador (el ID de tu tabla "categoria")

Si tu aplicación ya trabaja con X tablas para cada producto .. (deberías pensarte lo que te propogo o tenerlo en cuenta para una próxima versión o futuras apliaciones tuyas) .. debes realizar tantas consultas como la que puse el ejemplo como tablas tengas .. Te vendría bien usar un array con el nombre de tus tablas (que van en función a tus productos que tengas) . para así ver si apareció el producto en la tabla "bebidas" .. formar el link correspondiente ..

Código PHP:
$array_tablas_productos=array("bebidas","ensaladas","etc");

foreach(
$array_tablas_productos as $tabla){

$sql="SELECT * FROM $tabla WHERE campo1 LIKE '%$buscar%' AND otrocampo LIKE '%$buscar%'";
$consulta=mysql_query($sql);

// cuentas los registros obtenidos con mysql_num_rows() .. o bien usas COUNT() en el SQL y los obtienes con mysql_result() ..

if ($total 1){
  while (
$row=mysql_fetch_array($consulta)){
     echo 
"<a href=$tabla.php?id$tabla=$row['id']>$row['nose']</a>";
  }
}


Mas o menos esa seria la idea .. Un buscador así no es nada optimo .. lo ideal es tener una sóla tabla y usar más SQL en la medida de lo posible ..


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 22/10/2003 a las 20:57