Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Przydzielenie zawodnika do odpowiedniej drużyny
Forum PHP.pl > Forum > Przedszkole
GLoo3
Witam. Tworzę dla siebie małą stronkę o lidze piłkarskiej i mam pewien problem. Otóż mam w bazie danych stworzone tabele kluby i piłkarze. I chciałbym, aby piłkarz, który w polu klub ma wpisane np. Manchester United wyświetlał się tylko w profilu tego klubu, a nie jak mam to teraz w każdych. Poniżej podaję kod wyświetlający profil klubu
  1. <?
  2. $id=$_GET['id'];
  3. include("dbinfo.inc.php");
  4.  
  5.  
  6. mysql_connect($db_host,$user,$password);
  7. @mysql_select_db($database) or die("Nie znaleziono bazy danych");
  8.  
  9.  
  10.  
  11. $res = mysql_query(" SELECT * FROM clubs WHERE id='$id'");
  12.  
  13. while( $val = mysql_fetch_array($res, MYSQL_ASSOC) ) {
  14. echo ('<table width="650" border="0" cellspacing="0" cellpadding="0"><tr><td width="140">Nazwa</td><td width="510"><b>'.$val['nazwa'].'</b></td></tr><tr><td>Przydomek</td><td>'.$val['przydomek'].'</td></tr><tr><td>Barwy</td><td>'.$val['barwy'].'</td></tr><tr><td>Data zalozenia&nbsp;</td><td>'.$val['data'].'</td></tr><tr><td>Adres</td><td>'.$val['adres'].'</td></tr><tr><td>Stadion</td><td>'.$val['stadion'].'</td></tr><tr><td>Liczba miejsc </td><td>'.$val['miejsca'].'</td></tr><tr><td>Prezes</td><td>'.$val['prezes'].'</td></tr><tr><td>Trener</td><td>'.$val['trener'].'</td></tr><tr><td>Liga</td><td>'.$val['liga'].'</td></tr></table>');
  15. }
  16.  
  17. echo ('<b> Piłkarze </b><hr>');
  18. echo ('Obrońcy<hr>');
  19. $res = mysql_query(" SELECT * FROM players WHERE pozycja='obronca'");
  20.  
  21. while( $val = mysql_fetch_array($res, MYSQL_ASSOC) ) {
  22. echo ('<a href="index.php?site=players&id='.$val['id'].'">'.$val['imie'].'&nbsp;&nbsp;'.$val['nazwisko'].'<br></a>');
  23. }
  24.  
  25. echo ('<hr>Pomocnicy<hr>');
  26. $res = mysql_query(" SELECT * FROM players WHERE pozycja='Pomocnik'");
  27.  
  28. while( $val = mysql_fetch_array($res, MYSQL_ASSOC) ) {
  29. echo ('<a href="index.php?site=players&id='.$val['id'].'">'.$val['imie'].'&nbsp;&nbsp;'.$val['nazwisko'].'<br></a>');
  30. }
  31.  
  32. echo ('<hr>Napastnicy<hr>');
  33. $res = mysql_query(" SELECT * FROM players WHERE pozycja='napastnik'");
  34.  
  35. while( $val = mysql_fetch_array($res, MYSQL_ASSOC) ) {
  36. echo ('<a href="index.php?site=players&id='.$val['id'].'">'.$val['imie'].'&nbsp;&nbsp;'.$val['nazwisko'].'<br></a>');
  37. }
  38. ?>


Proszę powiedzcie mi jak mam uporać się z tym problemem.
Meares
Musisz dodać dodatkowy warunek w WHERE.
  1. SELECT * FROM players WHERE pozycja='napastnik' AND klub='Manchester United'
GLoo3
Ok, ale co jeżeli na przykład klubem będzie Chelsea ? Chodzi o to, aby warunek klub był uzupełniany nazwą klubu na którego profilu aktualnie jesteśmy.
Próbowałem czegoś takiego
  1. SELECT * FROM players WHERE pozycja='napastnik' AND klub='$nazwaklubu'

Niestety nie zadziałało ;(
Meares
Bo wyszedłeś z pętli while. winksmiley.jpg
  1. <?
  2. $id=$_GET['id'];
  3. include("dbinfo.inc.php");
  4.  
  5. mysql_connect($db_host,$user,$password);
  6. @mysql_select_db($database) or die("Nie znaleziono bazy danych");
  7. $res = mysql_query(" SELECT * FROM clubs WHERE id='$id'");
  8.  
  9. while( $val = mysql_fetch_array($res, MYSQL_ASSOC) ) {
  10. echo ('<table width="650" border="0" cellspacing="0" cellpadding="0"><tr><td width="140">Nazwa</td><td width="510"><b>'.$val['nazwa'].'</b></td></tr><tr><td>Przydomek</td><td>'.$val['przydomek'].'</td></tr><tr><td>Barwy</td><td>'.$val['barwy'].'</td></tr><tr><td>Data zalozenia </td><td>'.$val['data'].'</td></tr><tr><td>Adres</td><td>'.$val['adres'].'</td></tr><tr><td>Stadion</td><td>'.$val['stadion'].'</td></tr><tr><td>Liczba miejsc </td><td>'.$val['miejsca'].'</td></tr><tr><td>Prezes</td><td>'.$val['prezes'].'</td></tr><tr><td>Trener</td><td>'.$val['trener'].'</td></tr><tr><td>Liga</td><td>'.$val['liga'].'</td></tr></table>');
  11. TU DAJ ZAPYTANIE O WYŚWIETLANIE ZAWODNIKÓW ($val['nazwa'] to nazwa klubu ;)).
  12. }
GLoo3
No okey zrobiłem tak:
  1. $res = mysql_query(" SELECT * FROM clubs WHERE id='$id'");
  2.  
  3. while( $val = mysql_fetch_array($res, MYSQL_ASSOC) ) {
  4. echo ('<table width="650" border="0" cellspacing="0" cellpadding="0"><tr><td width="140">Nazwa</td><td width="510"><b>'.$val['nazwa'].'</b></td></tr><tr><td>Przydomek</td><td>'.$val['przydomek'].'</td></tr><tr><td>Barwy</td><td>'.$val['barwy'].'</td></tr><tr><td>Data zalozenia&nbsp;</td><td>'.$val['data'].'</td></tr><tr><td>Adres</td><td>'.$val['adres'].'</td></tr><tr><td>Stadion</td><td>'.$val['stadion'].'</td></tr><tr><td>Liczba miejsc </td><td>'.$val['miejsca'].'</td></tr><tr><td>Prezes</td><td>'.$val['prezes'].'</td></tr><tr><td>Trener</td><td>'.$val['trener'].'</td></tr><tr><td>Liga</td><td>'.$val['liga'].'</td></tr></table>');
  5. $res = mysql_query(" SELECT * FROM players WHERE club=$val['nazwa'] ");
  6. }

Ale gdy wchodzę na stronę to pokazuje mi się taki komunikat : Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in bla/bla/bla/bla/club.php on line 16
Próbowałem już chyba wszystkich ustawień, jednak wciąż wyskakuje ten sam błąd.
macza
  1. $res = mysql_query(" SELECT * FROM players WHERE club='$val['nazwa']' ");

club='x'; cudzysłów potrzebny smile.gif
GLoo3
Niestety w dalszym ciągu ten sam błąd sad.gif
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.