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

Problema al mostrar ORDER BY ID DESC en una paginación en php

Estas en el tema de Problema al mostrar ORDER BY ID DESC en una paginación en php en el foro de Bases de Datos General 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 10/02/2011, 13:25
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 en php

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...
  #2 (permalink)  
Antiguo 10/02/2011, 13:41
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 3 meses
Puntos: 57
Respuesta: Problema al mostrar ORDER BY ID DESC en una paginación en php

La sentencia SQL debe ser algo como

Código SQL:
Ver original
  1. SELECT * FROM tabla
  2. WHERE ...
  3. ORDER BY campo DESC
  #3 (permalink)  
Antiguo 10/02/2011, 15:14
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 en php

Hola posman,
Lo he puesto con el orden que me has aconsejado con el (ORDER BY ID DESC) al final
Código PHP:
SELECT FROM tabla
WHERE 
...
ORDER BY campo DESC 
ahora no me da error pero tampoco me ordena la consulta por orden descendente:

Código PHP:
$qry "SELECT * FROM clientes";
$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%' ORDER BY ID DESC"
;

  #4 (permalink)  
Antiguo 10/02/2011, 15:44
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Problema al mostrar ORDER BY ID DESC en una paginación en php

Hola Polu:

¿De qué tipo es tu campo ID?, ¿la consulta te regresa datos pero no te los regresa ordenados o simplemente no te muestra ningún resultado?

Saludos
Leo.
  #5 (permalink)  
Antiguo 10/02/2011, 16:07
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Problema al mostrar ORDER BY ID DESC en una paginación en php

Creo que es un problema PHP. Si incluyes dentro de la condición el order by y no se cumple la condición, no ordenará descendente la búsqueda primera.
Código PHP:
Ver original
  1. $qry = "SELECT * FROM clientes";
  2. $searchText = "";
  3. if($_REQUEST['search_text']!=""){
  4.     $searchText = $_REQUEST['search_text'];
  5.     $qry .=" where ID like '$searchText%'
  6.            or nombre like '$searchText%'
  7.            or empresa like '$searchText%'
  8.            or ciudad like '$searchText%'
  9.            or telefono like '$searchText%'
  10.            or email like '$searchText%'
  11.            or fecha like '$searchText%'";
  12. }  
  13. $qry.=" ORDER BY id DESC";

De todas formas, pide ayuda en el foro PHP, pues hay funciones para controlar que no se ingresen datos mucho mejores que lo que estás usando.
  #6 (permalink)  
Antiguo 10/02/2011, 17:52
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 en php

Hola Leo,
El campo ID es INT no nulo y autoincrementar, con respecto a la consulta cuando lo he probado ordenado descendente:
Código PHP:
$qry "SELECT * FROM clientes ORDER BY id DESC"
cuando cargo la página me los ordena descendente pero en cuanto le doy a buscar algun nombre, me sale este error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where ID like 'Espejo%' or nombre like 'Espejo%' or empresa like '' at line 1.

Saludos,
Polu
  #7 (permalink)  
Antiguo 11/02/2011, 09:51
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Problema al mostrar ORDER BY ID DESC en una paginación en php

Hola Polu:

El problema está entonces que no se está formando correctamente la sentencia SQL.
En lo particular no veo nada extraño, pero no estoy familiarizado con el código PHP, por lo que no sé si por ahí esté el problema.

Igual y sería conveniente que imprimieras el resultado de la variable qry para ver cómo quedó formada tu consulta, verifica que no te esté faltando alguna comilla o que no se estén pegando dos sentencias. Verifica también el nombre de tus campos.

Saludos
Leo.
  #8 (permalink)  
Antiguo 11/02/2011, 10:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Problema al mostrar ORDER BY ID DESC en una paginación en php

Pide ayuda en el foro PHP, porque esto a mí no me convence:
'$searchText%'
así sería distinto '{$searchText}%'

pero consúltalo allí; ellos son los especialistas
  #9 (permalink)  
Antiguo 14/02/2011, 14:36
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 en php

Hola a todos,
Perdonar si no he respondido antes, no me gusta ser desagradecido, estoy trabajando fuera y no he tenido acceso al pc.

Estoy intentándolo en el foro PHP como aconseja Jurena

Gracias a todos,,

Saludos

Etiquetas: order, 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 17:44.