Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 3.12.2008 Ostrzeżenie: (0%)
|
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. |
|
|
|
![]() |
Post
#2
|
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź |
Proszę dodać BBCode.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 23 Dołączył: 2.10.2007 Skąd: Słupsk Ostrzeżenie: (0%)
|
Poczytaj o podstawach baz danych... Poza tym, to jest bez znaczenia od jakiego ID się zacznie.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 13:49 |