Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] autoincrement
Forum PHP.pl > Forum > Przedszkole
-marcek-
witam
posiadam baze danych a wniej:

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
imie CHAR(100) NOT NULL,
nazwisko CHAR(100) NOT NULL,
sad CHAR(100) NOT NULL,
zdnia CHAR(100) NOT NULL,
uwagi CHAR(255) NOT NULL

teraz posiadam plik php w ktorym dodaje kolejne pozycje i wszystko jest ok ale za kazdym razem musze wpisywac kolejny ID - czy moze to samo sie wpisywac?

moj plik.php

  1. <?
  2. $nhost="localhost";
  3. $nbaza="baza";
  4. $nuser="baza";
  5. $npassword="baza";
  6.  
  7. $skasuj = trim($_GET["skasuj"]);
  8. $popraw = trim($_GET["popraw"]);
  9. $id = trim($_GET["id"]);
  10. $imie = trim($_GET["imie"]);
  11. $nazwisko = trim($_GET["nazwisko"]);
  12. $sad = trim($_GET["sad"]);
  13. $zdnia = trim($_GET["zdnia"]);
  14. $uwagi = trim($_GET["uwagi"]);
  15.  
  16.  
  17.  
  18.  
  19. if ((($skasuj<>"")or($popraw<>""))and($id=="")) {
  20.  
  21. // ### pobranie rekordu z tabeli oraz kasowanie
  22.  
  23. if ($popraw<>"") $nr=$popraw; else $nr=$skasuj;
  24. $baza = mysql_connect($nhost, $nuser, $npassword);
  25. if ($baza) {
  26. $wynik = mysql_select_db($nbaza,$baza);
  27. if ($wynik) {
  28. $wynik = mysql_query("SELECT * FROM spadkiso WHERE id=$nr", $baza);
  29. if (($wynik)and(mysql_num_rows($wynik)>0)) {
  30. if ($skasuj<>"") {
  31. mysql_query("DELETE FROM spadkiso WHERE id=$skasuj", $baza);
  32. echo "<b>Rekord skasowany:</b>";
  33. }
  34. $pole=mysql_fetch_array($wynik);
  35. $id = $pole["id"];
  36. $imie = $pole["imie"];
  37. $nazwisko = $pole["nazwisko"];
  38. $sad = $pole["sad"];
  39. $zdnia = $pole["zdnia"];
  40. $uwagi = $pole["uwagi"];
  41. }
  42. }
  43. mysql_close($baza);
  44. }
  45. } else if ($id<>"") {
  46.  
  47. // ### dopisanie lub uaktualnienie tabeli
  48.  
  49. if (!eregi("^[0-9]+$",$id)) echo "<br><b>błąd w polu ID:</b>";
  50.  
  51.  
  52. else {
  53.  
  54. $baza = mysql_connect($nhost, $nuser, $npassword);
  55. if ($baza) {
  56. $wynik = mysql_select_db($nbaza,$baza);
  57. if ($wynik) {
  58. if ($popraw=="") {
  59. $wynik = mysql_query("
  60. INSERT INTO spadkiso VALUES($id,'$imie','$nazwisko','$sad','$zdnia','$uwagi')
  61. ", $baza);
  62. if ($wynik) {
  63. echo "<br><b>Rekord został dodany</b>";
  64. $id=""; $imie=""; $nazwisko=""; $sad=""; $zdnia=""; $uwagi="";
  65. }
  66. } else {
  67. $wynik = mysql_query("
  68. UPDATE spadkiso SET id=$id, imie='$imie',
  69. nazwisko='$nazwisko', sad='$sad', zdnia='$zdnia', uwagi='$uwagi' where id=$popraw
  70. ", $baza);
  71. if ($wynik) {
  72. echo "<br><b>Rekord został uaktualniony</b>"; $popraw="";
  73. $id=""; $imie=""; $nazwisko=""; $sad=""; $zdnia=""; $uwagi="";
  74. }
  75. }
  76. }
  77. mysql_close($baza);
  78. }
  79.  
  80. }
  81. }
  82.  
  83. // ### napis na guziku formularza
  84.  
  85. if ($popraw<>"") $guzik="Uaktualnij";
  86. else if ($skasuj<>"") $guzik="Przywróć";
  87. else { $guzik="Dodaj"; };
  88.  
  89. // ### formularze
  90.  
  91. $fimie = htmlspecialchars(stripslashes($imie));
  92. $fnazwisko = htmlspecialchars(stripslashes($nazwisko));
  93.  
  94. $formularze = <<<KONIEC
  95.  
  96. <table border=0><tr><td valign=top>
  97. <form action="admin.php" method="get">
  98. <input type="hidden" name="popraw" value="$popraw">
  99. <table><tr>
  100.   <td valign=top>ID:</td>
  101.   <td><input type="text" name="id" value="$id"></td>
  102. </tr><tr>
  103.   <td valign=top>imie:</td>
  104.   <td><input type="text" name="imie" value="$imie"></td>
  105. </tr><tr>
  106.   <td valign=top>nazwisko:</td>
  107.   <td><input type="text" name="nazwisko" value="$nazwisko"></td>
  108. </tr><tr>
  109.   <td valign=top>sad:</td>
  110.   <td><input type="text" name="sad" value="$sad"></td>
  111. </tr><tr>
  112.   <td valign=top>z dnia:</td>
  113.   <td><input type="text" name="zdnia" value="$zdnia"></td>
  114. </tr><tr>
  115.   <td valign=top>uwagi:</td>
  116.   <td><input type="text" name="uwagi" value="$uwagi"></td>
  117. </tr><tr>
  118. <td>&nbsp;</td>
  119. <td><input type="submit" value=" $guzik "></td>
  120. </tr></table>
  121. </form>
  122.  
  123. </td><td valign=top>
  124.  
  125. <form action="admin.php" method="get">
  126. <table bgcolor=#ccccff><tr>
  127.   <td valign=top>ID:</td>
  128.   <td><input type="text" name="popraw"></td>
  129. </tr><tr>
  130. <td>&nbsp;</td>
  131. <td><input type="submit" value=" uaktualnij "></td>
  132. </tr></table>
  133. </form>
  134.  
  135. <form action="admin.php" method="get">
  136. <table bgcolor=#ffcccc><tr>
  137.   <td valign=top>ID:</td>
  138.   <td><input type="text" name="skasuj"></td>
  139. </tr><tr>
  140. <td>&nbsp;</td>
  141. <td><input type="submit" value=" skasuj "></td>
  142. </tr></table>
  143. </form>
  144.  
  145. </td></tr></table>
  146. KONIEC;
  147.  
  148. echo $formularze;
  149.  
  150. // ### pomocniczy fragment, wypisuje dane z bazy na ekran
  151.  
  152. echo "<hr>";
  153. $baza = mysql_connect($nhost, $nuser, $npassword);
  154. mysql_select_db($nbaza,$baza);
  155. $wynik = mysql_query("SELECT * FROM spadkiso",$baza);
  156. mysql_close($baza);
  157. $wierszy = mysql_num_rows($wynik);
  158. $pol = mysql_num_fields($wynik);
  159. echo "<table cellpadding=0 cellspacing=1 border=1><tr>
  160. <td><b>id</b></td><td><b>imie</b></td><td><b>nazwisko</b></td>
  161. <td><b>sad</b></td><td><b>z dnia</b></td><td><b>uwagi</b></td></tr>";
  162. for ($i=0;$i<$wierszy;$i++) {
  163. $wiersz = mysql_fetch_row($wynik);
  164. echo "<tr>";
  165. for ($j=0;$j<$pol;$j++) echo "<td>".$wiersz[$j]."</td>";
  166. echo "</tr>";
  167. }
  168. echo "</table>";
  169. ?>
nospor
Wstawiaj NULL, zamist konkretnego id....

nie: INSERT INTO spadkiso VALUES($id,'$imie','$nazwisko','$sad','$zdnia','$uwagi')
a: INSERT INTO spadkiso VALUES(null,'$imie','$nazwisko','$sad','$zdnia','$uwagi')
-marcek-
fakt teraz po tej zamianie cokolwiek bym nie wpisal czy 1 czy 4 czy nawet 100 on sam wpisuje kolejna liczbe ale jesli zostawie puste czyli tak jak bym chcial to niestety nie dodaje sad.gif
nospor
Pisałeś choć linijkę tego kodu?

Sam dales warunek, że dodajesz dopiero wtedy, gdy podasz id:
else if ($id<>"")
więc się nie dziw, ze jak nie podasz ID to się nic nie dodaje....
-marcek-
to prawda ze sam niewiele napisalem tego kodu, wszystko znalalem na roznych forach polaczylem, na poczatku nie dzialalo ale czytalem czytalem i przeznam ze jestem z tego dumny sam zrobilem ze dziala przeznam tez ze nie do konca wszystko rozumiem ale teraz coraz wiecej umiem, i tak naprawde to moj 1 post dotyczacy tego skrypciku, wiem ze moze wnerwiac moja niewiedza ludzi ktorzy znaja to ale ja mamnadzieje tez sie kiedys znac...
a tyczasem ...


fakt jest else if ($id<>"")

czyli jezeli w tym miejscu poszukam jakiegos innego rozwiazania bedzie mi sie dodawalo samo?
pozdrawiam i dziekuje za baardzo szybkie odpowiedzi
-marcek-
niestety nie moge nic znalesc co mam tam wpisac, czy wiecie co wpisac aby ruszylo?
dzieki
-marcek-
jak to wywale calkiem to przestaje plik dzialac wiec musze cos zmienic - pomozcie prosze
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.