Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993

    inserimenti multipli di date

    Ciao, questo script che in base ai dati che riceve: giorno, mese, anno stampa un calendario, da questo calendario è possibile prenotare i giorni Fleggando il giorno tramite una checkbox.
    Ora;
    1)quando invio il tutto al DB, mi inserisce solo un record. e qui già non so come fare.

    2)Ho la necessità di inserire tutti i giorni nel db, record per record.
    Faccio un esempio:

    dal 1 febbraio 2006 al 3 febbraio 2006
    TABELLA:

    id:001 giorno:01 mese:2 anno:2006 //record
    id:002 giorno:02 mese:2 anno:2006
    id:003 giorno:03 mese:2 anno:2006

    Come faccio per inserire correttamente tutti i record e non uno solo.
    Posso creare una array? ma come?

    script:

    if ($_SERVER['REQUEST_METHOD'] == 'GET')
    {
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
    <?
    $time = mktime(0,0,0, $month, 1, $year);
    // genera l'array con le informazioni
    $date = getdate($time);
    // giorni totali per il mese e anno
    $day_total = cal_days_in_month(CAL_GREGORIAN, $date['mon'], $date['year']);
    //stampa mese e anno in oggetto
    //in italiano come intestazione
    setlocale(LC_TIME,"it_IT");
    $mese_anno = strftime('%B',$date[0]). " " .$year;
    $mese_anno = (ucfirst($mese_anno));
    echo "<table><tr><td colspan=\"7\">$mese_anno</td></tr>\n";
    // stampa le abbreviazioni dei giorni della settimana
    echo "<tr><td align=center>Do</td><td align=center>Lu</td><td align=center>Ma</td><td align=center>Me</td> <td align=center>Gi</td><td align=center>Ve</td><td align=center>Sa</td></tr>\n";
    for ($i = 0; $i < 6; $i++)
    {
    echo '<tr>';
    for ($j = 1; $j <= 7; $j++)
    {
    $day_number = $j + $i*7 - $date['wday'];
    //stampa la cella con il giorno
    echo '<td width=79 align=center bgcolor=#eeeeee style=font-face:verdana size=1';
    if ($day_number > 0 AND $day_number <= $day_total)
    {
    $day_number = sprintf('%02d', $day_number);
    echo " style=\"border: 1px solid #c0c0c0;\" ";
    echo ">$day_number";
    ?>
    <input type="checkbox" name="day_number" value='<? print($day_number); ?>'>
    <?
    }
    else
    {
    //stampa una cella vuota se non esiste il giorno
    echo '> ';
    }
    echo '</td>';
    }
    echo "</tr>\n";
    if ($day_number >= $day_total AND $i != 6)
    break;
    }
    echo "</table>\n";
    ?>



    <input type="submit" name="action" value="INSERISCIPRENOTAZIONE">
    <input type="hidden" name="month" value='<? print($month); ?>'>
    <input type="hidden" name="year" value='<? print($year); ?>'>
    <input type="hidden" name="id_info" value='<? print($id_info); ?>'>
    <input type="hidden" name="id_pro" value='<? print($id_pro); ?>'>
    <input type="hidden" name="riferimento" value='<? print($riferimento); ?>'>
    </form>
    <?
    }elseif ($_SERVER['REQUEST_METHOD'] == 'POST')
    // qua devo inserire nel DB i giorni e il resto
    {
    require ("../../connessione.php");
    $sql = "INSERT into tabella(id,id_info,day_number,month,year,id_pro) values ( '','".$id_info."','".$day_number."','".$month."',' ".$year."','".$id_pro."')";
    mysql_db_query( $nome_db, $sql, $db) or die(mysql_error());
    }
    ?>

    Grazie
    ¿Hasta la pasta?

  2. #2
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    qualche consiglio?
    ¿Hasta la pasta?

  3. #3
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Per fare un inserimento multiplo utilizzando le checkbox con lo stesso nome, come posso fare?
    ¿Hasta la pasta?

  4. #4
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    mi spiego meglio:
    lo script sopra produce un calendario ed accando ai singoli giorni stampo una checkbox.

    esempio:
    01<input type="checkbox" name="daynumber" value='<? print($day_number); ?>'>
    02<input type="checkbox" name="daynumber" value='<? print($day_number); ?>'>
    03<input type="checkbox" name="daynumber" value='<? print($day_number); ?>'>
    etc....

    se seleziono 3 giorni e mando l'invio dei dati, devo inserire nel DB 3 record con i tre giorni.
    Come faccio?
    Qualche consiglio?
    Grazie!
    ¿Hasta la pasta?

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Originariamente inviato da polinet
    mi spiego meglio:
    lo script sopra produce un calendario ed accando ai singoli giorni stampo una checkbox.

    esempio:
    01<input type="checkbox" name="daynumber" value='<? print($day_number); ?>'>
    02<input type="checkbox" name="daynumber" value='<? print($day_number); ?>'>
    03<input type="checkbox" name="daynumber" value='<? print($day_number); ?>'>
    etc....

    se seleziono 3 giorni e mando l'invio dei dati, devo inserire nel DB 3 record con i tre giorni.
    Come faccio?
    Qualche consiglio?
    Grazie!
    codice:
    <input type="checkbox" name="daynumber[]" value='<? print($day_number); ?>'>
    Quando devi recuperare il dato, avrai le date selezionate in $_POST['daynumber']:
    Codice PHP:
    foreach ($_POST['daynumber'] as $data)
    {
      
    $query "INSERT INTO tabella SET data='$data'";
    ......................

    ciao

  6. #6
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Grande KEN84 cosi funziona,
    ma gli altri dati come gli inserisco nel db?

    $sql = "INSERT INTO tbl_cale SET day_number='$data' and month='".$month."' etc....";

    cosi non va!
    ¿Hasta la pasta?

  7. #7
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    ops...
    piccola svista nella query.


    Funziona il tutto perfettamente.


    GRAZIE!!!!!!
    ¿Hasta la pasta?

  8. #8
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    ora però ho un altro problemino, se i giorni sono già prenotati dovrebbe uscire dal programma, ma questo non avviene!
    dove sbaglio?

    <?
    }elseif ($_SERVER['REQUEST_METHOD'] == 'POST')
    // qua devo inserire nel DB i giorni e il resto
    {
    if ($day_number == (""))
    {
    echo("impossibile continuare nessun giorno selezionato
    ");
    echo("<a href=javascript:history.back(-1)>back</a>");
    exit;
    }
    require ("../../connessione.php");
    $righe = 0;
    $sql = " Select count(*) as righe from tbl_cale where id_pro = '" . $id_pro . "'";
    $sql = $sql." and day_number = '" . $day_number . "' ";
    $sql = $sql." and month = '" . $month . "' ";
    $sql = $sql." and year = '" . $year . "'";
    $result = mysql_db_query($nome_db,$sql,$db) or die("Errore ".mysql_error());
    $row = mysql_fetch_array( $result );
    $righe = $row["righe"];

    if ( $righe != 0 )
    {
    echo("il giorno");
    echo $day_number;
    echo("
    è già prenotato.!!!
    ");
    echo("<a href=javascript:history.back(-1)>back</a>");
    exit;

    }else{
    foreach ($_POST['day_number'] as $data)
    {
    $sql = "INSERT into tbl_cale (id,id_info,day_number,month,year,pre,id_pro,rifer imento,nome_cli,cognome_cli) values ( '','".$id_info."','".$data."','".$month."','".$yea r."','Y','".$id_pro."','".$riferimento."','".$nome _cli."','".$cognome_cli."')";
    mysql_db_query( $nome_db, $sql, $db) or die(mysql_error());
    }
    }
    }
    ?>
    ¿Hasta la pasta?

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.