Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Prośba o zlokalizowanie 2 błędów, Sam nie daję rady :(
artur81
post
Post #1





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


Witam szanownych forumowiczów. Mam prośbe o zlokalizowanie 2 błędów w poniższym skrypcie.
1. Skrypt nie chce mi edytowac danych
2. Jak kasuję dane i pozniej dodam nowe to dostaja one numer wyzszy o jeden od ostatniej.
Dokladnie tak, ze mam 5 rekordow (o numerach od 1 do 5) , skasuje rekord numer 5 , dodam nowy i on otrzymuje numer 6 ( a powinien 5 bo piąty wczesniej
skasowalem).

  1. <?php
  2. mysql_connect (&#092;"localhost\", \"root\", \"\") or
  3. die (&#092;"Nie można nawiązać połączenia z MySql\");
  4. mysql_select_db (&#092;"artur81\") or
  5. die (&#092;"Nie można nawiązać połącznia z bazą artur81\");
  6.  
  7. if ($akcja == 'dodaj') {  // dodawanie wiersza do tabeli
  8. if ($pyt && $odp1 && $odp2 && $odp3 && $odppop) {
  9. $zapytanie = &#092;"INSERT INTO pytania (nr, pyt, odp1, odp2, odp3, odppop)\";
  10. $zapytanie .= &#092;"VALUES ('', '$pyt' , '$odp1', '$odp2', '$odp3', '$odppop');\";
  11. $wynik = mysql_query ($zapytanie);
  12. }
  13. } elseif ($akcja == 'popraw') { // poprawianie
  14.  if ($pyt && $odp1 && $odp2 && $odp3 && $odppop) {
  15. $zapytanie = &#092;"UPDATE pytania SET (pyt='$pyt', odp1='$odp1', odp2='$odp2', odp3='$odp3', odppop='$odppop' WHERE nr='$nr';)\";
  16. $wynik = mysql_query ($zapytanie);
  17.  }
  18. } elseif ($akcja == 'edytuj') {
  19. $zapytanie = &#092;"SELECT * FROM pytania WHERE nr='$nr';\";
  20. $wynik = mysql_query ($zapytanie);
  21. $rekord = mysql_fetch_array ($wynik);
  22. $nr = $rekord[0];
  23. $pyt= $rekord[1];
  24. $odp1 = $rekord[2];
  25. $odp2 = $rekord[3];
  26. $odp3 = $rekord[4];
  27. $odppop = $rekord[5];
  28. print '<form method = \"post\"> Poprawa rekordu:';
  29. print '<input type = \"hidden\" name=\"akcja\" value=\"popraw\">';
  30. print '<input type = \"hidden\" name=\"nr\" value=\"'.$nr.'\"><table>';
  31. print '<tr><td>Pytanie:</td><td><input type = \"text\" name=\"pyt\" value=\"'.$pyt.'\"></td></tr>';
  32. print '<tr><td>Odpowiedź pierwsza:</td><td><input type = \"text\" name=\"odp1\" value=\"'.$odp1.'\"></td></tr>';
  33. print '<tr><td>Odpowiedź druga:</td><td><input type = \"text\" name=\"odp2\" value=\"'.$odp2.'\"></td></tr>';
  34. print '<tr><td>Odpowiedź trzecia:</td><td><input type = \"text\" name=\"odp3\" value=\"'.$odp3.'\"></td></tr>';
  35. print '<tr><td>Odpowiedź poprawna:</td><td><input type = \"text\" name=\"odppop\" value=\"'.$odppop.'\"></td></tr>';
  36. print '</table><input type=\"submit\" value=\"Popraw dane\"></form>';
  37. }
  38. elseif ($akcja == 'skasuj') {
  39. $wynik =mysql_query (&#092;"DELETE FROM pytania WHERE nr='$nr';\");
  40. }
  41.  
  42.  
  43. $wynik = mysql_query (&#092;"SELECT * FROM pytania;\");
  44. print &#092;"<table cellpadding=5 cellspacing=5 border=0>\";
  45. print &#092;"<tr><td><b>Numer</b></td><td align = center><b>Pytanie</b></td>\";
  46. print &#092;"<td align = center><b>Odpowiedź 1</b></td><td align = center><b>Odpowiedź 2</b></td>\";
  47. print &#092;"<td align = center><b>Odpowiedź 3</b></td><td align = center><b>Odpowiedź poprawna</b></td></tr>n\";
  48.  
  49. while ($rekord = mysql_fetch_array ($wynik)) {
  50. $nr = $rekord[0];
  51. $pyt = $rekord[1];
  52. $odp1 = $rekord[2];
  53. $odp2 = $rekord[3];
  54. $odp3 = $rekord[4];
  55. $odppop = $rekord[5];
  56.  
  57. print &#092;"<tr><td align = center>$nr</td><td>$pyt</td><td>$odp1</td><td>$odp2</td><td>$odp3</td><td>$odppop</td><td>\";
  58. print &#092;"<A HREF = \"admin.php?akcja=skasuj&nr=$nr\">Skasuj</A></td><td>\";
  59. print &#092;"<A HREF = \"admin.php?akcja=edytuj&nr=$nr\">Edytuj</A></td></tr>n\";
  60. }
  61. print &#092;"</table>\";
  62. print '<form method=\"post\">Nowy rekord:';
  63. print '<input type = \"hidden\" name=\"akcja\" value=\"dodaj\"><table>';
  64. print '<tr><td>Pytanie</td><td><input type = \"text\" name=\"pyt\"></td></tr>';
  65. print '<tr><td>Odpowiedź 1</td><td><input type = \"text\" name=\"odp1\"></td></tr>';
  66. print '<tr><td>Odpowiedź 2</td><td><input type = \"text\" name=\"odp2\"></td></tr>';
  67. print '<tr><td>Odpowiedź 3</td><td><input type = \"text\" name=\"odp3\"></td></tr>';
  68. print '<tr><td>Odpowiedź poprawna</td><td><input type = \"text\" name=\"odppop\"></td></tr>';
  69. print '</table><input type=\"submit\" value=\"Dodaj\"></form>';
  70. ?>



  1. # phpMyAdmin MySQL-Dump
  2. #
  3. # Host: localhost Database : artur81
  4.  
  5. # --------------------------------------------------------
  6. #
  7. # Table structure for table 'pytania'
  8. #
  9.  
  10. CREATE TABLE pytania (
  11. nr int(11) NOT NULL AUTO_INCREMENT,
  12. pyt text NOT NULL,
  13. odp1 text NOT NULL,
  14. odp2 text NOT NULL,
  15. odp3 text NOT NULL,
  16. odppop text NOT NULL,
  17. PRIMARY KEY (nr),
  18. KEY nr (nr),
  19. UNIQUE nr_2 (nr)
  20. );
  21.  
  22. #
  23. # Dumping data for table 'pytania'
  24. #
  25.  
  26. INSERT INTO pytania VALUES ( '1', 'Kiedy wybuchło powstanie listopadowe ?', 'W nocy z 29.11.1830 na 30.11.1830.', 'W nocy z 28.11.1830 na 29.11.1830.', 'W nocy z 27.11.1830 na 28.11.1830.', 'W nocy z 29.11.1830 na 30.11.1830.');
  27. INSERT INTO pytania VALUES ( '2', 'Kto w 1815 r. założył Tygodnik Wileński ? ', 'Michał Radziwiłł', 'Jan Skrzynecki', 'Joachim Lelewel', 'Joachim Lelewel');
  28. INSERT INTO pytania VALUES ( '3', 'Kto był przywódcą spisku podchorążych , który doprowadził do wybuchu powstania ?', 'Józef Chłopicki', 'Piotr Wysocki', 'Ignacy Prądzyński', 'Piotr Wysocki');
  29. INSERT INTO pytania VALUES ( '4', 'Kiedy miała miejscie wygrana przez Polaków potyczka pod Stoczkiem??', '25 lutego 1831', '15 sierpnia 1831', '14 lutego 1831 ', '14 lutego 1831 ');
  30. INSERT INTO pytania VALUES ( '5', 'Jak miał na imię ostatni wódz naczelny powstania listopadowego ?', 'Maciej', 'Józef', 'Iwan', 'Maciej');
  31. INSERT INTO pytania VALUES ( '13', '3', '4', '5', '6', '7');
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
phpion.thc.net.p...
post
Post #2





Grupa: Zablokowani
Postów: 11
Pomógł: 0
Dołączył: 22.11.2004
Skąd: Dabrowa Gornicza

Ostrzeżenie: (0%)
-----


Co do 1 bledu. Zmien zapytanie w akcji 'popraw' na:
  1. <?php
  2. $zapytanie = &#092;"UPDATE pytania SET pyt='$pyt', odp1='$odp1', odp2='$odp2', odp3='$odp3', odppop='$odppop' WHERE nr='$nr'\";
  3. ?>

i powinno byc ok. Natomiast sprawa nr 2 - to nie jest blad :) Tak ma byc :).
Go to the top of the page
+Quote Post
artur81
post
Post #3





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


Poprawiłem ale niestety pojawia sie dalej ten sam błąd (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) , a swoją drogą dlaczego w punkcie drugim tak musi być (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Nie zauważyłem żeby ta zmienna zostawała gdzieś zapamiętywana.
Go to the top of the page
+Quote Post
orson
post
Post #4





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

Ostrzeżenie: (0%)
-----


witam ...

pole auto_increment zwieksza zawsze o 1 ... a dlaczego tak ma byc (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) bo np. jak wywalisz jakis dokument z bazy i nastapiloby przetasowanie id to wszystkie linki poza strona przestana dzialac ... tak samo z produktami w sklepie, userami i innymi ... tak ma byc ... jezeli chcesz sie tego pozbyc to napisz wlasna funkcje ktora bedzie przetasowywala id ...

pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 19:02