Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL]Problem z wyświetlaniem nazw z bazy
Forum PHP.pl > Forum > Przedszkole
Michal92
Witam
Do $dodatki przypisane zostają wartości z formularza z checkboxów. Po wybraniu tylko jednej opcji prawidłowa nazwa z bazy zostaje wyświetlona, gdy zostaną zaznaczone dwie lub więcej opcji pojawia się błąd: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/students/inf2016/michal_92/public_html/Zadanie_5/index3.php
W innych miejscach gdzie wyświetlam, które dodatki zostały wybrane (bez wyciągania nazw z bazy danych) jest ok.

  1. foreach ($dodatki as $value)
  2. {
  3. $query="SELECT nazwa FROM ".$prefix."_dodatki WHERE dodatek_ID = " .$value."";
  4. $wyniki = mysql_query($query, $link);
  5.  
  6. while($wiersz = mysql_fetch_array($wyniki))
  7. {
  8. echo $wiersz[nazwa];
  9. }
  10. }
darko
Przed mysql_query zrób sobie zawsze var_dump($query) i zobaczysz wtedy jak wygląda Twoje zapytania i będziesz wiedzieć, co należy poprawić.
Michal92
Problem jest w tym, że do $value są od razu przypisane wartości, które zostały zaznaczone w checkboxach - WHERE dodatek_ID = 5 6 . Nie mogę na razie wymyślić jak poradzić sobie z tym, żeby najpierw przypisana została tylko 5, wypisana nazwa i później 6 i wypisana nazwa.
Widzę, że foreach najpierw przypisuje wszystkie wartości do $value i jak się je wyświetla to są ciągiem znaków. Więc jak do tego podejść?
viking
Nie są, wykonywana jest pętla dla każdej wartości. Moim zdaniem nie potrzebujesz też jeździć tak po bazie. Wystarczy implode(',', $jakaszmienna) i w zapytaniu WHERE dodatek_ID IN(?) gdzie oczywiście ? to wynik implode. Zobacz w dokumentacji co ta funkcja robi.
Michal92
Nie pomyślałem o tym, spróbuję tego rozwiązania. Dobrze myślę, że foreach domyślnie między kolejnymi elementami przypisywanymi do $value wstawia spację?
viking
Tylko iteruje, nic nie wstawia.
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.