Visualizzazione dei risultati da 1 a 9 su 9

Discussione: confrontare data

  1. #1

    confrontare data

    Devo confrontare in una query i valori Cognome e Data.

    Ho 2 combobox: uno con l'elenco dei cognomi, l'altro con i mesi.

    Quello dei mesi è valorizzato così:
    <select name="cboMese"...
    <option value="10">Gennaio</option>

    Il campo data_id del db è in formato AAAA-MM-GG.

    Pensavo con explode di estrarre MM:

    list($anno,$mese,$giorno) = explode($data_id);

    e di controntarlo con cboMese.

    Il problema è: come faccio a sapere il valore di $data_id, prima
    di contronfarlo nella query?

    $sql = "SELECT *
    FROM `ore`
    WHERE `utente_id` = '$id_cognome' AND '$mese' = '$cboMese'
    ORDER BY `data_id`";



    Grazie

  2. #2
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003

    Re: confrontare data

    Codice PHP:
    $sql "SELECT  * 
      FROM `ore` 
      WHERE `utente_id` = '
    $id_cognome' AND MONTH(data_id) = $mese
      ORDER BY `data_id`"


  3. #3
    grazxie x la risposta.

    quindi MONTH seleziona in automatico il valore del mese nel campo data_id? fico! xò...

    non mi funzia

    ho scritto cos':

    $id_mese è il valore passato dalla combo.

    $sql = "SELECT *
    FROM `ore`
    WHERE `utente_id` = '$id_cognome' AND MONTH(data_id) = '$id_mese'
    ORDER BY `data_id`";

    errore:
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '//WHERE `utente_id` = '1' AND '' = '03' WHERE `utente_id

    In pratica sembra che MONTH(data_id) non resitutisca alcun valore

  4. #4
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Uhm forse la query in questo modo non è esatta, però
    [supersaibal]Dal manuale di MySQL
    MONTH(date)
    Returns the month for date, in the range 1 to 12.
    mysql> SELECT MONTH('1998-02-03');
    -> 2[/supersaibal]

  5. #5
    ho toppato io alla grande!

    avevo commentato una istruzione nella query... con // ed evidentemente generava cmq casini.

    ora funziona, grazie 1000

  6. #6
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    [supersaibal]Originariamente inviato da i_am_antipop
    ho toppato io alla grande!

    avevo commentato una istruzione nella query... con // ed evidentemente generava cmq casini.

    ora funziona, grazie 1000 [/supersaibal]
    Ah ok.. pensavo di essermi rincoglionito

  7. #7
    avrei bisogno di un'altra *dritta*...

    in pratica con la query precedente stampo i dati relativi ad un utente ed al mese richiesto.

    Però così stampo solo i giorni già presenti nella tabella 'ore'.

    Ho un'altra tabella 'calendario' con tutte le date dell'anno.

    In pratica: Vorrei far stampare tutti i giorni del mese, anche quelli non caricati nella tabella ore, per avere una pagina con tutti i giorni del mese.

    Come posso interrogare con una query entrambe le tabelle 'ore' e 'calendario'?

    (oppure potrei fare 2 query: una in più per stampare tutti i giorni del mese)

    Grazie

  8. #8
    sto provando così:

    $sql = "SELECT *
    FROM `calendario` LEFT JOIN `ore` ON
    (`utente_id` = '$id_cognome' AND MONTH(data_id) = '$id_mese')
    ORDER BY `data_id`";

    ma non funge...

  9. #9
    [supersaibal]Originariamente inviato da i_am_antipop
    sto provando così:

    $sql = "SELECT *
    FROM `calendario` LEFT JOIN `ore` ON
    (`utente_id` = '$id_cognome' AND MONTH(data_id) = '$id_mese')
    ORDER BY `data_id`";

    ma non funge... [/supersaibal]
    ora qualcosa fa: stampo i giorni del mese scelto, ma ripetuti per 365 giorni dell'anno...



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 © 2025 vBulletin Solutions, Inc. All rights reserved.