Witam!
Mam napisany skrypt do edycji oraz usuwania rekordów w bazie danych. I tutaj jest problem, poniważ przy wczytywaniu rekordów z bazy jest ok. Potem do skryptu służącego do edycji oraz usuwania, przysyłam id danego rekordu, aby tam jest edytować bądź usuwać. I tutaj pojawia się, problem, ponieważ strona przesyła id równe: 000000000000001 podczas, gdy w bazie to id wynosi 1. Nie wiem, czy to przez to nie działa, ale tak mi się wydaje i nie umiem sobie z tym poradzić. Prosiłbym o pomoc.
show.php:
<?php
$connection = @mysql_connect('localhost', 'root', 'hasło')
or die('Brak połączenia z serwerem MySQL');
$db = @mysql_select_db('strona', $connection)
or die('Nie mogę połączyć się z bazą danych');
$wynik = mysql_query("SELECT * FROM users") or die('Błąd zapytania');
if(mysql_num_rows($wynik) > 0) {
echo "<table cellpadding=\"2\" border=1>";
while($r = mysql_fetch_object($wynik)) {
echo "<tr>";
echo "<td>".$r->login."</td>";
echo "<td>".$r->password."</td>";
echo "<td>".$r->email."</td>";
echo "<td>
<a href=\"delete.php?a=delete&id={$r->id}\">DEL</a>
<a href=\"delete.php?a=edit&id={$r->id}\">EDIT</a>
</td>";
echo "</tr>";
}
echo "</table>";
}
mysql_close($connection);
?>
delete.php
<?php
$a = trim($_REQUEST['a']);
$id = trim($_GET['id']);
$connection = @mysql_connect('localhost', 'root', 'hasło') or die('Brak połączenia z serwerem MySQL');
$db = @mysql_select_db('strona', $connection) or die('Nie mogę połączyć się z bazą danych');
if ($a == 'edit' and !empty($id))
{
/* zapytanie do tabeli */
$wynik = mysql_query("SELECT * FROM users WHERE id='$id'") or die ('Błąd zapytania');
/*
wyświetlamy wyniki, sprawdzamy,
czy zapytanie zwróciło wartość większą od 0
*/
if (mysql_num_rows($wynik) > 0)
{
/* odczytujemy zawartość wiersza z tabeli */
$r = mysql_fetch_assoc($wynik);
/* wczytujemy dane do formularza */
/*
w formularz znajdują się ukryte pola "a"
z wartością "save" i pole "id" z wartością
zmiennej id
*/
echo '<form action="show.php" method="post">
<input type="hidden" name="a" value="save" />
<input type="hidden" name="id" value="'.$id.'" />
login:<br />
<input type="text" name="login"
value="'.$r['login'].'" /><br />
hasło:<br />
<input type="text" name="password"
value="'.$r['password'].'" /><br />
e-mail:<br />
<input type="text" name="email"
value="'.$r['email'].'" /><br />
<input type="submit" value="popraw" />
</form>';
}
elseif ($a == 'save') {
$id = $_POST['id'];
$login = $_POST['login'];
$password = $_POST['password'];
$email = $_POST['email'];
mysql_query("UPDATE users SET login='$login', password='$password', email='$email' WHERE id='$id'") or die('Błąd zapytania');
echo 'Dane zostały zaktualizowane';
}
elseif ($a == 'delete')
{
mysql_query("DELETE * FROM users WHERE id='$id'") or die ('Błąd zapytania');
echo 'Pomyślnie usunięto rekord!. <a href=\"show.php">Powrót</a>';
}
}
?>