Foros del Web » Programando para Internet » PHP »

tengo un problema con un sistema de post

Estas en el tema de tengo un problema con un sistema de post en el foro de PHP en Foros del Web. por favor ayudenme es que no le encuentro la solucion debida a esto. primero la consulta: Código PHP: $sql_in = execute ( "SELECT L.*, P.* FROM userlist as L right join post as P  on P.userid = L.relationid WHERE (L.userid= '" . ...
  #1 (permalink)  
Antiguo 02/01/2010, 23:55
 
Fecha de Ingreso: julio-2009
Mensajes: 16
Antigüedad: 14 años, 9 meses
Puntos: 0
tengo un problema con un sistema de post

por favor ayudenme es que no le encuentro la solucion debida a esto.
primero la consulta:
Código PHP:
$sql_in=execute("SELECT L.*, P.* FROM userlist as L right join post as P 
on P.userid = L.relationid WHERE (L.userid= '"
.$_SESSION['userid_s']."' 
AND L.friend = 'yes') OR P.userid='"
.$_SESSION['userid_s']."' 
ORDER BY P.postid DESC LIMIT 5"
); 
y las tablas:

USERLIST
--------------------
userid=INT
relationid=INT
friend=VARCHAR(YES, NO)



POST
-------------
userid=INT
post=TEXT
date=DATE
postid=INT
up=INT
down=INT

bueno el problema es que cada vez que imprimo:
Código PHP:
 if (mysql_num_rows($sql_in)!=0) {
while(
$r=mysql_fetch_array($sql_in)) { 
me toca colocarle:
Código PHP:
if ($postid!=$id) { //to not repeat twice $_SESSION['userid_s'] post
$id=$r['postid']; 
ya que cuando se encuentra un post con userid=$_SESSION['userid_s'] osea con el userid de la session del usuario en turno lo imprime tantas veces amigo tenga esta persona.
POr ejemplo si yo con el numero de usuario 1 tengo amistad con el usuario 2 y el numero de usuario 3 en la tabla USERLIST debera de aparecer algo como esto:

USERLIST
-----------
userid relationid friend
1 2 yes
2 1 yes
1 3 yes
3 1 yes


En este caso el post que sigue si tiene el numero de usuario 1 lo repetira 2 veces ya que en la consulta aparece:

Código PHP:
P.userid L.relationid 
y tengo 2 amigos...

Por favor me gustaria no tenber que colocar este condicional:
Código PHP:
if ($postid!=$id) { //to not repeat twice $_SESSION['userid_s'] post
$id=$r['postid']; 
que es el que me ayuda momentaneamente a que esto no pase y elaborar una sola consulta que se encargue de todo y qeu sea lo mas simle y entendible posible...

Muchas gracias de antemano y que Dios les bendiga en este nuevo año 2010
  #2 (permalink)  
Antiguo 03/01/2010, 01:46
Avatar de polin2bclan  
Fecha de Ingreso: julio-2008
Mensajes: 73
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: tengo un problema con un sistema de post

Intenta agrupando:
Código PHP:
$sql_in=execute("SELECT L.*, P.* FROM userlist as L right join post as P 
on P.userid = L.relationid WHERE (L.userid= '"
.$_SESSION['userid_s']."' 
AND L.friend = 'yes') OR P.userid='"
.$_SESSION['userid_s']."' 
GROUP BY P.userid
ORDER BY P.postid DESC LIMIT 5"
); 
Saludos
  #3 (permalink)  
Antiguo 04/01/2010, 11:06
 
Fecha de Ingreso: julio-2009
Mensajes: 16
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: tengo un problema con un sistema de post

gracias pero esoc no soluciona mi problema, porque como tengo unbotoncito more estilo twitter entonces ps si me funciona para los que me muestra primero pero si le doy click en more no me carga mas nada...

PD. el more lo saque de aca:
http://www.9lessons.info/2009/12/twitter-style-load-more-results-with.html

Etiquetas: post, sitemap
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:11.