Ja znalazłem prostszy sposób, ale nie wiem czy działa.
Posklejałem trochę kodu, który i tak jest w rozsypce
1)Pobranie wszystkich Janów Kowalskich i edytuj przy nazwisku
2)Przekazanie w adresie id do zapytania
3)Wygenerowanie formularza z danymi z mysql i zamiana
4)Wysłanie do aktualizacji
W bazie tworzymy id, imie, nazwisko nazywamy osoby.
Tworzymy osoby_edycja.php i osoby_edycja2.php.
<?
$query="SELECT * FROM osoby";
echo "<td>".$r[1]."</td>"; // Pierwsza kolumna imie echo "<td>".$r[2]."</td>"; // Druga kolumna nazwisko echo "<td><a href=\"osoby_edycja2.php?id={$r[0]}\">Edytuj</a></td>"; // odsyłacz z id osoby do następnej strony z formularzem edycji }
}
?>
<?
$id = $_GET['id'];
$wynik=mysql_query("SELECT * FROM osoby WHERE id='".$id."' "); // Szukaj w bazie osoby o id
echo "Edycja dla: {$row['nazwisko']} {$row['imie']} <br /><br />"; echo "<form method=\"post\" action=\"edyc_osoby.php\" />"; echo "<input type=\"text\" value=\"{$row['imie']}\">\n"; echo "<input type=\"text\" value=\"{$row['nazwisko']}\">\n"; echo "<input type=\"hidden\" name=\"id\" value=\"{$row['id']}\" />"; //musi być, inaczej nadpisze wszystkie echo "<br /><br /><input type=\"submit\" name=\"wyslij\" value=\"Zapisz »\" class=\"button\" /> "; echo "<input type=\"reset\" value=\"Wyczyść\" class=\"button\" />"; }
?>
Teraz plik edyc_osoby.php ze skryptem, którego treści nie zobaczysz dzięki header:
mysql_connect('127.0.0.1', 'user', 'pass') OR die("Błąd w połączeniu z serwerem!");
mysql_select_db('baza') OR die("Błąd w połączeniu z bazą danych!");
$imie = addslashes(trim($_POST['Imie']));
$nazwisko = addslashes(trim($_POST['Nazwisko']));
$id = addslashes(trim($_POST['id']));
$zapytanie = "UPDATE osoby SET id='$id',imie='$imie',nazwisko='$nazwisko'";
$idzapytania = mysql_query($zapytanie);
header("Location: komunikat.html"); //strona, którą zobaczysz