Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] sortowanie i wrzucanie do jednego zbioru...
Forum PHP.pl > Forum > PHP
synus
Hej smile.gif

Mam maly problem, i nie do konca wiem jak go rozwiazac.

Mam skrypt:
  1. <?php
  2. $sql = "SELECT nazwa, rodzaj FROM hot_lot WHERE miasto='".$_GET['miasto']."'";
  3. $wynik = mysql_query($sql) or die(mysql_error());
  4. while( $w = mysql_fetch_array($wynik))
  5. {
  6. $nazwa = $w['nazwa'];
  7. $rodzaj = $w['rodzaj'];
  8. $nazwa2 = str_replace('_', ' ', $nazwa);
  9. $nazwa2 = ucwords($nazwa2);
  10. if($rodzaj == 'hotel5')
  11. {
  12. echo('Hotele ***** <br />');
  13. echo('<a href="?str='.$_GET['str'].'&panstwo='.$_GET['panstwo'].'&miasto='.$_GET['miasto'].'&nazwa='.$nazwa.'">'.$nazwa2.'</a><br />');
  14. }
  15. if($rodzaj == 'hotel4')
  16. {
  17. echo('Hotele **** <br />');
  18. echo('<a href="?str='.$_GET['str'].'&panstwo='.$_GET['panstwo'].'&miasto='.$_GET['miasto'].'&nazwa='.$nazwa.'">'.$nazwa2.'</a><br />');
  19. }
  20. if($rodzaj == 'hotel3')
  21. {
  22. echo('Hotele *** <br />');
  23. echo('<a href="?str='.$_GET['str'].'&panstwo='.$_GET['panstwo'].'&miasto='.$_GET['miasto'].'&nazwa='.$nazwa.'">'.$nazwa2.'</a><br />');
  24. }
  25. if($rodzaj == 'hotel2')
  26. {
  27. echo('Hotele ** <br />');
  28. echo('<a href="?str='.$_GET['str'].'&panstwo='.$_GET['panstwo'].'&miasto='.$_GET['miasto'].'&nazwa='.$nazwa.'">'.$nazwa2.'</a><br />');
  29. }
  30. if($rodzaj == 'hotel1')
  31. {
  32. echo('Hotele * <br />');
  33. echo('<a href="?str='.$_GET['str'].'&panstwo='.$_GET['panstwo'].'&miasto='.$_GET['miasto'].'&nazwa='.$nazwa.'">'.$nazwa2.'</a><br />');
  34. }
  35. if($rodzaj == 'klub')
  36. {
  37. echo('Kluby <br />');
  38. echo('<a href="?str='.$_GET['str'].'&panstwo='.$_GET['panstwo'].'&miasto='.$_GET['miasto'].'&nazwa='.$nazwa.'">'.$nazwa2.'</a><br />');
  39. }
  40. if($rodzaj == 'apartament')
  41. {
  42. echo('Apartamenty <br />');
  43. echo('<a href="?str='.$_GET['str'].'&panstwo='.$_GET['panstwo'].'&miasto='.$_GET['miasto'].'&nazwa='.$nazwa.'">'.$nazwa2.'</a><br />');
  44. }
  45. if($rodzaj == 'wakacyjny')
  46. {
  47. echo('Domy wakacyjne <br />');
  48. echo('<a href="?str='.$_GET['str'].'&panstwo='.$_GET['panstwo'].'&miasto='.$_GET['miasto'].'&nazwa='.$nazwa.'">'.$nazwa2.'</a><br />');
  49. }
  50. if($rodzaj == 'wycieczki')
  51. {
  52. echo('Wycieczki <br />');
  53. echo('<a href="?str='.$_GET['str'].'&panstwo='.$_GET['panstwo'].'&miasto='.$_GET['miasto'].'&nazwa='.$nazwa.'">'.$nazwa2.'</a><br />');
  54. }
  55.  
  56. }
  57. ?>

Ktory jak widzicie, sortuje mi dane na 9 rodzajow: hotel 5cio gwiazdkowy, 4ro, itd., apartamenty, wycieczki etc.

Bylem pewny (dopoki byl wrzucony tylko jeden rekord do bazy) ze wszystko bedzie sie wyswietlalo tak, jak chcialem, jednak wynik wyswietlenia jest taki:

Cytat
Hotele *****
Aruba Mariott Resort
Hotele ****
Divi All Inclusive
Hotele ****
Bucuti Beach Resort
Hotele ***
Amsterdam Manor Beach Resort
Hotele ***
Manchebo Beach Resort & Spa


a chcialbym zeby byl taki:
Cytat
Hotele *****
Aruba Mariott Resort
Hotele ****
Divi All Inclusive
Bucuti Beach Resort
Hotele ***
Amsterdam Manor Beach Resort
Manchebo Beach Resort & Spa

Zapomnialem, ze petla while mieli kazdy przypadek z osobna.
Chcialbym to wszystko wrzucic do "jednego wora"... i nie wiem, czy wystarcza mi do tego tablice, czy bede musial skorzystac z wyrazen reg. czy z obu na raz. I nie wiem jak to ugryzc szczerze.
Prosze, pomozcie smile.gif


edit: wiem, ze jest teraz skrypt podatny na sql injection w kazdym (prawie) calu, ale latac to bede dopiero jak bedzie wszystko dzialac tak jak powinno.
^bmb
Hm... ja bym zrobil poprostu w bazie pole int rodzaj w ktorym podczas dodawania hotelu zapisywala by sie liczba 1-5 a pozniej tylko w zapytaniu ORDER BY rodzaj DESC.

Mam nadzieje ze cos pomoglem

Pozdrawiam
bmb
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.