Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    ciclo della query insert

    Ciao ragazzi ho un enorme bisogno del vostro aiuto

    ho questo script:
    Codice PHP:
    <?php $data=$_POST['date3']; $vect=explode("/",$data); $giornodal=$vect[2]; $mesedal=$vect[0]; $annodal=$vect[1]; $data2=$_POST['date4']; $vect2=explode("/",$data2); $giornoal=$vect2[2]; $meseal=$vect2[0]; $annoal=$vect2[1]; $mkdal mktime(0,0,0,$annodal,$mesedal,$giornodal); $mkal mktime(0,0,0,$annoal,$meseal,$giornoal); if($mkdal >= $mkal){ echo "la data di arrivo non può essere antecedente alla data di partenza e la prenotazione va effettuata calcolando una notte ed un giorno"; }else{ $giorno 86400;?> <form action="inserimento.php" method="post"> <?php while($mkdal <= $mkal//finche la data dal non è uguale alla data al {?> <table width="200" border="1"> <tr> <td><input type="text" name="nome" value="Angelo" /></td> <td><input type="text" name="singola" value="singola" /></td> <td><input type="text" value="<?php echo date ("Y-m-d",$mkdal);?>" name="data" /></td> </tr> </table> <?php $mkdal += $giorno;//somma un giorno alla data dal } } ?> <input type="submit" value="invia" /> </form>
    In pratica gli passo come valori due date (dal giorno tot al giorno tot) e poi ne calcola anche i giorni che intercorrono tra quelle due date.

    in pratica viene così:
    http://img84.imageshack.us/img84/2572/immagine1fv.png

    E quello che vorrei è inserire il tutto in una tabella del Db mysql in pratica con quell'ordine
    quindi ipotizzando che il ciclo viene ripetuto 3 volte ho fatto:

    Codice PHP:
    for($i=1;$i<4;$i++){ $query="INSERT INTO singola (nome,singola,data) VALUES ('".$_POST['nome']."','".$_POST['singola']."','".$_POST['data']."')"mysql_query($query); } ?> 
    Mi cicla il tutto per 3 volte ma mi salva sempre e solo l'ultima data...ovviamente quello che avrei voluto ottenere in questo caso è le 3 diverse date

    Spero di essere stato chiaro e di non essermi dilungato troppo
    Grazie in anticipo ragazzi e spero mi possiate aiutare

  2. #2
    Utente di HTML.it L'avatar di mrseo88
    Registrato dal
    Jan 2012
    residenza
    Italia
    Messaggi
    75
    Scusa ,perchè devi fare questo macello?
    Non è più logico e semplice fare una query unica in modo tale che anche nel db avrai un record unico per ogni prenotazione o camera o qualsiasi cosa sia :

    codice:
    insert into singola  (nome,singola,data) VALUES('".$_POST['nome']."','".$_POST['singola']."','data1','data2','data3')
    Quando andrai a fare l'interrogazione del db ,avrai come risultato :

    Nome | Singola | Data1 | Data2 | Data3

  3. #3
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: ciclo della query insert

    Originariamente inviato da Angelo82
    Ciao ragazzi ho un enorme bisogno del vostro aiuto

    ho questo script:
    Codice PHP:
    <?php $data=$_POST['date3']; $vect=explode("/",$data); $giornodal=$vect[2]; $mesedal=$vect[0]; $annodal=$vect[1]; $data2=$_POST['date4']; $vect2=explode("/",$data2); $giornoal=$vect2[2]; $meseal=$vect2[0]; $annoal=$vect2[1]; $mkdal mktime(0,0,0,$annodal,$mesedal,$giornodal); $mkal mktime(0,0,0,$annoal,$meseal,$giornoal); if($mkdal >= $mkal){ echo "la data di arrivo non può essere antecedente alla data di partenza e la prenotazione va effettuata calcolando una notte ed un giorno"; }else{ $giorno 86400;?> <form action="inserimento.php" method="post"> <?php while($mkdal <= $mkal//finche la data dal non è uguale alla data al {?> <table width="200" border="1"> <tr> <td><input type="text" name="nome" value="Angelo" /></td> <td><input type="text" name="singola" value="singola" /></td> <td><input type="text" value="<?php echo date ("Y-m-d",$mkdal);?>" name="data" /></td> </tr> </table> <?php $mkdal += $giorno;//somma un giorno alla data dal } } ?> <input type="submit" value="invia" /> </form>
    In pratica gli passo come valori due date (dal giorno tot al giorno tot) e poi ne calcola anche i giorni che intercorrono tra quelle due date.

    in pratica viene così:
    http://img84.imageshack.us/img84/2572/immagine1fv.png

    E quello che vorrei è inserire il tutto in una tabella del Db mysql in pratica con quell'ordine
    quindi ipotizzando che il ciclo viene ripetuto 3 volte ho fatto:

    Codice PHP:
    for($i=1;$i<4;$i++){ $query="INSERT INTO singola (nome,singola,data) VALUES ('".$_POST['nome']."','".$_POST['singola']."','".$_POST['data']."')"mysql_query($query); } ?> 
    Mi cicla il tutto per 3 volte ma mi salva sempre e solo l'ultima data...ovviamente quello che avrei voluto ottenere in questo caso è le 3 diverse date

    Spero di essere stato chiaro e di non essermi dilungato troppo
    Grazie in anticipo ragazzi e spero mi possiate aiutare
    Ciao,
    ma se scrivi sempre $_POST['data'] è normale che ti inserisca sempre la stessa data!

    Dovresti costruirti all'interno del ciclo una variabile che incrementa un giorno alla volta partendo dalla data minima ed arrivando alla massima.

  4. #4
    Originariamente inviato da mrseo88
    Scusa ,perchè devi fare questo macello?
    Non è più logico e semplice fare una query unica in modo tale che anche nel db avrai un record unico per ogni prenotazione o camera o qualsiasi cosa sia :

    codice:
    insert into singola  (nome,singola,data) VALUES('".$_POST['nome']."','".$_POST['singola']."','data1','data2','data3')
    Quando andrai a fare l'interrogazione del db ,avrai come risultato :

    Nome | Singola | Data1 | Data2 | Data3
    L'idea di un solo record sarebbe ancora più ideale ma in questa maniera dovrei far si che crei delle colonne nel db dinamicamente? (cosa che poi non ho mai fatto e non so se sia possibile ma presumo di si) Perchè ovviamente potranno esserci 3 - 4 o più date

    Dovresti costruirti all'interno del ciclo una variabile che incrementa un giorno alla volta partendo dalla data minima ed arrivando alla massima.
    intendi il ciclo della query presumo

    Cmq grazie intanto delle risposte

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.