Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Brak zerowania id
Forum PHP.pl > Forum > PHP
grizzlies
Witam
Stawiam pierwsze kroki w PHP i mam pewien problem:
Stworzyłem formularz który dodaje rekordy i umożliwia ich edycję oto on:
<?php include ('index.php'); ?>

<h3>Dodawanie sprzętu do katalogu:</h3>

<?php

// formularz Edycja istniejącego produktu

if ($_GET['akcja'] == 'edytuj') {

$zapytanie = "SELECT * FROM test WHERE id=".$_GET['id'];
$produkt = mysql_query($zapytanie);
$rekord = mysql_fetch_assoc($produkt);
?>
<p><b>Edytuj wprowadzony sprzęt:</b></p>

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">

ID: <input readonly name="id" value="<?php echo $rekord['id'] ?>" size="2"/>

Produkt: <input name="nazwa" value="<?php echo $rekord['nazwa'] ?>" size="40" />

kcal/100g: <input name="symbol" value="<?php echo $rekord['symbol'] ?>" size="5" />

<input type="submit" name="zmien" value="Zmień" />
<input type="reset" value="Resetuj" />

</form><br />

<?php
}

// zmiana istniejącego produktu

if ($_POST['zmien']) {

// UWAGA: nie powinno się bez sprawdzenia wprowadzać do bazy tego, co podał użytkownik!
$zapytanie = "UPDATE test SET nazwa='".$_POST['nazwa']."', symbol=" . $_POST['symbol'] . " WHERE id=".$_POST['id'];

$produkt = mysql_query($zapytanie);

if ($produkt)
echo "<p>Aktualizacja powiodła się</p>";
else
echo "<p>Aktualizacja nie powiodła się!</p>";
}


// dodawanie nowego produktu

if ($_POST['dodaj']) {

$nowy_produkt = trim($_POST['nazwa']);
$test = trim($_POST['symbol']);

// sprawdź, czy taka nazwa produktu jest już w bazie
$zapytanie = "SELECT nazwa FROM test WHERE nazwa='$nowy_produkt'";
$produkt = mysql_query($zapytanie);

if (mysql_num_rows($produkt) > 0)
echo "<p>Produkt o takiej nazwie już istnieje. Podaj inną nazwe.</p>";

else {
$zapytanie = "INSERT INTO test (nazwa, symbol) VALUES ('$nowy_produkt', $test)";
$wstaw = mysql_query($zapytanie);

if ($wstaw)
echo "<p>Dodano nowy sprzęt do bazy</p>";
else
echo "<p>Dodanie nowego sprzętu nie powiodło się</p>";
}
}

?>

<p><b>Dodaj sprzęt</b></p>

<!-- formularz Dodaj nowy produkt -->

<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
Nazwa wprowadzanego sprzętu: <input name="nazwa" size="35" />
Ilosc sztuk: <input name="symbol" size="5" />
<br></br>
<input type="submit" name="dodaj" value="Dodaj" />
<input type="reset" value="Resetuj" />
</form>
<p />

<?php
// wygeneruj tabelę ze wszystkimi produktami

$zapytanie = "SELECT * FROM test ORDER BY nazwa";
$test = mysql_query($zapytanie) or die ('Błąd: ' . mysql_error());

?>
<hr />
<table>
<tr><th>Id</th><th>Nazwa sprzętu</th><th>Ilosc sztuk</th><th></th></tr>

<?php
while ($rekord = mysql_fetch_assoc($test)) {
?>
<tr>
<td><?php echo $rekord['id']; ?></td>
<td><a href="<?php echo $_SERVER['PHP_SELF'];?>?akcja=edytuj&id=<?php echo $rekord['id'];?>">
<?php echo $rekord['nazwa'];?></a></td>
<td><?php echo $rekord['symbol'];?></td>
</tr>
<?php
}
?>
<table>

</body>
</html>

I teraz w czym problem jeśli ręcznie usunę wszystkie wcześniej wprowadzane rekordy do bazy i znów zacznę dodawać rekordy to ich id nie idzie od 1 tylko pamięta od ostatniego rekordu (jak ostatni rekord miał id 15 to jak wszystkie wykasuje i wstawię nowy rekord to on zamiast mieć id 1 to ma 16) i tak dalej.
Proszę o pomoc dzięki z góry.
blooregard
Proszę dodać BBCode.
jareeny
Poczytaj o podstawach baz danych... Poza tym, to jest bez znaczenia od jakiego ID się zacznie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.