Back to top

Autore Topic: [RISOLTO] Estrazione CURDATE - 2 DAYS  (Letto 7110 volte)

Offline Stige82

  • Esploratore
  • **
  • Post: 90
  • Sesso: Maschio
    • Mostra profilo
[RISOLTO] Estrazione CURDATE - 2 DAYS
« il: 20 Ott 2014, 21:57:20 »
Ciao ragazzi,
avrei bisogno di un aiuto per l'estrazione e stampa a video da una tabella


In pratica avrei bisogno che la SELECT tirasse fuori stringhe da stampare a video solo se la data inserita in un campo della tabella sia minore di 2 giorni rispetto alla data odierna.


Non so se mi sono spiegato....faccio un esempio:
mettiamo il caso che io sia un professore e carico oggi 20/10/2014 i voti degli esami scritti dei miei alunni ma voglio che essi non siano visibili agli studenti fino a 2 giorni prima del 27/10/2014.
E' possibile ?!


Grazie anticipatamente.
« Ultima modifica: 27 Ott 2014, 20:59:05 da Stige82 »

Offline steganoga

  • Abituale
  • ****
  • Post: 1313
    • Mostra profilo
...sono dove non ti aspetti di trovarmi, mi alimento della tua supponenza e disseto la mia curiosità nel silenzio.
Non sono un nemico, considerami un ospite.

Offline Stige82

  • Esploratore
  • **
  • Post: 90
  • Sesso: Maschio
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #2 il: 21 Ott 2014, 13:57:52 »
grazie per la risposta ma purtroppo l'avevo letto l'articolo ma non mi funziona.
Vi incollo la stringa che ho inserito e non mi da nessun output inserendo quel controllo (ovviamente in tabella ci sono righe che rispondono a quei parametri):


Codice: [Seleziona]
$cur="SELECT designazioni.arbitro, designazioni.gara, designazioni.luogo, DATE_FORMAT(designazioni.data,'%d/%m/%Y') as data_it, designazioni.categoria, designazioni.ruolo, tb_comprofiler.avatar
FROM designazioni INNER JOIN tb_comprofiler
on designazioni.idArbitro = tb_comprofiler.id
WHERE data >= CURDATE() ORDER BY data, organico, ruolo, categoria, arbitro
AND data(CURDATE(), INTERVAL 2 DAY)";

Offline steganoga

  • Abituale
  • ****
  • Post: 1313
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #3 il: 21 Ott 2014, 15:01:04 »
copia una query di joomla e guarda come fa che è molto più difficile sbagliare in quella query hai usato gli alias in modo sbagliato e ti complicano la query

perchè hai una tabella senza prefisso?

cosa stai facendo nello specifico? un'estensione?
...sono dove non ti aspetti di trovarmi, mi alimento della tua supponenza e disseto la mia curiosità nel silenzio.
Non sono un nemico, considerami un ospite.

Offline Stige82

  • Esploratore
  • **
  • Post: 90
  • Sesso: Maschio
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #4 il: 21 Ott 2014, 15:33:44 »
sto utilizzando il codice direttamente all'interno dell'articolo

Offline steganoga

  • Abituale
  • ****
  • Post: 1313
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #5 il: 21 Ott 2014, 16:01:02 »
in che senso? con un plugin? con un modulo?
...sono dove non ti aspetti di trovarmi, mi alimento della tua supponenza e disseto la mia curiosità nel silenzio.
Non sono un nemico, considerami un ospite.

Offline Stige82

  • Esploratore
  • **
  • Post: 90
  • Sesso: Maschio
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #6 il: 21 Ott 2014, 16:21:23 »
utilizzo un plugin SOURCER, inserisco all'inizio e alla fine
Codice: [Seleziona]
{source} ....{/source} e al posto dei puntini il codice

Offline steganoga

  • Abituale
  • ****
  • Post: 1313
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #7 il: 21 Ott 2014, 16:35:36 »
ah, mi spiace ma non conosco e non saprei cosa se ne fa della query, se prevede che le tabelle non abbiano suffisso, se esiste il database etc... magari qualcuno lo usa e lo sa.
...sono dove non ti aspetti di trovarmi, mi alimento della tua supponenza e disseto la mia curiosità nel silenzio.
Non sono un nemico, considerami un ospite.

