Back to top

Autore Topic: Filtrare risultati in base all'ID utente  (Letto 1300 volte)

Offline Alan Nauta

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
Filtrare risultati in base all'ID utente
« il: 10 Apr 2015, 16:54:06 »
Buongiorno a tutti e scusatemi subito se compio un'errore a postare in questa posizione.

Vorrei realizzare un servizio per monitorare la scadenza dei prodotti venduti ai clienti.


Per farlo voglio utilizzare una query MYSQL impostata in questo modo (semplificato)



SELECT `Prodotti'.'NomeProdotto`,`Prodotti`.`DataScadenza`
FROM Prodotti
, Users
WHERE `Users`.`IDUser` = `Prodotti`.`IDUser` AND `Prodotti`.`Scadenza` > 2014 AND `Users`.`IDUser` = UTENTE ATTUALMENTE LOGGATO

La domanda quindi è: esiste una formula adatta a questa query? In quale tabella di joomla viene indicato il dato IDUser attualmente loggato?

p.s. Il componente da me utilizzato per la tabellina è Plotalot.

Grazie a tutti, graditi anche insulti fatti con classe.  ;)   
===
edited: messi solo a posto i fonts...
« Ultima modifica: 10 Apr 2015, 16:59:21 da mmleoni »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Filtrare risultati in base all'ID utente
« Risposta #1 il: 10 Apr 2015, 17:05:33 »
in nessuna tabella, l'utente loggato viene memorizzato in sessione (se fosse in una tabella, anziché in una sessione, non potresti sapere chi sei):

$user = JFactory::getUser();

per ottenere l'istanza dell'oggetto JUser (https://api.joomla.org/cms-3/classes/JUser.html) relativa all'utente corrente. l'id diventa $user->id

ps: la query più che semplificata è sbagliata: non esiste iduser ma solo id


per gli insulti aspetto la prossima richiesta  ;D ;D ;D


ciao,
marco

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline Alan Nauta

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
Re:Filtrare risultati in base all'ID utente
« Risposta #2 il: 10 Apr 2015, 18:35:08 »

Ok, pensavo  :o 
In extra option ficco il

$user = JFactory::getUser()

poi passo Mysql
SELECT `Prodotti'.'NomeProdotto`,`Prodotti`.`DataScadenza`
FROM Prodotti, UsersWHERE `Users`.`id` = `Prodotti`.`IDuser` AND `Prodotti`.`Scadenza` > 2014 AND `Users`.`id` = getUser()
La funzione getUser() non viene riconosciuta, mentre se tolgo l'ultimo AND la rispostina del professore cattivo è:

Errore Javascript: SyntaxError: missing : after property id

Chessuccede?? :o

ps. Ho capito la storia dell'id del loggato che non risiede in una tabella. (Piu o meno)
pps. Grazie intanto
« Ultima modifica: 10 Apr 2015, 18:36:59 da Alan Nauta »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Filtrare risultati in base all'ID utente
« Risposta #3 il: 10 Apr 2015, 18:54:28 »
... getUser() è un metodo della classe JFactory, non una formula magica: scusa la domanda brutale, ma hai capito qualcosa della risposta che ti ho dato?

"extra option" non so che cosa sia, in php:

$user = JFactory::getUser();
$q= "
SELECT `Prodotti`.`NomeProdotto`,`Prodotti`.`DataScadenza`
FROM Prodotti, Users
WHERE `Users`.`id` = `Prodotti`.`IDuser` AND `Prodotti`.`Scadenza` > 2014 AND `Users`.`id` = {$user->id}
";

e così via...

ma che centra javascript? immagino che l'errore php sballi qualcosa nel template.
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif