Nueva pregunta

Pregunta:

Fecha: 28-02-2021 04:57:06 (En Español)

Ayuda para montar una una consulta con php mysqli.[Sin respuesta]

Hola buenas de nuevo a todos.

Tengo una consulta compleja que no consigo hacer funcionar.

Con las siguientes tablas:

usuarios ---> Los datos de los usuarios
id*, nombre, apellido1....

log --->
idlog, codigou* (id de usuario), kms, fechal...

amigos
id, idus(id del que envió la invitación), idusamigo(id del que aceptó la invitación), estadook(Es igual a 2 cuando son amigos)

La consulta quiero mostrar el log ( un listado con los resultados del usuario logeado y de los amigos ).
Yo lo tenía de la siguiente manera: Había creado un array con los amigos. Y leía el log si era del usuario logeado o de un amigo (si está en el array idus o idusmigo--> uno de ellos es el usuario logeado y el otro el amigo o viceversa) lo muestra.
Tengo hecha una especie de scroll inifinto pero con enlace de "cargar mas" para que cargue de 7 en 7 registros pero si hay uno que no es amigo lo salta y ya no muestra 7. Entonces tengo que hacer la consulta de otra manera y sin usar el array de amigos sino haciendolo todo en la consulta.

Así lo tenía al principio:

$sqlQuery = "SELECT * FROM log INNER JOIN usuarios WHERE log.codigou = usuarios.idu ORDER BY fechal DESC LIMIT 7";

Pero ahí lee todo el log, entonces miraba si el codigou estaba en el array de amigos.

Al hacerle el scroll con "cargar mas" ya no me lo hace de 7 en 7 incluso puede que ni salgan datos si en ese intervalo no tiene amigos, por lo que intento hacer la consulta completa y no hay manera. Ahora intento esto:

// $b es el id del usuario

$sqlQuery = "SELECT * FROM log INNER JOIN usuarios INNER JOIN amigos WHERE (amigos.idus = '$b' || amigos.idusamigo = '$b' && amigos.estadok = 2) ORDER BY fechal DESC LIMIT 7";

Ahora solo me muestra un listado sin sentido y no se que está mal o si tendría que hacerla de otra manera. amigos.idus y amigos.idusamigo lo tengo = $b porque el contrario es el amigo, para que lo muestre.

¿Alguna idea? Gracias de antemano.









Etiquetas: Votos: 0 - Respuestas: 0 - Vistas: 5 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

No hay respuestas para esta pregunta, se el primero en responder.
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com