Salve! Sto costruendo un pannello di gestione via pagina web PHP per modificare dati in un db SQL.
Qualche dettaglio prima di esporre il problema, dato che mi sembra un po' complesso.
L'intero database è costituito da tre tabelle con medesima struttura (stesso numero di colonne, con nomi analoghi, contenenti i dati relativi alle storie presenti in serie a fumetti. Un albo è individuato tramite la tabella che è il nome della serie, un anno di pubblicazione e un numero progressivo che per ogni anno ricomincia da 1. Ogni numero di ogni anno quindi intercetta alcune righe della tabella.
Esempio: accedo al numero $numero=5 dell'anno $anno=1980 della tabella=$mensili attraverso un "SELECT * FROM $mensili WHERE Anno=$anno AND Numero=$numero ORDER BY Id ASC". Ottengo una certa quantità di dati che organizzo con un semplice while in una griglia ordinata all'interno di un <form> che invoca una pagina modifica.php passandogli i dati via POST.
Il problema sorge dal momento che, se da un lato riesco facilmente a richiamare il blocco di informazioni da una data tabella di un dato anno con un dato numero e inserirle come value in appositi moduli <input> editabili, non so come inviare il blocco di modifiche alla tabella attraverso modifica.php, dal momento che ogni campo input relativo all'autore ha name='autore' per ogni replica del ciclo while, analogamente il campo titolo ha name='titolo', quindi non so come trasmettere tutti i dati alla tabella nell'esatta riga dato che perdo gli id di ogni campo, e mi ritrovo dei dati omonimi.
La pagina PHP mi carica, per esempio, cinque titoli da quel SELECT, ma io devo modificare/integrare il campo Titolo della seconda voce e l'Autore della quarta... Sto cercando una soluzione ma non trovo qualcosa che faccia al caso mio, a parte introdurre un <button> "Invia modifiche" per ciascuna riga di dati. Ho considerato di dare ai vari campi input un name tipo 'autore'.$id, ma poi?
Su singola riga di tabella procedo tranquillamente poiché con WHERE intercetto dove procedere, ma con più righe mi perdo, o probabilmente non so cosa cercare dato che sono fermo da tre giorni su questo punto che è l'ultimo dato che la parte front end del sito è terminata, con tutte le chiamate al db perfettamente funzionanti.
Il while, alleggerito dei blocchi div per dare decenza alla pagina è al momento questo:
Codice PHP:
while ($riga = mysqli_fetch_array($conta)) {
$id=$riga['Id'];
$autori=$riga['Autori'];
$protagonista=$riga['Protagonista'];
$titolo=$riga['Titolo'];
// altre variabili
echo "<input type='text' name='autori' size='12' value='$autori'>";
echo "<input type='text' name='protagonista' size='12' value='$protagonista'>";
echo "<input type='text' name='titolo' size='12' value='$titolo'>";
// eccetera per tutte le variabili
echo "<hr color='#f75740'>";
}