- Home
- Categorie
- Coding e Sistemistica
- PHP
- modificare una riga della tabella visualizzata
-
modificare una riga della tabella visualizzata
Ho realizzato uan query che mi stampa a video i risultati di una tabella.
Ora devo fare che ad ogni riga della tabella che visualizzo metto un pulsante modifica , per poter effettuare effettivamente la modifica di quel campo
Come posso fare? come faccio a richiamare e/o a poter modificare i campi di quella riga?[PHP]<?php
include("richiama connessione al database");$sql=mysql_query("SELECT * FROM tabella1 ") //titoli della tabela da stampare echo " <form> <table border=0 align=center cellspacing=6 cellpadding=1> <tr align=center> <td>COGNOME</td> <td>NOME</td> </tr> "; // assegna all'array i valori dei campi, in base all'ordine dei campi del db while ($riga = mysql_fetch_array($sql, MYSQL_NUM)){ echo "<tr align=center><td>$riga[0]<td>$riga[1]<td> <input type="submit" name="Submit" value="Modifica" /></td></tr>"; } echo "</table> </form>"; mysql_free_result($sql); ?>[/PHP]
-
Dovrai creare un form per ogni risultato e memorizzare in un hidden data l'id o comunque un dato univoco , cliccando su "modifica" ti recuperi questo dato e passi alla variazione
-
Oh!caspiterina ....un casino, devo fare un form action per ogni riga?
Ti ringrazio per avermi risposto , ti chiedo troppo se potresti farmi un esempio.
Grazie
-
Beh, un casino non è, li fa il php i Form
[php]while ($riga = mysql_fetch_array($sql, MYSQL_NUM)){
echo "<tr align=center><td>".$riga['campo']."</td>
<td><form action="modify.php" method="POST">
<input type="hidden" name="id" value="".$riga['id']."" />
<input type="submit" name="submit" value="Modifica" /></td></tr>";
}[/php]facendo così ti recuperi l'id della riga e poi elabori come/cosa modificare
-
scusa ma per te ['id'] e ['campo'] sono i nome del campi del DB giusto? perchè io ho messo i campi del mio db ma mi da il seguente Notice:
Notice: Undefined index: id in C:\Programmi\EasyPHP 2.0b1\www\mod.php on line 6
Notice: Undefined index: nomecampo in C:\Programmi\EasyPHP 2.0b1\www\mod.php on line 8
-
si al posto di id e campo devi mettere i nomi campo della tua tabella1
Correggo
dato che usi MYSQL_NUM metti $riga[0], $riga[1]
Scusa la svista, non ci avevo fatto caso
-
Grazie a te per la pazienza.
Se ho capito bene ho aggiunto alla riga o glia ltri campi che mi visulaizza e con il form mi richiama il file modifica.php e ci sto , ora ho 2 domande :- nel file modifica cosa metto il campo id e gli altri campi m giusto ma come sono collegati,puoi fare un piccolo esempio
- nel caso non so quanti campi sono o meglio voglio rendere il file utilizzabile per diverse tabelle e quindi che hanno diversi file vorrei evitare di specificare riga[0]....riga[1] come nel caso seguente caso :
[PHP] $sql=mysql_query('select * from members');
while ($riga = mysql_fetch_array($sql, MYSQL_NUM)){
echo "<tr align=center><td>".$riga[0].$riga[1].$riga[2]."</td>
<td><form action="modify.php" method="POST">
<input type="hidden" name="id" value="".$riga[1]."" />
<input type="submit" name="submit" value="Modifica" /></td></tr>";
}
[/PHP]Come posso fare?
-
Beh diventa molto più laborioso, dovresti recuperare il numero di campi di ogni tabella e quindi costruire la pagina di modifica "al caso".
Per come fare la modifica puoi semplicemente far visualizzare i dati in input box modificare quello che va modificato ed al submit fare un update della tabella legando il tutto sempre all'id
-
Todo claro,
Grazie sei stato gentilissimo
-
di nulla