Witam!
Otóż mam problem z edycją danych w bazie. Mianowicie:
Mam formularz który dodaje rekordy do bazy, obok formularza wyświetlają się dodane rekordy wraz z przyciskami 'usuń' i 'edytuj'. Usuwać usuwa rekordy z bazy, jest natomiast problem z edycją. Zawartość edytowanego rekordu wczytuje się do nowego formularza prawidłowo, lecz kiedy wprowadzę nową nazwę i zatwierdzę wybór zmiana nie następuje. Rekord pozostaje taki jaki był - nie zmieniony.
Niżej zamieszczam mój kod:
<?php
include 'db.php'; // połączenie się z bazą danych
$tabela = 'kategoria'; // zdefiniowanie tabeli MySQL
include('header.php');
echo '<div class="content">'; if (isset($_SESSION['login'])) { // dostęp dla zalogowanego użytkownika $nazwa = $_POST['nazwa'];
$b = trim($_REQUEST['b']); if (isset($_POST['send'])){ $wynik = mysql_query("SELECT * FROM $tabela WHERE nazwa='$nazwa'"); echo '<div class="erroralert"><div class="alercik"><b>Podana kategoria juz istnieje!</b><br><br><br><a href="ekategoria.php"><img src="img/back2.gif"></a></div></div>'; }
elseif ($nazwa) {
$ins = mysql_query("INSERT INTO $tabela VALUES ('', '$nazwa')"); if($ins) echo '<div class="erroralert"><div class="alercik"><b>Kategoria została dodana prawidłowo!</b><br><br><br><a href="ekategoria.php"><img src="img/back2.gif"></a></div></div>'; else echo '<div class="erroralert"><div class="alercik"><b>Błąd: nie udało się dodać nowego rekordu</b><br><br><br><a href="ekategoria.php"><img src="img/back2.gif"></a></div></div>'; }
}
?>
<table border="0" cellpadding="0" cellspacing="0" width="670">
<tr>
<td width="400" valign="top">
<form action="ekategoria.php" method="post">
<table border="0" cellpadding="1" cellspacing="1" width="400">
<tr>
<td width="150">Nazwa kategorii: </td>
<td><input type="text" name="nazwa" class="kontakt"/></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" name="send" value="Dodaj" class="przycisk"/></td>
</tr>
<tr>
<td>
<?php
if($b == 'edit' and
!empty($id)) { $wynik2 = mysql_query("SELECT * FROM $tabela WHERE idK='$id'") or
die('Błąd zapytania'); /* zapytanie do tabeli */ echo '<form action="ekategoria.php" method="post"> <input type="hidden" name="b" value="save" />
<input type="hidden" name="id" value="'.$id.'" />
Nazwa: </td><td><input type="text" name="nazwa" value="'.$r['nazwa'].'" class="kontakt"/></td><tr><td colspan="2" align="right">
<input type="submit" value="Popraw" class="przycisk"/>
</form>';
}
}
elseif($b == 'save') { # odbieramy zmienne z formularza
$id = $_POST['idK'];
$nazwa = trim($_POST['nazwa']); mysql_query("UPDATE $tabela SET nazwa='$nazwa' WHERE idK='$id'") or
die('Błąd zapytania'); }
?>
</td>
</tr>
</table>
</form><br><br>
</td>
<td width="270" align="right" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="250">
<tr>
<td width="30" align="center" style="color: #777777">Id.</td><td width="100" align="left" style="color: #777777">Nazwa kat.</td><td width="140" align="center" style="color: #777777">Opcje:</td>
</tr>
<?php
$i = 1;
?>
<tr>
<td width="30" align="center">
<?php echo $i++; echo '.'; ?></td>
<td width="100" align="left">
<?php echo $r['nazwa']; ?> </td>
<td width="140" align="center">
<?php
if($a == 'del' and
!empty($id)) { echo '<div class="erroralert"><div class="alercik"><b>Rekord został usunięty!</b><br><br><br><a href="ekategoria.php"><img src="img/back2.gif"></a></div></div>'; }
echo "<a href=\"ekategoria.php?a=del&id={$r['idK']}\"><img src=\"img/del.gif\"></a><a href=\"ekategoria.php?b=edit&id={$r['idK']}\"><img src=\"img/edit.gif\"></a>"; }
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
<?php
}
else echo '<div class="erroralert"><div class="alercik"><b>Nie masz dostępu do tej części strony!</b><br><br><br><a href="index.php"><img src="img/back2.gif"></a></div></div>'; include('footer.php');
?>
Jeśli ktoś miałby pomysł jak to rozwiązać - proszę o pomoc.