Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/11/2009, 02:59
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Respuesta: Hola.. no se que poner de titulo pq no se que sera!

Código php:
Ver original
  1. $sql = $db->query("SELECT "
  2.              ."comments.post_id, "
  3.              ."comments.is_register,  "
  4.              ."comments.text, "
  5.              ."comments.autor, "
  6.              ."comments.email, "
  7.              ."post.id, "  
  8.              ."post.date as newsdate,  "
  9.              ."post.title,  "
  10.              ."post.alt_name  "
  11.    ."FROM " . PREFIX . "_comments as comments, "
  12.                   . PREFIX . "_post as post  "
  13.    ."WHERE post.id=comments.post_id "
  14.    ."ORDER BY comments.date DESC  "
  15.    ."LIMIT 0,".LIMITCOMM);

Si quieres aprender intenta analizar el SELECT (es decir la parte Sql del script php que nos das) esta escrito en un Ingles muy basico.

SELECT ===> SELECCIONA

comments.post_id
nombreTABLA.nombreCAMPO <==== LO QUE SE SELECCIONA (lista de campos)

FROM tablas <======= DE DONDE SE SELECCINA (lista de tablas)

WHERE <===== DONDE se cumpla que....

post.id=comments.post_id <====== CONDICION lo que se debe cumplir

ORDER BY <==== ORDENADO POR

Una vez vistas las partes vamos a analizar el conjunto


Tenemos

post.id en la lista de campos dificilmente obtendremos comments.id

tambien tenemos

...
comments.post_id,
...
post.id
...
WHERE post.id=comments.post_id


ahí sobra algo puesto que si se cumple post.id=comments.post_id luego para que le dices que te de los dos ( si son iguales con uno bastará...no?)

Yo haria lo siguiente para no tener que cambiar muchas cosas...

Código php:
Ver original
  1. $sql = $db->query("SELECT "
  2.               ."comments.id, "
  3.               ."comments.post_id, "
  4.               ."comments.is_register,  "
  5.               ."comments.text, "
  6.               ."comments.autor, "
  7.               ."comments.email, "
  8.               ."post.date as newsdate,  "
  9.               ."post.title,  "
  10.               ."post.alt_name  "
  11.   ."FROM " . PREFIX . "_comments as comments, "
  12.                  . PREFIX . "_post as post  "
  13.                ."WHERE post.id=comments.post_id "
  14.                ."ORDER BY comments.date DESC  "
  15.                ."LIMIT 0,".LIMITCOMM);
Si?

Quim

Última edición por quimfv; 23/11/2009 a las 07:48