Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    che tipo di campo scegliere per l'ora nel db?

    ciao a tutti, belli e brutti :-)

    ho realizzato una select per selezionare l'ora e i minuti:

    Codice PHP:
    <select name="ore1">
                                            <?
                                            $minuto_att
    =date("i");
                                            
    $ora_att=date("H");
                                            for (
    $n=1;$n<=24;$n++){
                                            
    $n=sprintf("%02d",$n);
                                            
    ?>
                                            <option value=<?=$n?> <? if($ore1=="$n") { echo "SELECTED"; } ?>><?=$n?></option>
                                            <?
                                            
    }?>
                                            </select>
                                            
                                            <select name="min1">
                                            <?
                                            
    for ($n=1;$n<=59;$n++){
                                            
    $n=sprintf("%02d",$n);?>
                                            <option value=<?=$n?> <? if($min1=="$n") { echo "SELECTED"; } ?>><?=$n?></option>
                                            <?
                                            
    }?>
                                            </select>
    però nel db non so che campo creare: TIME, DATETIME DATESTAMP ?? :master:

  2. #2
    e poi deve essere NULL ?

  3. #3
    Puoi usare tranquillamente TIME per l'ora.
    Io personalmente cerco sempre di non usare NULL, però se gli devi specificare un valore di default, qualsiasi altro valore non va bene perché indicherebbe comunque un tempo valido.

  4. #4
    il problema è che con TIME mi mette nel db 00:00:00 io invece nella pagina php ho messo solo le ore e i minuti 00:00 infatti non mi funziona, come devo fare?

  5. #5
    Nn fa niente. Se inserisci nel DB hh:mm non ti da errore, l'unica cosa che fa, ti mette i secondi a 00.
    Ad es. se inserisci

    '12:45'

    nel DB compare '12:45:00'

  6. #6
    ah, ok. Allora il non funzionamento forse dipende da qui:

    nella query prima di insert ho messo:

    $ora_ins_dati=$ore1."-".$min1;

    forse è sbagliato?

  7. #7
    E' sbagliato, devi mettere

    $ora_ins_dati=$ore1.":".$min1;

    Altrimenti se hai ad es. 12 ore e 45 minuti

    con il codice che tu usi ossia 12-45, nel DB ti inserirà 00:00:12

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ok, grazie! Ora l'inserimento dell'ora funziona correttamente, ho controllato nel db.

    Però ho notato che ancora non funziona la select della pagina di modifica, cioè non prende il dato dal db, questa è la select che non funziona:

    Codice PHP:
    <select name="ore1">
                                            <?
                                            $minuto_att
    =date("i");
                                            
    $ora_att=date("H");
                                            
    $minuto_sel=substr($row['ora_ins_dati']);
                                            
    $ora_sel=substr($row['ora_ins_dati']);
                                            for (
    $n=1;$n<=24;$n++){
                                            
    $n=sprintf("%02d",$n);
                                            
    ?>
                                            <option value=<?=$n?> <? if($ora_sel=="$n") { echo "SELECTED"; } ?>><?=$n?></option>
                                            <?
                                            
    }?>
                                            </select>
                                            
                                            <select name="min1">
                                            <?
                                            
    for ($n=1;$n<=59;$n++){
                                            
    $n=sprintf("%02d",$n);?>
                                            <option value=<?=$n?> <? if($minuto_sel=="$n") { echo "SELECTED"; } ?>><?=$n?></option>
                                            <?
                                            
    }?>
                                            </select>

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    up

  10. #10
    $minuto_sel=substr($row['ora_ins_dati']);
    $ora_sel=substr($row['ora_ins_dati']);


    Mi meraviglio come non ti abbia dato errore a queste istruzioni. Questo di substr è sbagliato (vedi manuale).


    $minuto_sel=substr($row['ora_ins_dati'], 3, 2);
    $ora_sel=substr($row['ora_ins_dati'], 0, 2);

    Prova così

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.