Ciao, ho due tabelle
elenco elementi
elenco voti apportati dagli utenti sugli elementi
io vorrei eseguire una query che passando come parametro l'ID utente (uid), ritorni *tutti* gli elementi della tabella 1 (elementi) e nel caso in cui ci sia un voto apportato dall'utente a qualche record della tabella elementi, visualizzare un campo aggiuntivo user_rate col valore eseguito dall'utente
se l'utente non ha apportato voti all'elemento mi basta che user_rate sia NULL (ovviamente non zero)
quindi voglio visualizzare tutti i record della tabella elementi con un campo aggiuntivo user_rate imposato a
- NULL se nella tabella dettaglio questo utente non ha votato nulla
- valore della votazione inserita dall'utente
(altro dubbio: come posso evitare che nella secoda tabella ci siano due voti da parte di un utente sullo stesso elemento?? dovrei impostare come chiave primaria id_location e uid?? oppure altro?)
tabella elementi
Codice PHP:
CREATE TABLE IF NOT EXISTS `locations` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(250) NOT NULL,
`description` text,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=201 ;
tabella voti utenti
Codice PHP:
CREATE TABLE IF NOT EXISTS `locations_rates` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_location` int(11) NOT NULL,
`uid` int(50) NOT NULL,
`rate` int(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
Grazie infinite!!


Rispondi quotando
)... come faresti?
