Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z kodem
Forum PHP.pl > Forum > Przedszkole
szymonk237231
Witajcie, mam problem. Chodzi o to, że chcę zrobić, że pojawia się lista rozwijana z nazwą dodanego do bazy danych klubu (to działa). Po kliknięciu w liście rozwijanej na nazwe klubu ma pod spodem pojawić się informacja o klubie wraz z grającymi w nim zawodnikami. Chodzi o to, że to drugie nie chce działać (nie chcą się wyświetlić dane klubu itp).
Co mam źle w kodzie?
Nie mogę się połapać co źle zrobiłem.
Dzięki za pomoc i Wesołych Świąt ;D

  1. <?php
  2. function connection() {
  3. // serwer
  4. $mysql_server = "localhost";
  5. // admin
  6. $mysql_admin = "root";
  7. // hasło
  8. $mysql_pass = "";
  9. // nazwa baza
  10. $mysql_db = "haxball";
  11. // nawiązujemy połączenie z serwerem MySQL
  12. @mysql_connect($mysql_server, $mysql_admin, $mysql_pass)
  13. or die('Brak połączenia z serwerem MySQL.');
  14. // łączymy się z bazą danych
  15. @mysql_select_db($mysql_db)
  16. or die('Błąd wyboru bazy danych.');
  17. }
  18. ?>
  19. <form action="" method="post">
  20. <select name="nazwa" onchange="this.form.submit()">
  21. <option value="">Wybierz zespol</option>
  22. <?php
  23. connection();
  24. $wynik = mysql_query("SELECT * FROM druzyna")
  25. or die('Błąd zapytania');
  26. if(mysql_num_rows($wynik) > 0) {
  27.  
  28.  
  29. while($r = mysql_fetch_assoc($wynik)) {
  30. echo '<option value="'.$r['nazwa'].'">'.$r['nazwa'].'</option>';
  31. $dzial = $r['nazwa'];
  32. }
  33.  
  34. }
  35.  
  36.  
  37. if($dzial) {
  38. while($rek = mysql_fetch_array($wynik)) {
  39. echo $rek['nazwa']."<br />";
  40. }
  41. }
  42.  
  43. ?>
  44. </select>
  45. </form>
  46.  
  47.  
  48.  
  49. </select>
  50. </form>
  51.  
lukesh
Ten skrypt jest ogólnie trochę sknocony... Masz najpierw pętlę while, potem warunek, jeśli istnieje zmienna $dzial to się ma wykonać kolejna pętla na tym samym zapytaniu do bazy - tak się nie da. Jedno zapytanie, jedna pętla. Najprościej - zrób jedno zapytanie, które pobierze nazwy klubów, a drugie zapytanie, które pobierze inne informacje o klubie, gdzie - używając WHERE - np. nazwa klubu jest taka, jak pole w formularzu. W tym skrypcie nawet nie masz odwołania do innych kolumn, jak tylko do "nazwy", więc skąd ma Ci pobrać inne dane...
szymonk237231
Cytat(lukesh @ 8.04.2012, 01:39:31 ) *
Ten skrypt jest ogólnie trochę sknocony... Masz najpierw pętlę while, potem warunek, jeśli istnieje zmienna $dzial to się ma wykonać kolejna pętla na tym samym zapytaniu do bazy - tak się nie da. Jedno zapytanie, jedna pętla. Najprościej - zrób jedno zapytanie, które pobierze nazwy klubów, a drugie zapytanie, które pobierze inne informacje o klubie, gdzie - używając WHERE - np. nazwa klubu jest taka, jak pole w formularzu. W tym skrypcie nawet nie masz odwołania do innych kolumn, jak tylko do "nazwy", więc skąd ma Ci pobrać inne dane...


Chodzi o to, że nazwet nazwy nie chce pobrać. Bo z resztą danych bym sobie poradził.

Ale postaram się zrobić tak jak mówisz

Nie wiem czy mnie dobrze zrozumiałeś (bądź może i ja Ciebie nie zruzmiałem), ale chodzi o to, że w Liście Rozwijanej mają się pojawiać pola, które są dodane do bazy danych. Po kliknięciu w pole wyświetlą się dane klubu.
lukesh
Musisz przede wszystkim zrobić jakiś warunek - osobno musi być skrypt, który pobiera nazwy, a osobno, który pobiera opisy. Nazwy pobierane są zawsze, jak ładowany jest skrypt. Potem powinieneś zrobić warunek if($_POST['nazwa']) i tutaj wstawić kod, który pobierze więcej informacji.
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.