Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    moltiplicare inserimento record nel db

    nella mia agenda ho una select data dove seleziono il giorno dell'evento e faccio invia, in modo che quell'evento venga visualizzato nell'agenda nel giorno in cui io voglio.

    mettiamo però che l'evento dura 3 giorni (esempio un corso di disegno dal vero che si svolgerà nei giorni 18-19-20 novembre 2008)

    io ora nella select posso solo selezionare un giorno:

    Codice PHP:
    <?
                                            $data
    =date("Y-m-d");
                                            
    $anno_att=substr($data,0,4);
                                            
    $mese_att=substr($data,5,2);
                                            
    $giorno_att=substr($data,8,2);
                                            
    $anno_par=$anno_att-1;
                                            
    ?>
                                            
                                            <select name="gg1">
                                            <?
                                            
    for ($n=1;$n<=31;$n=$n+1){$n=sprintf("%02d",$n);
                                            
    ?>
                                            <option value=<?=$n?> <? if ($giorno_att==$n) { echo "SELECTED"; } ?>><?=$n?></option>
                                            <? }?>
                                            </select>
                                            
                                            <select name="mm1">
                                            <?
                                            
    for ($n=1;$n<=12;$n=$n+1){$n=sprintf("%02d",$n);
                                            
    ?>
                                            <option value=<?=$n?> <? if ($mese_att==$n) { echo "SELECTED"; } ?>><?=$n?></option>
                                            <? }?>
                                            </select>
                                            
                                            <select name="aa1">
                                            <option value="2008" <? if($aa1=="2008")echo "selected"?>>2008</option>
                                            <option value="2009" <? if($aa1=="2009")echo "selected"?>>2009</option>
                                            </select>
    come faccio invece a selezionare le tre date contemporaneamente?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    qui ho messo la query per inserire i dati nel db

    Codice PHP:
    <?
    $data_evento
    =$aa1."-".$mm1."-".$gg1selezione;

    $sql "INSERT INTO c_agenda (titolo_evento, testo_evento, data_evento) 
            VALUES ('
    $titolo_evento', '$testo_evento', '$data_evento')";
    mysql_query($sql$conn) or die (mysql_error());
    ?>

    questa è la select che sto cercando di rendere multiselezionabile

    Codice PHP:
    <?
    $data
    =date("Y-m-d");
    $anno_att=substr($data,0,4);
    $mese_att=substr($data,5,2);
    $giorno_att=substr($data,8,2);
    $anno_par=$anno_att-1;
    ?>
                                            
    <select name="gg1selezione" multiple="multiple">
    <?
    for ($n=1;$n<=31;$n=$n+1){$n=sprintf("%02d",$n);
    ?>
    <option value=<?=$n?> <? if ($giorno_att==$n) { echo "SELECTED"; } ?>><?=$n?></option>
    <? }?>
    </select>
                                            
    <select name="mm1">
    <?
    for ($n=1;$n<=12;$n=$n+1){$n=sprintf("%02d",$n);
    ?>
    <option value=<?=$n?> <? if ($mese_att==$n) { echo "SELECTED"; } ?>><?=$n?></option>
    <? }?>
    </select>
                                            
    <select name="aa1">
    <option value="2008" <? if($aa1=="2008")echo "selected"?>>2008</option>
    <option value="2009" <? if($aa1=="2009")echo "selected"?>>2009</option>
    </select>
    e qui proprio non saprei come fare in modo da inserire tanti record quanti sono i giorni selezionati

    Codice PHP:
        <?php
              $gg1selezione
    =$_POST['gg1selezione'];
          
          
          foreach (
    $gg1selezioneas $valore) {
              echo 
    "$valore
    \n"
    ;
          }
    ?>    
        
          
    <input type="submit" name="vai" value="inserisci">

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ma non sarebbe più pratico usare due campi, uno per inizio e uno per fine evento?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    però poi quando faccio invio mi inserisce un solo record

    io invece vorrei inserire più record contemporaneamente, uno per ogni giorno selezionato

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Se proprio vuoi inserire un record per ogni giorno usa due select nelle quali definisci gli estremi dell'intervallo, con un ciclo for scorri il lasso di tempo e per ogni giorno esegui la query di inserimento.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Originariamente inviato da nicola75ss
    Se proprio vuoi inserire un record per ogni giorno usa due select nelle quali definisci gli estremi dell'intervallo, con un ciclo for scorri il lasso di tempo e per ogni giorno esegui la query di inserimento.
    eee.. è una parola..
    a saperlo fare..

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ti posto un esempio.

    Codice PHP:
    $dataInizio '2008-11-25';
    $dataFine '2008-12-02';
     for(
    $i strtotime($dataInizio); $i<=strtotime($dataFine); $i=strtotime("+1 day",$i)) {
       
    $giorno date('Y-m-d',$i);
       
    $query mysql_query("insert into tabella (campo1,campo2,campoData) values ('$valore1','$valore2','$giorno')") or die(mysql_error());
       } 

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    grazie, domani appena arrivo in ufficio ci provo.

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Ho potuto provare solo ora.
    e FUNZIONA BENISSIMO!!!!

    a nicola75ss SEI ER MEJO!!!


    grazzzzzzzzzziiiiiiiiieeeeeeeee

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Per completezza ecco la query modificata:

    Codice PHP:
    <?
    if ($pagina==1){

    if (
    $titolo_evento && $testo_evento && $tipologia_evento) {


    $ora_inizio_evento=$ore1.":".$min1;
    $ora_fine_evento=$ore2.":".$min2;


    $data_inizio_evento=$aa1."-".$mm1."-".$gg1;
    $data_fine_evento=$aa2."-".$mm2."-".$gg2;

    for(
    $i strtotime($data_inizio_evento); $i<=strtotime($data_fine_evento); $i=strtotime("+1 day",$i)) {
       
    $data_evento date('Y-m-d',$i);
       
       
    $sql "INSERT INTO c_agenda (id_login_ins, id_login, corso, news, tipologia_evento, titolo_evento, testo_evento, data_evento, ora_inizio_evento, ora_fine_evento, data_ins, ora_ins) 
            VALUES ('
    $id_login_ins', '$id_login', '$corso', '$news', '$tipologia_evento', '$titolo_evento', '$testo_evento', '$data_evento', '$ora_inizio_evento', '$ora_fine_evento', curdate(), curtime())";
    mysql_query($sql$conn) or die (mysql_error());

       }

    $URL="admin_ins_agenda_redirect.php";
    header ("Location: ".$URL); 

    }
    else {

    $msg "riempire i campi obbligatori segnati in rosso e selezionare un nominativo a cui vuoi assegnare l'evento";
    }

    }
    ?>

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.