Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dwuczłonowe wyrazy, sortwowanie
Forum PHP.pl > Forum > Bazy danych
slawo
Witam, mam tabele o nazwie miasta i mam tam zapisane miasta snitch.gif Niektóre są 2-członowe i mam pewnien problem.
Napisałem sobie aby pobierało nazwy miast z bazy a następnie te nazwy są linkami w takiej postaci:

www.mojastrona.pl/miasto.php?nazwa=nazwa_miasta

Jeżeli jest to miasto jednoczłonowe, np. Tarnobrzeg to link wygląda tak i działa:

www.mojastrona.pl/miasto.php?nazwa=Tarnobrzeg

Natomiast jeżeli jest miasto dwuczłonowe np. Nowa Huta to link wygląda tak:

www.mojastrona.pl/miasto.php?nazwa=Nowa

Ucina mi drugą część.
darko
no to str_replace(" ", "_", $nazwa_miasta); i dopiero twórz link, albo potraktuj nazwę miasta funkcją urlencode
slawo
  1. $wynik1 = mysql_query("SELECT DISTINCT miasto FROM albumy ORDER BY miasto ASC")
  2. or die('Błąd zapytania');
  3. echo "<br><br>";
  4. while($wynik_zap1 = mysql_fetch_assoc($wynik1)) {
  5.  
  6. echo "<a href=pokaz_miasto.php?wedlug=".$wynik_zap1['miasto'].">".$wynik_zap1['miasto']."</a><br>";
  7. }



mam coś takiego.
darko
  1. echo "<a href=pokaz_miasto.php?wedlug=".urlencode($wynik_zap1['miasto']).">".$wynik_zap1['miasto']."</a><br>";

albo
  1. echo "<a href=pokaz_miasto.php?wedlug=".str_replace(" ", "_", $wynik_zap1['miasto']).">".$wynik_zap1['miasto']."</a><br>";

slawo
wybrałem 1 sposób, działa! dzięki. I teraz jeszcze jedna rzecz z którą nie mogę sobie poradzić. Chciałem zliczyć ile rekordów jest z danych miast.

mam takie coś:

  1. $liczba_miast = mysql_query("SELECT COUNT(*) as liczba_miast_wynik FROM albumy WHERE miasto='lublin'");
  2. $liczba_miast_ = mysql_fetch_array($liczba_miast, MYSQL_ASSOC);
  3.  
  4.  
  5. $wynik1 = mysql_query("SELECT DISTINCT miasto FROM albumy ORDER BY miasto ASC")
  6. or die('Błąd zapytania');
  7. echo "<br><br>";
  8. while($wynik_zap1 = mysql_fetch_assoc($wynik1)) {
  9.  
  10. echo "<a href=pokaz_miasto.php?wedlug=".urlencode($wynik_zap1['miasto']).">".$wynik_zap1['miasto']."</a> (".$liczba_miast_['liczba_miast_wynik'].")<br>";
  11. }


Wpisałem lublin i wyświetla mi wszędzie liczbę miast z lublina. Zastanawiam się jak to połączyć aby samo pobierało do każdego miasta?
darko
Chcesz to połączyć do jednego zapytania, bo nie mam pewności czy dobrze rozumiem?
slawo
chcę żby to działało rolleyes.gif nieważne jak laugh.gif
darko
To odwróć zapytania i najpierw
  1. $wynik1 = mysql_query("SELECT DISTINCT miasto FROM albumy ORDER BY miasto ASC");

a dalej
// (...)
  1. $liczba_miast = mysql_query("SELECT COUNT(*) as liczba_miast_wynik FROM albumy WHERE miasto='".$wynik_zap1['miasto']."'");
slawo
Wcześniej robiłem podobnie z województwami ale województw jest 16 i są zawsze takie same więc wszystko rozpisałem. W tym przykładzie liczba miast jest nieograniczona i co chwilę dochodzą nowe nazwy i jest niemożliwe ciągle dopisywać.

