Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317

    Problema query ( l'ennesimo -.- )

    Okkei, credo di avercela fatta a capire il funzionamento di tutto xD, però questa query non riesco a crearla...

    Query:
    Codice PHP:
    $q $database->query("SELECT u.*, g.*, o.* FROM users AS u INNER JOIN groups AS g ON g.group_id = u.groups LEFT JOIN online AS o ON o.user_id = u.user_id WHERE u.user_id = ".(int)$user_data[0]." AND u.user_password = '".$database->escape($user_data[1])."'") or die(mysql_errno() . ':' mysql_error()); 
    Questa query funziona, solo che devo pure estrarre i messaggi privati NON letti...

    la tabella dei pm è:
    Codice PHP:
    -- --------------------------------------------------------
    -- 
    Crea tabella per i messaggi privati
    -- --------------------------------------------------------
    DROP TABLE IF EXISTS `mp`;

    CREATE TABLE `mp`(
        `
    midint unsigned NOT NULL auto_increment,
        `
    namevarchar(100NOT NULL default '',
        `
    texttext,
        `
    readtinyint unsigned NOT NULL default '0',
        `
    sendervarchar(25NOT NULL default '',
        `
    sender_idsmallint unsigned NOT NULL default '0',
        `
    receivervarchar(25NOT NULL default '',
        `
    receiver_idsmallint unsigned NOT NULL default '0',
    PRIMARY KEY(`mid`)
    )
    TYPE=MyISAM DEFAULT CHARSET=utf8
    Ho provato a fare una Left Join per estrarre tutti i i messaggi NON letti in questo modo ( però non funziona ):
    Codice PHP:
    SELECT u.*, g.*, o.*, COUNT(read) as num_mp
    FROM users 
    AS 
    INNER JOIN groups 
    AS g ON g.group_id u.groups 
    LEFT JOIN online 
    AS o ON o.user_id u.user_id 
    LEFT JOIN mp 
    AS pm ON receiver_id u.user_id
    WHERE read 
    AND
    u.user_id "{id_utente_cookie}" AND
    u.user_password '"{pass_utente_cookie}"'") 
    suggerimenti ???

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    ho risolto da solo ( meglio così ), se a qualcuno può essere d'aiuto posto la query:
    Codice PHP:
    SELECT u.*, g.*, o.*, COUNT(pm.read) as num_mp
    FROM users 
    AS u
    INNER JOIN groups 
    AS g ON g.group_id u.groups
    LEFT JOIN online 
    AS o ON o.user_id u.user_id
    LEFT JOIN mp 
    AS pm ON pm.receiver_id u.user_id
    WHERE pm
    .read AND
    u.user_id "{id_utente_cookie}" AND
    u.user_password '"{pass_utente_cookie}"'") 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.