Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyświetlanie rekordów z bazy w zależności od $_GET
sadistic_son
post 3.02.2010, 11:09:34
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Dość dziwna sprawa. Mam system opinii do książek. Z założenia opinie mają się wyświetlać jeśli nie kliknięto w przycisk 'Wypożycz'. Jeśli kliknięto to opinie nie mają się wyświetlać. Link <a href="xxx.php?borrow=1">Wypożycz</a> informuje o tym czy chcemy wypożyczyć książkę (tym samym nie chcemy widzieć opinii). W praktyce wygląda to tak:
  1. $result=mysql_query($query);
  2. $num=mysql_num_rows($result);
  3. if($num>0 && !isset($_GET['borrow'])){
  4. echo 'Srednia:'.$avg;
  5.  
  6. while($row=mysql_fetch_array($result,MYSQL_NUM)){
  7. echo'Opinia: $row[0].'<br />';
  8. }
  9.  
  10. }
Problem polega na tym, że oprócz tego co ma wyświetlać pojawiają się poniżej nieskończenie razy bzdurne dane. Miksy rekordów z tabel użytkowników, książek i kilku innych. Kompletna samowolka. Jeśli natomiast usunę z if'a wrunek '& !isset($_GET['borrow'])' to wszystko jest tak jak powinno (oprocz tego że opinie się pojawiają).

EDIT: Co ciekawe - jeśli powyższą całość (z usuniętym && !isset($_GET['borrow']) ) wrzucę w warunek if(!isset($_GET['borrow']){ to wtedy wszystko jest jak należy.
Dlaczego tak się dzieje?!

Ten post edytował sadistic_son 3.02.2010, 11:24:15


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
blooregard
post 3.02.2010, 11:18:16
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




A zapytanie jak wygląda?


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
sadistic_son
post 3.02.2010, 12:15:46
Post #3





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Zapytanie wydaje się być ok:
  1. $query="SELECT AVG(mark) FROM t_opinion WHERE f_book=".$book;
  2. $avg=mysql_result(mysql_query($query),0);
  3.  
  4. $query="SELECT t_opinion.id_opinion, t_user.login, t_opinion.date, t_opinion.opinion, t_opinion.mark FROM t_opinion, t_user WHERE t_opinion.f_book=".$book." AND t_opinion.f_user=t_user.id_user ORDER BY t_opinion.date DESC ";


EDIT:
Cytat(sadistic_son @ 3.02.2010, 11:09:34 ) *
Co ciekawe - jeśli powyższą całość (z usuniętym && !isset($_GET['borrow']) ) wrzucę w warunek if(!isset($_GET['borrow']){ to wtedy wszystko jest jak należy.

W takim razie zostanę przy powyższym rozwiązaniu.
Ciekawi mnie tylko dlaczego tak się dzieje.


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 10:01