Foros del Web » Programando para Internet » PHP »

Problema al mostrar ORDER BY ID DESC en una paginación de busqueda en php y mysql.

Estas en el tema de Problema al mostrar ORDER BY ID DESC en una paginación de busqueda en php y mysql. en el foro de PHP en Foros del Web. Hola, ¿Alguien puede orientarme?. He construido un sencillo buscador para mi db con paginación incluida, mi problema es el siguiente: Si le pido a mi ...
  #1 (permalink)  
Antiguo 12/02/2011, 17:15
Avatar de Polu  
Fecha de Ingreso: febrero-2003
Mensajes: 135
Antigüedad: 21 años, 2 meses
Puntos: 0
Problema al mostrar ORDER BY ID DESC en una paginación de busqueda en php y mysql.

Hola, ¿Alguien puede orientarme?.

He construido un sencillo buscador para mi db con paginación incluida, mi problema es el siguiente:
Si le pido a mi db que me muestre los resultados de la manera simple, no me da problemas:

Código PHP:
$qry "SELECT * FROM clientes"
Pero si lo hago de manera que me los muestre por orden descendente, al cargar la página, me los muestra sin ningún problema pero, cuando le doy a la opción buscar en la base de datos, no me muestra nada y me da un error de conflicto con like.
El código de más abajo es el que me dá el error:

Código PHP:
$qry "SELECT * FROM clientes ORDER BY id DESC";
$searchText "";
if(
$_REQUEST['search_text']!=""){
    
$searchText $_REQUEST['search_text'];
    
$qry .=" where id like '$searchText%' 
            or nombre like '$searchText%' 
            or empresa like '$searchText%'
            or ciudad like '$searchText%'
            or telefono like '$searchText%'
            or email like '$searchText%'
            or fecha like '$searchText%'"
;

Saludos...

Última edición por Polu; 12/02/2011 a las 17:17 Razón: me he equivocado
  #2 (permalink)  
Antiguo 12/02/2011, 17:38
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Problema al mostrar ORDER BY ID DESC en una paginación de busqueda en php

te recomiendo que depures la consulta
Código PHP:
Ver original
  1. mysql_query(/*consulta*/) or die(mysql_error());
para que veas que te va a mostrar un error de sintaxis grande, esto porque?? porque la sintaxis del SELECT si te fijas las condiciones van antes de darle el valor como las va a ordenar, aql momento de hacer la concatenación que estas haciendo le estas indicando las condiciones luego de ordenar y eso da un error, que debes de hacer construye tu consulta para que puedas meter condiciones ejemplo

Código PHP:
Ver original
  1. if($_REQUEST['search_text']!=""){
  2. $condiciones = "campo = '".$_REQUEST['search_text']."'";
  3. /*y todas las condiciones que coloques */
  4. $query = mysql_query("SELECT * FROM tabla WHERE $condiciones ORDER BY campo") or die(mysql_error());
  5. }
  6. else{
  7.     $query = mysql_query("SELECT * FROM tabla ORDER BY campo") or die(mysql_error());
  8. }
espero te sirva de ayuda y de guia lo que te coloque, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 14/02/2011, 14:31
Avatar de Polu  
Fecha de Ingreso: febrero-2003
Mensajes: 135
Antigüedad: 21 años, 2 meses
Puntos: 0
Respuesta: Problema al mostrar ORDER BY ID DESC en una paginación de busqueda en php

Hola Carlos,
Perdona si no he respondido antes, estoy trabajando fuera y no he tenido acceso al pc.

He intentado hacer lo que me dices pero no me sale, tendré que aprender algo más el lenguaje sql, hasta ahora sólo había hecho consultas facilonas y aquí me he complicado algo más con la paginación. De todas formas quitando la el "ORDER BY id DESC" me va bien aunque no me lo ordene, espero aprender con el tiempo.

Gracias a todos,,

Saludos

Última edición por Polu; 14/02/2011 a las 14:38

Etiquetas: mysql, order, busquedas
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 17:42.