Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> w czym tkwi blad?, problem z zapytaniem sql
-Gość_kuba-
post
Post #1





Goście







  1. <?php
  2. //jezeli zmienna link ma wartosc 'sprawdzian'
  3. case 'sprawdzian':
  4. if (isset($_POST['sprawdzian_wyslij'])) {
  5. $sprawdzian_message = NULL;
  6. if (strlen($_POST['sprawdzian_data']) > 0) {
  7. $sprawdzian_data1 = $_POST['sprawdzian_data'];
  8. } else {
  9. $sprawdzian_data1 = FALSE;
  10. $sprawdzian_message .= &#092;"podaj datę.<br />n\";
  11. }
  12. if (strlen($_POST['sprawdzian_przedmiot']) > 0) {
  13. if (in_array ($_POST['sprawdzian_przedmiot'], $przedmioty)) {
  14. $sprawdzian_przedmiot1 = $_POST['sprawdzian_przedmiot'];
  15. } else {
  16. $sprawdzian_przedmiot1 = FALSE;
  17. $sprawdzian_message .= &#092;"dozwolone nazwy przedmiotów to: <span style=\"color: #dc143c;\">angielski, chemia, fizyka, geografia, matematyka, niemiecki, po, polski, rel
  18. gia i wos.</span><br />n\";
  19. }
  20. } else {
  21. $sprawdzian_przedmiot1 = FALSE;
  22. $sprawdzian_message .= \"podaj nazwę przedmiotu.<br />n\";
  23. }
  24. if (strlen($_POST['sprawdzian_zakres']) > 0) {
  25. $sprawdzian_zakres1 = escape_data($_POST['sprawdzian_zakres']);
  26. } else {
  27. $sprawdzian_zakres1 = FALSE;
  28. $sprawdzian_message .= \"podaj zakres sprawdzianu.<br />n\";
  29. }
  30. if ($sprawdzian_data1 && $sprawdzian_przedmiot1 && $sprawdzian_zakres1) {
  31. $query_sprawdzian = \"INSERT INTO plan_prace (data, kategoria, przedmiot, zakres) VALUES ('$sprawdzian_data1', 'sprawdzian', '$sprawdzian_przedmiot1', '$sprawdzian_zakres1')\";
  32. $result_sprawdzian = @mysql_query($query_sprwadzian);
  33. if ($result_sprawdzian) {
  34. header (\"Location: http://\" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . \"/admin.php\");
  35. exit();
  36. mysql_free_result($query_sprawdzian);
  37. } else {
  38. $sprawdzian_message = 'awaria systemu.' . mysql_error() . '<br />' . &#092;"n\";
  39. }
  40. }
  41. }
  42. break;
  43. ?>


gdzie jest blad? dlaczego wyswietla mi : ' awaria systemu.Query was empty ' questionmark.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Masz case, ale nie widzę switch.
Weż sobie sprawdĽ składnię instrukcji switch case i popraw.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
-Gość_kuba-
post
Post #3





Goście







nie, nie, nie smile.gif
to akurat mam dobrze, po prostu nie wkleilem calosci kodu...
a tak dla pewnosci i moze ulatwienia wkleje uzupelnie kod, gdyby ktos chcial sprawdzic:

  1. <?php
  2. //obsluga formularza dla dodawania sprawdzianow
  3. if (isset($_POST['sprawdzian_wyslij'])) {
  4. $sprawdzian_message = NULL;
  5. if (strlen($_POST['sprawdzian_data']) > 0) {
  6. $sprawdzian_data1 = $_POST['sprawdzian_data'];
  7. } else {
  8. $sprawdzian_data1 = FALSE;
  9. $sprawdzian_message .= &#092;"podaj datę.<br />n\";
  10. }
  11. if (strlen($_POST['sprawdzian_przedmiot']) > 0) {
  12. if (in_array ($_POST['sprawdzian_przedmiot'], $przedmioty)) {
  13. $sprawdzian_przedmiot1 = $_POST['sprawdzian_przedmiot'];
  14. } else {
  15. $sprawdzian_przedmiot1 = FALSE;
  16. $sprawdzian_message .= &#092;"dozwolone nazwy przedmiotów to: <span style=\"color: #dc143c;\">angielski, chemia, fizyka, geografia, matematyka, niemiecki, po, polski, rel
  17. gia i wos.</span><br />n\";
  18. }
  19. } else {
  20. $sprawdzian_przedmiot1 = FALSE;
  21. $sprawdzian_message .= \"podaj nazwę przedmiotu.<br />n\";
  22. }
  23. if (strlen($_POST['sprawdzian_zakres']) > 0) {
  24. $sprawdzian_zakres1 = escape_data($_POST['sprawdzian_zakres']);
  25. } else {
  26. $sprawdzian_zakres1 = FALSE;
  27. $sprawdzian_message .= \"podaj zakres sprawdzianu.<br />n\";
  28. }
  29. if ($sprawdzian_data1 && $sprawdzian_przedmiot1 && $sprawdzian_zakres1) {
  30. $query_sprawdzian = \"INSERT INTO plan_prace (data, kategoria, przedmiot, zakres) VALUES ('$sprawdzian_data1', 'sprawdzian', '$sprawdzian_przedmiot1', '$sprawdzian_zakres1')\";
  31. $result_sprawdzian = @mysql_query($query_sprwadzian);
  32. if ($result_sprawdzian) {
  33. header (\"Location: http://\" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . \"/admin.php\");
  34. exit();
  35. mysql_free_result($query_sprawdzian);
  36. } else {
  37. $sprawdzian_message = 'awaria systemu.' . mysql_error() . '<br />' . &#092;"n\";
  38. }
  39. }
  40. }
  41.  
  42.  
  43. //formularz - dodawanie sprawdzianow
  44. echo &#092;"<div class=\"nazwa\">dodawanie sprawdzianów (plan.php) <span style=\"color: #000;\">::</span> <a href=\"admin.php\" style=\"color: #dc143c;\">wróć</a></div>n\";
  45. if (isset($sprawdzian_message)) {
  46. echo &#092;"<div class=\"message\">\" . $sprawdzian_message . \"</div>n\";
  47. }
  48. echo &#092;"<form action=\"\" . $_SERVER['PHP_SELF'] . \"?link=sprawdzian\" method=\"post\">n\";
  49. echo &#092;"<table cellspacing=\"0\" cellpadding=\"0\">n\";
  50. echo &#092;"<tr>n\";
  51. echo &#092;"<td class=\"sprawdzian_lewa\">data:</td>n\";
  52. echo &#092;"<td class=\"sprawdzian_prawa\"><input type=\"text\" name=\"sprawdzian_data\" size=\"20\" maxlength=\"10\" value=\"\"; if (isset($_POST['sprawdzian_data'])) {echo stripslashes($_POST['sprawdzian_data']);} echo \"\" /></td>n\";
  53. echo &#092;"</tr>n\";
  54. echo &#092;"<tr>n\";
  55. echo &#092;"<td class=\"sprawdzian_lewa\">przedmiot:</td>n\";
  56. echo &#092;"<td class=\"sprawdzian_prawa\"><input type=\"text\" name=\"sprawdzian_przedmiot\" size=\"40\" value=\"\"; if (isset($_POST['sprawdzian_przedmiot'])) {echo stripslashes($_POST['sprawdzian_przedmiot']);} echo \"\" /></td>n\";
  57. echo &#092;"</tr>n\";
  58. echo &#092;"<tr>n\";
  59. echo &#092;"<td class=\"sprawdzian_lewa\">zakres:</td>n\";
  60. echo &#092;"<td class=\"sprawdzian_prawa\"><input type=\"text\" name=\"sprawdzian_zakres\" size=\"40\" value=\"\"; if (isset($_POST['sprawdzian_zakres'])) {echo stripslashes($_POST['sprawdzian_zakres']);} echo \"\" /></td>n\";
  61. echo &#092;"</tr>n\";
  62. echo &#092;"<tr>n\";
  63. echo &#092;"<td id=\"sprawdzian_razem\" colspan=\"2\"><input type=\"submit\" name=\"sprawdzian_wyslij\" value=\"dodaj sprawdzian\" /></td>n\";
  64. echo &#092;"</tr>n\";
  65. echo &#092;"</table>n\";
  66. echo &#092;"</form>n\";
  67. ?>
Go to the top of the page
+Quote Post
tiraeth
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


Cytat
$result_sprawdzian = @mysql_query($query_sprwadzian);


chyba powinno być: $result_sprawdzian = @mysql_query($query_sprawdzian);

linia 33

pozdro!
Go to the top of the page
+Quote Post
-Gość_kuba-
post
Post #5





Goście







byloby fajnie, gdybys jeszcze powiedzial, czy to sie rozni od tego, co ja mam...
bo jak dla mnie, oba kody sa identyczne.
myle sie?
Go to the top of the page
+Quote Post
-Gość_kuba-
post
Post #6





Goście







aaa... widze.
przepraszam. po prostu juz sam czytam 'sprawdzian' nawet jezeli jest napisane 'sprwadzian'.
dzieki.
Go to the top of the page
+Quote Post
-Gość_kuba-
post
Post #7





Goście







korzystajac z okazji to prosilbym o jeszcze jedna rade...
jak zrobic cos takiego?

mam taki oto kod:
  1. <?php
  2. //tworzy tablice przedmiotow
  3. $przedmioty = array('angielski', 'chemia', 'fizyka', 'geografia', 'matematyka', 'niemiecki', 'po', 'polski', 'religia', 'wos');
  4.  
  5. //wyswietla wszystkie nazwy przedmiotow z tablicy
  6. foreach ($przedmioty as $wyswietl) {
  7. echo $wyswietl . ', ';
  8. }
  9. ?>


i problem polega na tym, ze chcialbym, aby dla ostatniego przedmiotu w tablicy nie wyswietlalo na koncu przecinka. mam pewien pomysl, ale nie wiem, czy da sie cos takiego napisac, bo nie znam odpowiednich funkcji... zliczyc ilosc przedmiotow w tablicy i od ostatniego odjac dwa ostatnie znaki przy wyswietlaniu, czuli przecinek i spacje...
jak zrobic cos, co by dzialalo tak jak chce?
Go to the top of the page
+Quote Post
rogrog
post
Post #8





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


  1. <?php
  2.  
  3.  
  4. echo implode (', ', $przedmioty);
  5.  
  6.  
  7. ?>


można by też doklejać do stringa a potem obciac dwa ostatnie znaki, ale takie rozwiazanie jest logiczniejsze.

offtopic:

Kuba, ile razy mam Ci powtarzać żebys się zarejestrował?!? Wez sie zarejestruj to bedziesz mogl np. edytowac posty a nie wklejać trzy pod rzad... no i wogóle


--------------------
Go to the top of the page
+Quote Post
-Gość_kuba-
post
Post #9





Goście







hehe... brak mi czasu na to tongue.gif mam za duzo dziobania, bo moze nie myslales (ze wzgledu na moje pytania, no ale w koncu dopiero sie ucze) jestem tegorocznym mautrzysta smile.gif ale co to ma do rzeczy...
jedno pytanko jeszcze.

chodzi mi o sortowanie:

  1. <?php
  2. //tworze tablice
  3. $przedmioty = array ('angielski', 'chemia', 'fizyka', 'geografia', 'matematyka', 'niemiecki', 'po', 'polski', 'religia', 'wos');
  4.  
  5. //sortuje tablice
  6. $przedmioty = sort ($przedmioty);
  7.  
  8. //wyswietlam wyniki
  9. echo implode (', ', $przedmioty);
  10. ?>


i zwraca mi blad: implode(): Bad arguments.
Go to the top of the page
+Quote Post
Paul
post
Post #10





Grupa: Zarejestrowani
Postów: 636
Pomógł: 0
Dołączył: 22.10.2003
Skąd: Katowice

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


Tylko tyle wystarczy:
  1. <?php 
  2. sort ($przedmioty);
  3. ?>

Bo inaczej przypisujesz wartosc logiczna skutku tej funkcji, czyli true w tym wypadku...
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 14:22