Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]problem z mysqli_fetch_array
Forum PHP.pl > Forum > Przedszkole
jacusek
Witam.
Mam takie dwa kody
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Prosta strona HTML</title>
  6. <script language="javascript" type="text/javascript" src="ajax.js"></script>
  7. </head>
  8. <body>
  9. <form>
  10. <table width="300" border="0">
  11. <tr>
  12. <td width="200">
  13. <?php
  14. include("connect2.php");
  15. echo "<select name="mid" onchange="ajaxFunction()" id="mid" width="25">"
  16. ."<option value="">--wybierz--</option>";
  17. $result2 = mysqli_query($mysqli,"SELECT id_lek, nazwisko_imie FROM lekarze1 ORDER BY nazwisko_imie");
  18. while ($row = mysqli_fetch_array($result2)) {
  19. $mid = intval($row['id_lek']);
  20. $lekarz = $row['nazwisko_imie'];
  21. echo"<option value="".$mid."">".$lekarz."</option>";
  22. }
  23. echo"</select><br>";
  24. ?>
  25. </td>
  26. <td width="100">
  27. <div id='ajaxDiv'></div>
  28. </td>
  29. </tr>
  30. </table>
  31. </form>
  32. </body>
  33. </html>


i drugi
  1. <?php
  2. $mid = $_GET['mid'];
  3. include('connect2.php');
  4. $dropdown = "<select name="ID_BAD" id="ID_BAD" width="25">";
  5. $dropdown .= "<option value="">--wybierz--</option>";
  6.  
  7. $result2 = ("SELECT id, ID_BAD FROM bad_lek WHERE mid=".$mid."order by ID_BAD");
  8. $rez=mysqli_query($mysqli, $result2);
  9.  
  10. while ($row = mysqli_fetch_array($rez, MYSQLI_ASSOC)) {
  11. $id = intval($row['id']);
  12. $id_bad = $row['id_bad'];
  13. $dropdown .= "<option value="".$id."">".$id_bad."</option>";
  14. }
  15. $dropdown .= "</select><br>";
  16. echo $dropdown;
  17. ?>

do tego jest jest jeszcze krótki skrypt Ajaxa, który powoduje że po wybraniu z pierwszego skryptu jednej z opcji "wyskakuje" drugi select. No właśnie i problem jest przy tym drugim select. Otóż pokazuje mi się komunikat
mysqli_fetch_array() expects parameter 1 to be mysqli_result, i podaje numer linijki do której się czepia - jest to
  1. while ($row = mysqli_fetch_array($rez, MYSQLI_ASSOC))
.
Próbowałem już różnych kombinacji, ale już nie mam pomysłów. Szukałem odpowiedzi na dręczące mnie pytanie i niestety jej nie znalazłem.
Z góry dzięki za pomoc
nospor
blad wskazuje, ze masz blad zapytania.
Na przyszlość takie proste sprawy diagnozuj sam:
http://nospor.pl/php-faq-n29.html#faq-6

Jak zrobisz to co tam napisane, to może dojrzysz ze brakuje między innymi spacji w zapytaniu winksmiley.jpg
jacusek
Tak nie bezpośrednio, ale pomogło. Może świeższy umysł rano. Teraz kod wygląda tak (musiałem zrobić jeszcze joina żeby było tak o co mi dokładnie chodziło, ale teraz jest OK. A zdałem sobie sprawę, ze warunek Order wcale mi nie był potrzebny w tym przypadku.
  1. <?php
  2. $mid = $_GET['mid'];
  3. include('connect2.php');
  4. $dropdown = "<select name=\"ID_BAD\" id=\"ID_BAD\" width=\"25\">";
  5. $dropdown .= "<option value=\"\">--wybierz--</option>";
  6.  
  7. $result2 = ("SELECT id, opis FROM bad_lek join badania on (bad_lek.ID_BAD=badania.ID_BAD) WHERE mid= ".$mid."")
  8. or die('Zapytanie: '.$result2.' --- błąd: '.mysql_error());
  9. $rez=mysqli_query($mysqli, $result2);
  10.  
  11. while ($row = mysqli_fetch_array($rez, MYSQLI_ASSOC)) {
  12. $id = intval($row['id']);
  13. $id_bad = $row['opis'];
  14. $dropdown .= "<option value=\"".$id."\">".$id_bad."</option>";
  15. }
  16. $dropdown .= "</select><br>";
  17. echo $dropdown;
  18. ?>
nospor
Cytat
Tak nie bezpośrednio
Taki był zamiar, żebyś sam doszedł do błedu. Dzięki temu w przyszłości już przy takich błędach nie będziesz latał po forach, tylko będziesz wiedział jak je samemu zdiagnozować. A jak już będziesz miał diagnozę to i do rozwiązania będzie bliżej.
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.