![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 6.08.2008 Skąd: Łódź Ostrzeżenie: (0%)
|
Siemanko,
można powiedzieć, że w temacie PHP i mySQL jestem niemowlakiem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Mam następujący problem - na stronie http://www.siglagroup.com/index.php?site=s...woj=mazowieckie wyświetlają się wszystkie sklepy z województwa mazowieckiego, chciałbym natomiast, aby rekordy grupowały się według miast, tj. Warszawa: - sklep - sklep - sklep - sklep - sklep Inne miasto: - sklep - sklep - sklep itd... Kod odpowiadający za wyświetlanie sklepów: CODE <? $query = "SELECT * FROM sklepy WHERE woj='$wojewodztwo' ORDER BY miasto DESC "; $result = mysql_query($query); $num_results = mysql_num_rows($result); $licz = 1; for ($i=0; $i <$num_results; $i++) { $row = mysql_fetch_array($result); if($row["miasto"]==$row["miasto"]) { echo "<b>".stripslashes($row["nazwa"])."</b> "; echo stripslashes($row["ulica"])." ".stripslashes($row["miasto"]); echo "<br />"; } } if($_GET['woj']){ if($num_results==0) { echo '<b>O nasze produkty pytaj w Twoim lokalnym sklepie.</b>'; } } ?> Jeżeli chodzi o bazę, to jest jedna ze wszystkimi województwami, a zarazem ze wszystkimi miastami... Bardzo bym prosił o pomoc, walczę z tym już od kilku dni, ale nie widać żadnych rezultatów. // Jako, że jesteś nowy na forum przymknę oko na brak tagów w temacie! // Jednak jest to pierwszy i ostatni raz (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) // Proszę zapoznać się z regulaminem działu Przedszkole. // ayeo |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 1 Dołączył: 6.08.2008 Skąd: Gostyń Ostrzeżenie: (0%)
|
Aby wyświetlić sklepy z danego miasta należy zamiast zapytania $query = "SELECT * FROM sklepy WHERE woj='$wojewodztwo' ORDER BY miasto DESC "; użyć zapytania $query = "SELECT * FROM sklepy WHERE miasto='$miasto'";
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 32 Dołączył: 5.08.2008 Skąd: Lublin Ostrzeżenie: (0%)
|
dokładnie jak napisał trionet, chyba że chcesz wyświetlić wszystkie sklepy z województwa mazowieckiego które będą posortowane najpierw według miasta a później według nazwy sklepu. Wtedy kwestia jak chcesz to wyświetlać (najprościej w pętli while($row = mysql_fetch_array($result)) ale samo zapytanie do bazy powinno wyglądać tak :
Wszystko zależy od struktury bazy danych. Pozdrawiam Mariusz |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 6.08.2008 Skąd: Łódź Ostrzeżenie: (0%)
|
no tak to wiem o tym sortowaniu i o frazie WHERE, tylko problem w tym, że baza będzie się cały czas rozbudowywać,
w końcu obejmie całą Polskę, a co za tym idzie ilość miast będzie ogromna - moje pytanie - czy w takim razie, do każdego miasta muszę dawać nowe pytanie? lub nowy warunek if? czy też da się to jakoś zautomatyzować? |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 403 Pomógł: 68 Dołączył: 20.03.2008 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 6.08.2008 Skąd: Łódź Ostrzeżenie: (0%)
|
Chyba nie kumam o co ci chodzi jeżeli chcesz wszystkie rekordy ze wszystkich miast to dajesz
No tak, to też wiem :] Może niejasno się wyraziłem - chciałbym aby rekordy grupując się, automaycznie się oddzielały i nadawał się nagłówek w postaci nazwy miasta, tj: Warszawa: - Sklep 1 - Sklep 2 - .... Węgrów: - Sklep 1 - Sklep 2 Bo jak napiszę tak jak podałeś w przykładzie to wypisze mi wszystko posortowane po miastach i sklepach, ale w jednym ciągu. |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 403 Pomógł: 68 Dołączył: 20.03.2008 Ostrzeżenie: (0%)
|
To ja proponuję ci żebyś następnym razem lepiej przemyślał bazę danych (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) mogę doradzić że powinna być tabela sklepy i miasta ew województwa
wtedy najłatwiej to wyciągnąć wszystko moim zdaniem. schemat poniżej: MIASTA ID|ID_WOJ|NAZWA WOJEWODZTWA ID|NAZWA SKLEPY ID_MIASTA|NAZWA Wtedy jeżeli chcesz to możesz dowolnie wyciągać dane: wszystkie sklepy z danego miasta/województwa, a twój problem będzie można rozwiązać bardzo łatwo bo najpierw pobierzesz sobie miasta a później w pętli wszystkie sklepy z danego miasta i będziesz je wyświetlał. Taka jest moja wizja. |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 6.08.2008 Skąd: Łódź Ostrzeżenie: (0%)
|
Ok, przerobiłem bazę, według Twojej podpowiedzi - teraz pytanie - czy żeby to zautomatyzować muszę użyć INNER JOIN
lub jakiegoś innego złączenia tabel w SQLu, czy poprostu stawiać warunki sprawdzające ID województwa i miasta? Ok, baza przerobiona, napisałem dwie pętelki for i wszystko śmiga (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Dziex za pomoc! |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 10:26 |