problemino con una query

ciao Gianni ti riporto un attimino la struttura delle tabelle da querare :

CREATE TABLE  `messages` (
  `pmid` int(10) unsigned NOT NULL auto_increment,
  `to` int(10) unsigned NOT NULL default '0',
  `from` int(10) unsigned NOT NULL default '0',
  `text` text NOT NULL,
  `insertdate` int(11) unsigned NOT NULL default '0',
  `read` enum('1','0') NOT NULL default '0',
  `directory` int(10) unsigned NOT NULL default '0',
  `subject` varchar(80) NOT NULL default '',
  PRIMARY KEY  (`pmid`)
) ENGINE=MyISAM;
CREATE TABLE  `users` (
  `uid` int(10) unsigned NOT NULL auto_increment,
  `username` varchar(45) NOT NULL default '',
  `password` varchar(45) NOT NULL default '',
  `email` varchar(45) NOT NULL default '',
  `bid` varchar(45) NOT NULL default '1',
  `permission` enum('1','2','3') NOT NULL default '3',
  `avatar` varchar(255) NOT NULL default 'noavatar.png',
  `lastaction` int(11) unsigned NOT NULL default '0',
  `lid` int(10) unsigned NOT NULL default '2',
  `regdate` int(11) unsigned NOT NULL default '0',
  PRIMARY KEY  (`uid`)
) ENGINE=MyISAM;

in pratica devo fare una query che mi colleghi le tabelle , ma dato che la tabella messages usa l'id ( il campo to , per il campo from sempre usando l'ID sono riuscito a risolvere ) dell'utente al posto del suo nick e che nella sessione ho savato il suo nick e non l'id questo mi complica per far uscire l'id dell'utente ogni volta :(

cmq

in pratiac devo fare questo:

trovare ID utente , fare la query per estrarre tutti i record attinenti all'ID dell'utente con un determinato username e contare tutti quelli con : READ=0 in modo da contare i nuovi messaggi nella casella inbox :D

mi puoi aiutare?

grazie

 :bye:

inviato 10 anni fa
Andrea Turso
Andrea Turso
86
modificato 10 anni fa
X 0 X

PS : per trovare l'id ho creato una funzione che mi ritorna l'id dell'username :D quindi un passo è fatto ora ho fatto questa query :

SELECT username,uid,`read`,`to` FROM messages AS m JOIN users AS u ON m.`to`=1 WHERE u.uid=1 AND m.`read`=0

ma come risultato mi da campi vuoti :(

eppure boh ... username e uid ci sono  messaggi per uid 1 ci sono sono 2 read=0 1 read=1 :( aiuto pls :D

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

questi sono i dati inserti :

pmid   to   from   text   insertdate   read   directory   subject
1   1   2   CIAO   1147455213   0   1           titolo
2   1   1   asdasd   1147455213   0   1           test
3   2   1   aaaa   1147465213   0   1           PROVAAAA

come vedi i dati ci sono ma la query non li mostra ( si deve verificare che l'ID utente sia == a TO e che read sia == 0 il resto non importa

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

dovresti provare così:

SELECT username, uid,`read`,`to`

   FROM messages AS m

      JOIN users AS u ON `m.to`=u.uid

   WHERE

      u.uid=1 AND

      m.`read`=0

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

vuoto :|

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Unknown column 'm.to' in 'on clause'

mai successo questo errore!

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

sostituisci `m.to` con m.to

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

nessun risultato SELECT username, uid,`read`,`to`    FROM messages AS m       JOIN users AS u ON m.`to`=u.uid    WHERE       u.uid=1 AND       m.`read`=0

invece se metto

SELECT username, uid,`read`,`to`
   FROM messages AS m
      JOIN users AS u ON m.`to`=u.uid
   WHERE
      u.uid=1 AND
      m.`read`=2

mi motra i messaggi :| ma read = 2 NON ESISTE c'è solo 1/0 LOOOOOOOOOOL

PS usando N/Y sembra andare :2funny: cmq preferirei usare 1/0

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
modificato 10 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda