[PHP] SALVARE RECORD ESTRATTI DA DATABASE

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
41
SALVE A TUTTI! ho la necessità di salvare i dati estratti da una tabella con normale SELECT in un'altra tabella.
siccome non riesco ad essere molto chiaro data la mia scarsa esperienza in fatto di programmazione, allego
il codice che genera la tabella:

PHP:
<?php
//connessione al server
......
......
// ottiene i risultati dal database
$result = mysql_query("SELECT * FROM PRENOTAZIONI WHERE PROSSIMACONSEGNA between '$data2' and '$data3' AND ORDINATA='NO' ORDER BY PROSSIMACONSEGNA ASC")
or die(mysql_error());

// visualizza i dati in tabella

echo "<table bgcolor='white' border='1' cellpadding='5' align='center'>";
echo "<tr bgcolor='yellow'><th>COGNOME E NOME</th><th>CONS. PAZ. DAL</th><th>NOTE</th><th>CATEGORIA</th></th><th>ORDINATA</th><th></th></tr>";

// loop tra i risultati della query del database, visualizzandoli in tabella
while($row = mysql_fetch_array( $result )) {

// emissione del contenuto di ogni riga in una tabella
echo "<tr>";
echo '<td nowrap><b>' . $row['COGNOMENOME'] . '</b></td>';
echo '<td align="center"><b>' . $row['PROSSIMACONSEGNA'] . '</b></td>';
echo '<td><b>' . $row['NOTE'] . '</b></td>';
echo '<td align="center">' . $row['CATEGORIA'] . '</td>';
// echo '<td align="center">' . $row['SCADENZA'] . '</td>';
echo '<td align="center">' . $row['ORDINATA'] . '</td>';

echo '<td bgcolor=yellow><a href="edit.php?id=' . $row['id'] . '"><button style="font-family: arial; font-size: 18px; height: 40px; width: 150px;">MODIFICA</button></a></td>';

echo '</tr>';
}

// chiude la tabella>
echo "</table>";
?>
</code>

credo di aver capito che devo "catturare" i $row e inviarli alla nuova tabella. Grazie in anticipo a tutti
 
ciao
ma l'errore quale è? non ti stampa nessun record?
prima cosa: controlla che la query sia corretta, ovvero che le date siano come mysql se le aspetta e siano nell'ordine corretto (prima la più piccola poi la più grande).
Sintatticamente il codice mi sembra giusto.
 
si si il codice funziona perfettamente, non mi sono spiegato bene io! ho bisogno di salvare i valori $row['COGNOMENOME', $row['CATEGORIA'] etc... in un'altra tabella. E' possibile inviarli a questa altra tabella, magari mettendo la spunta in una checkbox posizionata accanto ad ogni valore?
 
salvare i dati estratti da una tabella con normale SELECT in un'altra tabella
ho capito che vuoi fare una copia dei dati selezionati, scrivendoli in una seconda tabella,
se non ci sono operazioni di consenso fatte con php sul singolo record, ma ssull'insieme,
puoi fare la copia usando una sola query .... "insert into select" indicando la sequenza delle colonne, per sicurezza,
come nel secondo esempio del link allegato, vedi se ti è sufficiente
https://www.w3schools.com/sql/sql_insert_into_select.asp
 
ok grazie tutto chiarissimo! è possibile, invece che salvare in un'altra tabella, modificare (UPDATE) un record nella stessa tabella? ad esempio, inserire nella colonna "ORDINATA", per ogni riga, la parola "SI"
 
ok ho quasi tutto chiaro, ma mi manca ancora qualche pezzo.
Riassunto completo:

Ho una tabella (PRENOTAZIONI) dalla quale estraggo quelle comprese tra due date (data2 e data3) e stampo a video il risultato della query, il tutto col seguente codice:

PHP:
$result = mysql_query("SELECT * FROM PRENOTAZIONI WHERE PROSSIMACONSEGNA between '$data2' and '$data3' AND ORDINATA='NO' ORDER BY PROSSIMACONSEGNA ASC")
or die(mysql_error());
 
// visualizza i dati in tabella

echo "<table bgcolor='white' border='1' cellpadding='5' align='center'>";
echo "<tr bgcolor='yellow'><th>COGNOME E NOME</th><th>CONS. PAZ. DAL</th><th>NOTE</th><th>CATEGORIA</th></th><th>ORDINATA</th><th></th></tr>";
 
// loop tra i risultati della query del database, visualizzandoli in tabella
while($row = mysql_fetch_array( $result )) {
 
// emissione del contenuto di ogni riga in una tabella
echo "<tr>";
echo '<td nowrap><b>' . $row['COGNOMENOME'] . '</b></td>';
echo '<td align="center"><b>' . $row['PROSSIMACONSEGNA'] . '</b></td>';
echo '<td><b>' . $row['NOTE'] . '</b></td>';
echo '<td align="center">' . $row['CATEGORIA'] . '</td>';
// echo '<td align="center">' . $row['SCADENZA'] . '</td>';
echo '<td align="center">' . $row['ORDINATA'] . '</td>';

bene, a questo punto dovrei aggiungere la possibilità, magari con un click su un pulsante, di cambiare da No a SI la colonna ORDINATA (della tabella PRENOTAZIONI) delle righe appena selezionate e stampate a video.. il massimo sarebbe inserire accanto ad ogni riga stampata a video una checkbox da spuntare e poi cliccando su un tasto (es "contrassegna come ordinate") faccio eseguire la modifica sulla colonna ORDINATA
 

Discussioni simili