Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][SQL][PHP]Łączenie rekordów z jednej tabeli i wyświetlanie ich poprzez pole typu select.
Forum PHP.pl > Forum > Przedszkole
patwoj98
Witajcie,

Mam takie oto zapytanie w PHP:
  1. $miasta=mysql_query("SELECT `miasta` FROM `mapy` WHERE `panstwo`='Niemcy'&&`mapa`='Podstawa,DLC:EG'||`panstwo`='Niemcy' && `mapa`= 'Pro Mods' ")
  2. or die ("Nie pobrano listy miast!");
  3.  
  4. $miasta=mysql_fetch_row($miasta);
  5. $miasta=explode(",","$miasta[0]");
  6. sort($miasta);
  7.  
  8. $i=0;
  9. while($i<=count($miasta)-1){
  10. echo '<option>'."$miasta[$i]".'</option>';
  11. $i++;
  12. }


Cała reszta oczywiście jest. Problem jest taki, że fajnie działa jeżeli ktoś ma tylko na przykład `mapa`='podstawa', a pozostałe puste. Jeżeli jednak pojawia się sytuacja, że ktoś ma dwie mapy to już rekordy dwa się z bazy pobierają, tak jak tu:

http://i.imgur.com/6oft6Nal.png

W polach option zwraca tylko pierwszy rekord, a drugiego nie. Skrin: http://i.imgur.com/AYn0lTYl.png

Jestem początkujący, więc zrozumiem jeżeli będzie to głupi mój błąd.
nospor
"SELECT DISTINCT `miasta` ....
patwoj98
Cytat(nospor @ 9.02.2015, 10:20:22 ) *
"SELECT DISTINCT `miasta` ....


Ale one się nie powtarzają...
nospor
Sorki, nie doczytalem dokladnie smile.gif

Zwraca ci sie tylko jeden rekord bo o tu:
$miasta=mysql_fetch_row($miasta);
pobierasz tylko jeden rekord. Masz pobrac wszystkie. W manualu rzy mysql_fetch_row masz pokazane jak przy pomocy WHILE pobrac wszystkie wyniki z zapytania
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.