Foros del Web » Programando para Internet » PHP »

Ordenar resultados Sql

Estas en el tema de Ordenar resultados Sql en el foro de PHP en Foros del Web. Hola amigos, les consulto sobre un sistema de noticias que tengo en mi web( la estoy creando todavia), y lo que quiero es que al ...
  #1 (permalink)  
Antiguo 16/07/2009, 13:01
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Ordenar resultados Sql

Hola amigos, les consulto sobre un sistema de noticias que tengo en mi web( la estoy creando todavia), y lo que quiero es que al mostrar las noticias, muestre desde la ultima que se agrego, y me muestra desde la primera. He intentado usar ORDER BY, pero no me funciona, me sale mysql_error.

Les paso el codigo para que lo vean (el codigo no es mio):

Código PHP:
<?php
// verificamos si se ha enviado
// alguna variable via GET
if(isset($_GET['id']) && $_GET['categoria']){
    
// asignamos los valores
    // a las variables que usaremos
    
$cat_ID $_GET['id'];
    
$categoria $_GET['categoria'];
    
$clausula "WHERE notCategoriaID = '$cat_ID'";
    
// tambien armamos el titular de la pagina
    
$titulo "Noticias de $categoria";
}else{
    
// de lo contrario
    // el titulo sera general
    
$titulo "Todas las noticias";
}
// armamos la consulta
$sqlQueryNot mysql_query("SELECT notTitulo, notTexto FROM sn_noticias
                            $clausula"
$db_link)
                            or die(
mysql_error);
echo 
"<h4>$titulo</h4>";
// mostramos las noticias,
// otra vez usanod un bucle while
while($rowNot mysql_fetch_array($sqlQueryNot)){
    echo 
"<h2>$rowNot[notTitulo]</h2>";
    echo 
nl2br("$rowNot[notTexto]");
    echo 
'<hr class="anuncios_right" />';
}
?>
Y podria ser que se pudieran poner una cierta cantidad de noticias a mostrar???

Que me pueden decir???? muchas gracias
  #2 (permalink)  
Antiguo 16/07/2009, 13:12
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Ordenar resultados Sql

order by fecha desc;
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 16/07/2009, 13:13
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ordenar resultados Sql

Por favor, no coloques código de programación en el foro de Bases de Datos.
Véase: http://www.forosdelweb.com/f21/funci...-datos-413499/

Translado el tema al foro de PHP.

En cuanto a tu pregunta, con ORDER BY debería funcionar siempre y cuando la sintaxis final sea correcta, ¿cómo lo intentaste?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 16/07/2009, 13:16
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ordenar resultados Sql

Cita:
Iniciado por David Ver Mensaje
con ORDER BY debería funcionar siempre y cuando la sintaxis final sea correcta, ¿cómo lo intentaste?
Y también, cuál es el error que te muestra? Recuerda que decir "me salió error" no es suficiente

  #5 (permalink)  
Antiguo 16/07/2009, 13:18
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Ordenar resultados Sql

Disculpen por lo del codigo, es q soy nuevo, todavia me queda mucho por aprender...

Yo lo intente de esta forma:

Código PHP:
// armamos la consulta
$sqlQueryNot mysql_query("SELECT notTitulo, notTexto FROM sn_noticias order by id desc
                           $clausula "
$db_link)
                            or die(
mysql_error); 
y sigue mal...
  #6 (permalink)  
Antiguo 16/07/2009, 13:21
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Ordenar resultados Sql

Ya ví que era $clausula
Prueba como dice david.

Tienes un campo fecha? haz intentado ordenar por fecha como te dije?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 16/07/2009, 13:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ordenar resultados Sql

Como en $clausula tienes las condiciones, el ORDER BY debe ir después. Prueba así:
Código php:
Ver original
  1. "SELECT ... FROM ... $clausula ORDER BY id DESC"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 16/07/2009, 13:22
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Ordenar resultados Sql

Lo k pasa es que tu cosulta esta mal organizada
Se supone que deberia de ser haci

Código PHP:

// armamos la consulta 
$sqlQueryNot mysql_query("SELECT notTitulo, notTexto FROM sn_noticias $clausula order by id desc "$db_link
                            or die(
mysql_error); 
  #9 (permalink)  
Antiguo 16/07/2009, 13:25
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Ordenar resultados Sql

Hay lo logre!!....muchas gracias amigos....la verdad q es bueno que haya gente como uds--

y si no les molesta..jajaj----tmb me gustaria saber si puedo mostrar una cantidad x de resultados.....como seria eso??
  #10 (permalink)  
Antiguo 16/07/2009, 13:26
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Ordenar resultados Sql

SELECT ... FROM ... $clausula ORDER BY id DESC limit numero_de_registros
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #11 (permalink)  
Antiguo 16/07/2009, 13:26
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ordenar resultados Sql

Tienes que usar LIMIT:
Código MySQL:
Ver original
  1. SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT 0, n;
Donde n es el número de registros a mostrar.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 16/07/2009, 13:27
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Ordenar resultados Sql

Pues eso se logra con
Limit

Busca algunas referencias sobre eso

limit 0,x
  #13 (permalink)  
Antiguo 16/07/2009, 13:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 177
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Ordenar resultados Sql

usa LIMIT 0, 30
  #14 (permalink)  
Antiguo 16/07/2009, 13:29
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Ordenar resultados Sql

si funciona perfecto XD:...pero pra los resultados que no se ven... se podria hacer una paginacio??? el tema es que no quiero que se cargue tanto la pag notcias.php con tantas noticias...
  #15 (permalink)  
Antiguo 16/07/2009, 13:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ordenar resultados Sql

Puedes usar este paginador.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #16 (permalink)  
Antiguo 16/07/2009, 13:48
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Ordenar resultados Sql

Lo lei.. per la verdad q nos e como implementarlo con el codigo ese :S-----
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:53.