Foros del Web » Programando para Internet » PHP »

Ayudita con buscador - Instacias SQL

Estas en el tema de Ayudita con buscador - Instacias SQL en el foro de PHP en Foros del Web. Hola a todos mi duda reside aca, quiero buscar en 2 columnas en vez de una sola como me permite el dreamwaver. debe ser una ...
  #1 (permalink)  
Antiguo 01/12/2005, 18:41
 
Fecha de Ingreso: agosto-2003
Mensajes: 39
Antigüedad: 14 años, 4 meses
Puntos: 0
Ayudita con buscador - Instacias SQL

Hola a todos mi duda reside aca, quiero buscar en 2 columnas en vez de una sola como me permite el dreamwaver. debe ser una tontera pero bueno no me sale.

Código PHP:
"SELECT * FROM lista_de_hoteles WHERE categoria = '%s' ORDER BY nombre ASC" 
eso seria lo que ve una sola columna que se llama "categoria" y yo quisiera leer en "categoria" y en "nombre" probe poniendo AND y no anda probe poniendo OR y no anda, que tengo que poner :S, comas? punto y coma? parece una tontera pero no me sale. desde ya muchas gracias :D y ahora pongo el buscador completo para que lo analicen cualquier cosa.

Código PHP:
<?php 
$maxRows_Recordset1 
10
$pageNum_Recordset1 0
if (isset(
$_GET['pageNum_Recordset1'])) { 
  
$pageNum_Recordset1 $_GET['pageNum_Recordset1']; 

$startRow_Recordset1 $pageNum_Recordset1 $maxRows_Recordset1

$colname_Recordset1 "1"
if (isset(
$_POST['buscador'])) { 
  
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $_POST['buscador'] : addslashes($_POST['buscador']); 

mysql_select_db($database_conexion$conexion); 
$query_Recordset1 sprintf("SELECT * FROM lista_de_hoteles WHERE categoria = '%s' ORDER BY nombre ASC"$colname_Recordset1); 
$query_limit_Recordset1 sprintf("%s LIMIT %d, %d"$query_Recordset1$startRow_Recordset1$maxRows_Recordset1); 
$Recordset1 mysql_query($query_limit_Recordset1$conexion) or die(mysql_error()); 
$row_Recordset1 mysql_fetch_assoc($Recordset1); 

if (isset(
$_GET['totalRows_Recordset1'])) { 
  
$totalRows_Recordset1 $_GET['totalRows_Recordset1']; 
} else { 
  
$all_Recordset1 mysql_query($query_Recordset1); 
  
$totalRows_Recordset1 mysql_num_rows($all_Recordset1); 

$totalPages_Recordset1 ceil($totalRows_Recordset1/$maxRows_Recordset1)-1
?>
  #2 (permalink)  
Antiguo 01/12/2005, 21:10
 
Fecha de Ingreso: mayo-2005
Mensajes: 72
Antigüedad: 12 años, 6 meses
Puntos: 1
hola, si quieres buscar en una base de datos lo mas sencillo es usar " LIKE " mira este ejemplo de la sentencia que podría ser para tu buscador

SELECT * FROM lista_de_hoteles WHERE categoria LIKE '% VARIABLE POST O GET %' OR nombre LIKE '% VARIABLE POST O GET %' ORDER BY nombre ASC

eso es cualquier duda pregunta aqui..
saludos!
__________________
Diseñador Gráfico / Programador PHP / Cisco Certified Network Associate (CCNA) / CSS / Java Scripting / SQL / C-Scripting / Entre otros...

:cool:
BOX
  #3 (permalink)  
Antiguo 01/12/2005, 23:32
 
Fecha de Ingreso: agosto-2003
Mensajes: 39
Antigüedad: 14 años, 4 meses
Puntos: 0
Original:
Código PHP:
"SELECT * FROM lista_de_hoteles WHERE categoria = '%s' ORDER BY nombre ASC" 
Asi quedaria modificado? la verdad no le entiendo mucho al tema pero trato de aprender :D
Código PHP:
SELECT FROM lista_de_hoteles WHERE categoria LIKE '% $_POST['buscador'] %' OR nombre LIKE '% $_POST['buscador'] %' ORDER BY nombre ASC 
si lo pongo asi me tira este error:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\appserv\www\hoteles\buscador.php on line 15


NADIE HIZO UN BUSCADOR CON EL DREAMWEAVER MX, TAN DIFICIL ES DECIRLE BUSCA EN 2 EN VEZ DE UNA COLUMNA :( JAJA

MUCHISIMAS GRACIAS CAPO, ESPERO NO MOLESTARTE MUCHO Y TAMBIEN PODER AYUDARTE ALGUN DIA.
  #4 (permalink)  
Antiguo 02/12/2005, 02:38
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
NADIE HIZO UN BUSCADOR CON EL DREAMWEAVER MX, TAN DIFICIL ES DECIRLE BUSCA EN 2 EN VEZ DE UNA COLUMNA :( JAJA
Te apuesto pocos aquí dependen de DW para hacer las cosas... ni se recomienda.

Cita:
eso seria lo que ve una sola columna que se llama "categoria" y yo quisiera leer en "categoria" y en "nombre" probe poniendo AND y no anda probe poniendo OR y no anda,
¿pero cuál es el objetivo?; ¿cuál es la condición que buscas?, ¿qué fue lo que probaste --código--?

Algo así podría ser:
Código PHP:
$query_Recordset1 sprintf("SELECT * FROM lista_de_hoteles WHERE categoria = '%s' AND nombre = '%s' ORDER BY nombre ASC"$colname_Recordset1$variable2); 
Donde $variable2 es el valor que buscará en la columna "nombre" y la query arrojará solo los datos de las filas que contengan AMBOS valores (condición AND)...

Cita:
si lo pongo asi me tira este error:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\appserv\www\hoteles\buscador.php on line 15
.. y cuál es la línea 15?, Cuál es el código (ya modificado) que tira ese error?. Por el mensaje seguramente es un simple error... pero hay que ver código para saber cuál.

Otra cosa... en la segunda query que planteas manejas $_POST lo cuál da a entender intentas recojer valordes de un formulario. ¿haz comprobado esto de haga correctamente?.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 02/12/2005 a las 02:44
  #5 (permalink)  
Antiguo 05/12/2005, 02:00
 
Fecha de Ingreso: agosto-2003
Mensajes: 39
Antigüedad: 14 años, 4 meses
Puntos: 0
che agradesco eternamente lo que trataste de ayudarme pero evidentemente no tengo el nivel para lograr hacerlo andar, ahora mi duda es si conoces algun mini tutorial de como armar un buscador basico y si te enseña si lo queres hacer avanzado seria buenisimo, encontre muchisimos por internet, pero obvio vos debes tener la posta desde ya muchisimas gracias y si ese tutorial especifica si quiero buscar en 2 columnas seria buenisimo sino seguiria en lo mismo :S un saludo suerte ! espero poder ayudarte alguna vez :D
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 16:18.