Ringrazio entrambi per gli interventi.
Ho un form che, con metodo POST, preleva i dati dalla tabella "pesca_da". Questa contiene cinque campi: Id, Campo1, Campo2, Campo3, Scadenza. Tutti i campi, a parte Id che e' numerico e autoincrementante e Scadenza che e' di tipo date, sono di tipo varchar.
I dati visualizzati dal form vengono inviati alla tabella "aggiungi_qui" che ha la stessa struttura dell'altra con la differenza che qui il campo Scadenza si chiama Data.
Ho riguardato il codice, ma non vedo niente che non vada. Mi muovo abbastanza bene con le query e le subqueries, ma l'inesperienza e' comunque tanta... Posto il codice tralasciando la parte relativa alla connessione al db e la parte iniziale del form.
Codice PHP:
$riferimento = "2012-03-30"; //la data da confrontare con il campo Scadenza
$query = "SELECT Campo1, Campo2, Campo3, Scadenza from pesca_da WHERE Scadenza BETWEEN curdate() and '{$riferimento}'";
$risultato = mysql_query($query);
if (!$risultato)
{
//visualizzo messaggio di errore
}
while ($row = mysql_fetch_assoc($risultato))
{
$Cognome = htmlentities($row['Campo1']);
$Nome = htmlentities($row['Campo2']);
$Altro = htmlentities($row['Campo3']);
echo"<tr>
<td>$Cognome<input type='hidden' name='Campo1[]' value='$Cognome'></td>
<td>$Nome<input type='hidden' name='Campo2[]' value='$Nome'></td>
<td>$Altro<input type='hidden' name='Campo3[]' value='$Altro'></td>
</tr>";
}
echo"</table>
<input type='submit' value='invia'>";
echo"</form>";
In scrivi.php recupero i dati, ricavo la data odierna che sara' scritta nel db e quindi lancio la query riscritta come suggerito da eiyen:
Codice PHP:
$Campo1 = $_POST['Campo1'];
$Campo2 = $_POST['Campo2'];
$Campo3 = $_POST['Campo3'];
$oggi = date("y-m-d");
$num = count($Campo1);
$scrittura = "INSERT INTO aggiungi_qui (Campo1, Campo2, Campo3, Data) VALUES ";
for ($k=0; $k< $num; $k++)
{
$scrittura .= "('$Campo1[$k]','$Campo2[$k]','$Campo3[$k]','$oggi'),";
}
$scrittura = substr($scrittura, 0, -1); // elimino l'ultima virgola in eccesso
mysql_query($scrittura);
if (!mysql_query($scrittura))
{
//messaggio di errore
} else { //messaggio per esito positivo
}
Ho provato ad inserire l'echo di $scrittura ad ogni ripetizione del ciclo e dopo il ciclo stesso e sempra funzionare: al primo giro contiene a,1,d e al secondo a,1,d - b,2,e (sempre riferendomi all'esempio dei post precedenti); all'uscita dal ciclo il valore è identico: a,1,d - b,2,e
Ho inserito l'esecuzione della query all'interno del ciclo e, anche in questo caso, il risultato e' identico...
Da battere la testa sulla tastiera....