Offline Stige82

  • Esploratore
  • **
  • Post: 90
  • Sesso: Maschio
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #8 il: 21 Ott 2014, 16:46:43 »
l'istruzione che ho scritto io come la scriveresti tu in sql ?!

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #9 il: 23 Ott 2014, 09:10:22 »
per intanto non metterei l'order by in mezzo alle condizioni del where e metterei una comparazione nell'ultima riga.
prova le queries nell'interfaccia di mysql prima di metterle nel codice: non dà nessun output perché dà erorre.

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

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #10 il: 23 Ott 2014, 11:57:47 »
Prova questa query

Codice: [Seleziona]
SELECT  ......... WHERE data >= now() AND now() - INTERVAL 2 DAY   ORDER BY data, organico, ruolo, categoria, arbitro

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #11 il: 23 Ott 2014, 21:06:31 »
sarà, ma secondo me manca un pezzo alla seconda condizione del where...
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline Stige82

  • Esploratore
  • **
  • Post: 90
  • Sesso: Maschio
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #12 il: 27 Ott 2014, 15:23:22 »
Prova questa query

Codice: [Seleziona]
SELECT  ......... WHERE data >= now() AND now() - INTERVAL 2 DAY   ORDER BY data, organico, ruolo, categoria, arbitro
purtroppo non funziona la seconda condizione

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #13 il: 27 Ott 2014, 15:25:27 »
E  così

Codice: [Seleziona]
SELECT  ......... WHERE data >= now()  - INTERVAL 2 DAY   ORDER BY data, organico, ruolo, categoria, arbitro

Offline Stige82

  • Esploratore
  • **
  • Post: 90
  • Sesso: Maschio
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #14 il: 27 Ott 2014, 15:27:49 »
se inserisco il record in tabella me lo visualizza anche se ha data 2 novembre purtroppo :(

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #15 il: 27 Ott 2014, 15:59:26 »
facciamo un poco di chiarezza
WHERE ( data >= now() ) AND ( now() - INTERVAL 2 DAY )
la prima condizione
data >= now()
indica che la data in `data` deve essere una data nel futuro
la seconda condizione
now() - INTERVAL 2 DAY
non è una espressione valida: manca la comparazione; ovviamente, essendo comunque una data valida, viene valutata come true, ma è meglio lasciare la valutazione di questi side effects a persone esperte.
quindi quanto sopra richiede solo che `data` contenga una data nel futuro.

interval non deve essere usata direttamente, ma solo come secondo operando in una funzione quale date_add o date_sub.

tornando al problema esposto
mettiamo il caso che io sia un professore e carico oggi 20/10/2014 i voti degli esami scritti dei miei alunni ma voglio che essi non siano visibili agli studenti fino a 2 giorni prima del 27/10/2014.
in data devi inserire '25/10/2014' e come condizione where
`data`<=NOW()
il resto non centra...

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

Offline Stige82

  • Esploratore
  • **
  • Post: 90
  • Sesso: Maschio
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #16 il: 27 Ott 2014, 16:16:31 »
il problema è che la condizione non si deve basare sulla data odierna ma sulla data di pubblicazione Cioè che la data in cui escono i voti deve essere 2 giorni prima della data dell'orale.

joomla_fan

  • Visitatore
Re:Estrazione CURDATE - 2 DAYS
« Risposta #17 il: 27 Ott 2014, 16:26:13 »
Salve.

... e così:
Codice: [Seleziona]
SELECT ..... FROM `tabella` WHERE CURDATE() >= DATE_SUB(`data_orale`, INTERVAL 2 DAY)


Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #18 il: 27 Ott 2014, 16:40:23 »
già detto, dipende tutto da che valore inserisci in `data`. che cosa c'è in data? la data dell'orale? allora va bene ciò che ti ha scritto joomla_fan, chiarisci quali sono i dati su cui operi, se no ogni risposta è sbagliata...
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline Stige82

  • Esploratore
  • **
  • Post: 90
  • Sesso: Maschio
    • Mostra profilo
Re:Estrazione CURDATE - 2 DAYS
« Risposta #19 il: 27 Ott 2014, 20:58:23 »
Salve.

... e così:
Codice: [Seleziona]
SELECT ..... FROM `tabella` WHERE CURDATE() >= DATE_SUB(`data_orale`, INTERVAL 2 DAY)
grandissimooooooooooooooooooooo !!!!! FUNZIONAAAAAAAAAAAAAAA :)
e grazie anche a tutti quelli che hanno cercato di aiutarmi :D
buona serata

 



Web Design Bolzano Kreatif