Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Jak prawidłowo sprawdzać i wyświetlać dane przekazywane metodą GET
darney
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 21.08.2010
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


Chce aby skrypt wyświetlał dane z bazy względem tematu=liczbie oraz tematu=liczbie&lekcji=liczbie i na razie testuje same warunki if z wyświetleniem zwykłego tekstu i tutaj mam problem. Do końca nie rozumiem mechanizmu sprawdzania tych warunków. Zacznijmy może od poniższego kodu który wyświetla diva z poszczególnymi dostępnymi lekcjami.


Wyświetlanie tematów
  1. $dbc = mysqli_connect('localhost', 'xxx', 'xxx', 'xxx');
  2. mysqli_set_charset($dbc, "utf8");
  3. $query = "SELECT * FROM lesson_cat";
  4. $result = mysqli_query($dbc, $query);
  5. while ($row = mysqli_fetch_array($result)) {
  6.  
  7. $mid = $row['id'];
  8. $lesson = $mid;
  9. $category = $row['category'];
  10.  
  11. echo "<div id=\"lesson_subjects\"><div class=\"lesson_sub\">
  12. <a href=\"http://testxxxtest.pl/test_kurs2.php?lekcja=$mid\">$category</a></div></div>";
  13.  
  14. }
  15.  
  16.  
  17. if($lekcja == $lesson) {
  18.  
  19. echo "wyswietl tylko zawartosc z bazy ktora ma wartosc lesson";
  20.  
  21. }
  22.  


Niestety powyższe sprawdzenie nie działa. Proszę o podpowiedź jak sprawdzać prawidłowo zmienne GET dopisujące się w adresie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




I co z tego, że maszi się Ci wyświetla...
Wiesz jak działają pętle? Jeśli nie to Ci pokażę na przykładzie Twojego kodu. Masz w bazie 10 lekcji od 1 do 10 ponumerowanych. odpalasz skrypt, który sobie leci w pętli przez wszystkie rekordy. Zmienna $lesson, $mid i $category zmieniają się jak należy, linki się tworzą. Ostatni rekord to przypuśćmy 10, Ogólna
I takie dane wyjdą z pętli jako $mid, $lesson i $category () o ile wyjdą, bo istnieje coś takiego jak "zasięg zmiennych"
Teraz masz swojego if, gdzie wyświetlić chcesz choćby 3 lekcję. Porównuje Ci więc 3 do 10 lub 0 (jeśli zmienne "zniknęły po wyjściu z pętli"). Głupota, nieprawda, fałsz. Zwał jak zwał. Skoro w kółko zamieniasz te dane to nigdy nie dostaniesz tego co chcesz. Musisz inaczej to rozwiązać. Albo zapisujesz wszystko w pętli jako tablica i potem odwołujesz do konkretnego indeksu, albo if robisz wewnątrz pętli while i tam wyświetlasz. Zawiodła u Ciebie logika skryptu... Nie samo porównanie. Daj ten if wewnątrz pętli while a sam zobaczysz (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 17:12