Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2011, 18:33
Vendetta
 
Fecha de Ingreso: febrero-2008
Mensajes: 269
Antigüedad: 16 años, 1 mes
Puntos: 5
Problema mostrando datos

Buenas~

He estado haciendo una especie de tienda para un juego tipo web. Me funciona todo, comprar, retirar, muestra tus items en otra pagina, etc...

El problema viene al mostrar los objetos en pantalla, la lista para comprar. Tengo dos tablas, una para los objetos y otra para la relación usuario-objeto. Yo muestro la lista de items en la tienda y los marco con comprado o no, segun la tabla "usario-objeto". El problema es que si yo compro un objeto y otro usuario compra el mismo, en la tienda salen dos items iguales. Uno es el mio que aparece como comprado y otro es el del usuario que no aparece como comprado porque lo tiene el otro usuario.

El caso es que esto no deberia suceder, debería mostrar la lista y marcar comprado o no, segun si lo tienes

Código PHP:
Ver original
  1. $q = "SELECT t.*, tu.*, r.ng_rango FROM sw_tecnicas t
  2.          LEFT JOIN sw_tecnicas_users tu ON t.id = tu.tc_tecnica
  3.          LEFT JOIN sw_rangos r ON r.ng_id = t.rango
  4.          WHERE t.clan = '1' AND t.clan_ = '" . $ficha['fx_clan'] . "' AND tu.tc_user = $id
  5.          ORDER BY t.precio, t.rango ASC";
  6.     $res = $db->sql_query($q);  
  7.     while( $row = $db->sql_fetchrow($res) ) {
  8.         $techc[] = $row;
  9.     }

Este es el código con la consulta que utilizo. He estado probando y si filtro por "tc_user = $id" los items no se repiten si otro lo compra pero obviamente, solo muestra los items comprados, los que no tengo no los muestra.

Entonces, realmente no se que hacer para que no se repita y por más que lo pienso se me hace complicado...

Tengo que mostrar todos los objetos pero los comprados por otros usuarios no, aun asi es complicado porque tengo que saber cuales compré yo para poder marcarlas como compradas e__e

Es un poco lioso creo pero me resulta dificil explicarme mejor...

Espero podais ayudarme~