Nie wiem czy mój sposób jest dobry ale narazie jestem na takim poziomie wiedzy, że tak sobie rozpisałem:

  1. $dolnoslaskie = mysql_query("SELECT COUNT(*) as dolnoslaskie FROM albumy WHERE wojewodztwo='dolnoslaskie'");
  2. $dolnoslaskie_ = mysql_fetch_array($dolnoslaskie, MYSQL_ASSOC);
  3.  
  4. $kujawsko_pomorskie = mysql_query("SELECT COUNT(*) as kujawsko_pomorskie FROM albumy WHERE wojewodztwo='kujawsko-pomorskie'");
  5. $kujawsko_pomorskie_ = mysql_fetch_array($kujawsko_pomorskie, MYSQL_ASSOC);
  6.  
  7. $lubelskie = mysql_query("SELECT COUNT(*) as lubelskie FROM albumy WHERE wojewodztwo='lubelskie'");
  8. $lubelskie_ = mysql_fetch_array($lubelskie, MYSQL_ASSOC);
  9.  
  10. $lubuskie = mysql_query("SELECT COUNT(*) as lubuskie FROM albumy WHERE wojewodztwo='lubuskie'");
  11. $lubuskie_ = mysql_fetch_array($lubuskie, MYSQL_ASSOC);
  12.  
  13. $lodzkie = mysql_query("SELECT COUNT(*) as lodzkie FROM albumy WHERE wojewodztwo='lodzkie'");
  14. $lodzkie_ = mysql_fetch_array($lodzkie, MYSQL_ASSOC);
  15.  
  16. $malopolskie = mysql_query("SELECT COUNT(*) as malopolskie FROM albumy WHERE wojewodztwo='malopolskie'");
  17. $malopolskie_ = mysql_fetch_array($malopolskie, MYSQL_ASSOC);
  18.  
  19. $mazowieckie = mysql_query("SELECT COUNT(*) as mazowieckie FROM albumy WHERE wojewodztwo='mazowieckie'");
  20. $mazowieckie_ = mysql_fetch_array($mazowieckie, MYSQL_ASSOC);
  21.  
  22. $opolskie = mysql_query("SELECT COUNT(*) as opolskie FROM albumy WHERE wojewodztwo='opolskie'");
  23. $opolskie_ = mysql_fetch_array($opolskie, MYSQL_ASSOC);
  24.  
  25. $podkarpackie = mysql_query("SELECT COUNT(*) as podkarpackie FROM albumy WHERE wojewodztwo='podkarpackie'");
  26. $podkarpackie_ = mysql_fetch_array($podkarpackie, MYSQL_ASSOC);
  27.  
  28. $podlaskie = mysql_query("SELECT COUNT(*) as podlaskie FROM albumy WHERE wojewodztwo='podlaskie'");
  29. $podlaskie_ = mysql_fetch_array($podlaskie, MYSQL_ASSOC);
  30.  
  31. $pomorskie = mysql_query("SELECT COUNT(*) as pomorskie FROM albumy WHERE wojewodztwo='pomorskie'");
  32. $pomorskie_ = mysql_fetch_array($pomorskie, MYSQL_ASSOC);
  33.  
  34. $slaskie = mysql_query("SELECT COUNT(*) as slaskie FROM albumy WHERE wojewodztwo='slaskie'");
  35. $slaskie_ = mysql_fetch_array($slaskie, MYSQL_ASSOC);
  36.  
  37. $swietokrzyskie = mysql_query("SELECT COUNT(*) as swietokrzyskie FROM albumy WHERE wojewodztwo='swietokrzyskie'");
  38. $swietokrzyskie_ = mysql_fetch_array($swietokrzyskie, MYSQL_ASSOC);
  39.  
  40. $warminsko_mazurskie = mysql_query("SELECT COUNT(*) as warminsko_mazurskie FROM albumy WHERE wojewodztwo='warminsko-mazurskie'");
  41. $warminsko_mazurskie_ = mysql_fetch_array($warminsko_mazurskie, MYSQL_ASSOC);
  42.  
  43. $wielkopolskie = mysql_query("SELECT COUNT(*) as wielkopolskie FROM albumy WHERE wojewodztwo='wielkopolskie'");
  44. $wielkopolskie_ = mysql_fetch_array($wielkopolskie, MYSQL_ASSOC);
  45.  
  46. $zachodniopomorskie = mysql_query("SELECT COUNT(*) as zachodniopomorskie FROM albumy WHERE wojewodztwo='zachodniopomorskie'");
  47. $zachodniopomorskie_ = mysql_fetch_array($zachodniopomorskie, MYSQL_ASSOC);


ok dzięki za pomoc! daje plusa! yahoo.gif
skowron-line
O ja p****** poczytaj o grupowaniu w mysql -u.
wlamywacz
  1. SELECT COUNT(*) AS `count` FROM `albumy` GROUP BY `wojewodztwo`
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.