PDA

View Full Version : [PHP] Modifica dati


Traxsung
02-09-2006, 12:24
Una volta inserire i dati all'interno di un database, ho la necessità di poter apportare delle modifiche. la mia necessità è quella di poterli visualizzare tutti sotto forma di tabella o elenco e a fianco di ogni voce una piccola icona che permetta la modifica di quella riga.

Consigli???

Grazie

anonimizzato
02-09-2006, 15:29
Crei la tabella html ad hoc a seconda dei campi che hai, compreso l'ID dei record. Poi li riproponi con un ciclo nella pagina.

Accanto ad ogni record metti un link all'icona di modifica tipo:


<a href="modifica.php?modifica=<?php echo $row["ID"]; ?>"


poi in modifica.php fai fare l'UPDATE del record a seconda dell'ID passato in GET.

Dato che però quando farai il submit la varibile ?modifica=ID verra persa, salvala in un campo hidden della form di modifica tipo:


<input type="hidden" name="id" value="<?php echo $_GET["modifica"]; ?>" />

Traxsung
02-09-2006, 18:24
io ho provato a fare così per la visualizzazione, ma mi da errore:

$risultato = mysql_query("SELECT NOME, COGNOME, INDIRIZZO FROM rubrica");

while ($riga = mysql_fetch_row($risultato) {
printf ("NOME: %s COGNOME: %s INDIRIZZO: %s", $riga[0], $riga[1] ,$riga[2]);
}

mysql_free_result($risultato);


Il mio intento era quello di crearlo sotto forma di tabella.... :muro: ma non va

Traxsung
02-09-2006, 18:34
Ho anche provato la funzione mysql_fetch_row() ma non va :muro:

Questo è il codice da me inserito:

$sql = "SELECT NOME,COGNOME,INDIRIZZO FROM rubrica";
$result = mysql_query($sql);
$array = mysql_fetch_row($result);
print "NOME: ".$array[0]."<br>";
print "COGNOME: ".$array[1]."<br>";
print "INDIRIZZO: ".$array[1]."<br>";

Di seguito invece riporto l'errore che mi visualizza a video:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\gestionale peppe\visualizza.php on line 18
NOME:
COGNOME:
INDIRIZZO:

Da cosa può dipendere ?

anonimizzato
04-09-2006, 19:22
prova a controllare la correttezza della query da PhpMyAdmin

Traxsung
04-09-2006, 20:39
Per la visualizzazione ho risolto come potete vedere anche voi dallo script:

<?
// dati per la connessione al database

$db_host = "localhost";
$db_user = "root";
$db_password = "";
$db_name = "test";

// connessione al database

$db = mysql_connect ($db_host, $db_user, $db_password);
$db_forum = mysql_select_db ($db_name, $db);

// query di inserimento


$sql = "SELECT NOME,COGNOME,TELEFONO FROM rubrica";
$result = mysql_query($sql) or die ("Errore: " .mysql_error() );
echo "<br><br>";
echo "<center><table><tr><td>NOME</td><td>COGNOME</td><td>TELEFONO</td></tr>"; // Questo stampa la prima riga con i nomi delle colonne
while($array = mysql_fetch_array($result))
{
print "<tr>"; //Apre la riga
print "<td>".$array['NOME']."</td>";
print "<td>".$array['COGNOME']."</td>";
print "<td>".$array['TELEFONO']."</td>";
print "</tr>"; //chiude la riga
}
echo "</table></center>";
?>


Adesso il mio intente è quello di inserire per ogni riga una piccola icona, che una volta cliccato sopra mi permetta di poter modificare quel determinato dato. Naturalmente la stessa cosa con un'icona di eliminazione per eliminare il recordi selezionato.

Sgurbat... ha provato a spiegarmelo, ma non ci ho capito molto.... :muro:

Traxsung
05-09-2006, 22:56
Stanto a quanto mi è stato suggerito, dovrei inserire all'interno del mio ciclo while anche questa:

<a href="modifica.php?modifica=<?php echo $row["ID"]; ?>"

pertroppo non so come va inserito. Ho provato a fare così:

Print <td><a href="modifica.php?modifica=<?php echo $row["ID"]; ?>"</td>

...ma non va :muro:

Dove sbaglio?? qual'è la sintassi esatta??

Traxsung
06-09-2006, 21:00
uffa... ci smanetto da diverso tempo, ma niente :muro:

Traxsung
06-09-2006, 23:44
Ragazzi, mi spiegate questo:

poi in modifica.php fai fare l'UPDATE del record a seconda dell'ID passato in GET.

Dato che però quando farai il submit la varibile ?modifica=ID verra persa, salvala in un campo hidden della form di modifica tipo:


<input type="hidden" name="id" value="<?php echo $_GET["modifica"]; ?>" />


Mi fare un'esempio pratico?

Traxsung
07-09-2006, 23:29
ragazzi.. io ho provato a fare così:

<?
// dati per la connessione al database

$db_host = "localhost";
$db_user = "root";
$db_password = "";
$db_name = "test";

// connessione al database

$db = mysql_connect ($db_host, $db_user, $db_password);
$db_forum = mysql_select_db ($db_name, $db);

// query di aggiornamento-modifica
<input type="hidden" name="ID_UTENTE" value="<?php echo $_POST["modifica"]; ?>" />
$query = "DELETE FROM rubrica WHERE ID_UTENTE = .array['ID_UTENTE']";

?>

naturalmente salvando tutti in file modifica.php
ma non va. Dov'è che sbaglio??
Potete spiegarmelo??

Traxsung
09-09-2006, 20:35
aiutatemi please...

anonimizzato
10-09-2006, 09:54
$query = "DELETE FROM rubrica WHERE ID_UTENTE = '".array['ID_UTENTE']."'";