Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Case i problem z pytaniem Mysql
jacusek
post 12.07.2010, 13:42:05
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

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


Witam.
Oto kawałek kodu:
  1. default:
  2. echo "<h1><center>Znajdz badanie</center></h1>\n";
  3. <center><form method=\"POST\" form action=\"".$file."\">
  4. <p><strong>Nazwisko</strong><br/>
  5. <input type=\"text\" name=\"nazwisko\" size=\"30\" maxlength=\"30\"><br\>
  6. <p><strong>Imie</strong><br/>
  7. <input type=\"text\" name=\"imie\" size=\"30\" maxlength=\"30\"></p>";
  8. include ('badanie2.php');
  9. echo badanie();
  10. echo "<p><input type=\"submit\" name=\"submit\" value=\"Szukaj\"></p></center>";
  11. $sql = 'select id, id_usg, nazwisko, imie, rok_ur, opis, termin from usg_opis where
  12. nazwisko =\''.$_POST['nazwisko'].'\' and imie =\''.$_POST['imie'].'\'and bad=\''.$_POST['bad'].'\'
  13. order by nazwisko limit 30';
  14. //w tym miejscu należy wprowadzić stronnicowanie zwłaszcza w przypadku wyszukiawnia tylko przez rok urodzenia
  15. $rez= mysqli_query($mysqli, $sql);
  16. echo "<TABLE CELLPADDING=5 BORDER=1>";
  17. echo "<center><TR>
  18. <TD><B>NAZWISKO</B></TD>
  19. <TD><B>IMIE</B></TD>
  20. <TD><B>ROK_UR</B></TD>
  21. <TD><B>TERMIN</B></TD>
  22. <TD><B>OPIS</B></TD>
  23. <TD><B>DRUKUJ</B></TD>
  24. </TR>";
  25. while ($rekord = mysqli_fetch_array($rez, MYSQLI_ASSOC)) {
  26. $id = $rekord['id'];
  27. $nazwisko = $rekord['nazwisko'];
  28. $imie = $rekord['imie'];
  29. $bad = $rekord['id_bad'];
  30. $opis = $rekord['opis'];
  31. $termin = $rekord['termin'];
  32. echo "<TR>";
  33. echo "<TD>$nazwisko</TD><TD>$imie</TD><TD>$rok_ur</TD><TD>$termin</TD><TD>$opis</TD>";
  34. echo "<TD><A HREF=\"$file?action=druk&id=$id\">Drukuj</A></TD>";
  35. echo "</TR>";
  36. echo "</center></TR>";
  37. }
  38. echo "</TABLE>";
  39. break;
  40. }
  41. ?>

Powyżej część default kodu od case i z tym mam błąd polegający na tym, że czepia się 26 linii. Mam taki błąd:
mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given.
Poniżej kod do funkcji badanie():
  1. function badanie()
  2. {
  3. include('connect2.php');
  4. echo '<select name=\"bad\">';
  5. echo "<option value =\"bad\">----wybierz badanie------</option>";
  6. $sql2= "select id_usg, bad_usg from usg order by 2";
  7. $rez2= mysqli_query($mysqli, $sql2);
  8. while ($nowaTab=mysqli_fetch_array($rez2, MYSQLI_ASSOC))
  9. {
  10. $mid = intval($nowaTab['id_usg']);
  11. $badanie=$nowaTab['bad_usg'];
  12. echo"<option value=\"".$mid."\">".$badanie."</option>";
  13. }
  14.  
  15. echo "</select>";
  16. }

Bez tej funkcji wyszukiwarka działa. Niestety nie wiem dlaczego tak jest, ponieważ jak zmieniłem na get to przekazuje się zmienna id_usg i wydaje mi się, ze wszystko powinno być OK.
Z góry dzięki

Czu ktoś mógłby mi pomoc. Zauważyłem, ze problem leży w zapytaniu z 13 linijki - kiedy wywalam warunek ostatni dotyczący zmiennej $_POST['bad'] wówczas wyszukiwarka działa. Jednak dla mnie to za mało.
Robiłem też var_dump z tej zmiennej i pokazywało mi raz wartość 'bad' a innym razem cyfry będące odpowiednikami wskazanych badań w formularzu.
Nie bardzo już wiem gdzie mam błąd.

Ten post edytował jacusek 12.07.2010, 13:42:29
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 24.07.2025 - 23:04