Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]problem z mysqli_fetch_array
jacusek
post
Post #1





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

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


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
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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 (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
jacusek
post
Post #3





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

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


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. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.
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: 19.09.2025 - 23:23