Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Baza wyświetla wszystkie rekordy zamiast jednego
Forum PHP.pl > Forum > PHP
Dawior
Witam mam taki problem nie wiem dlaczego wyświetlają mi się wszystkie rekordy zamiast tylko jedeg oto kod:
  1. <?
  2. include 'engine/h.php';
  3. include 'engine/conn.php';
  4. include 'engine/namen.php';
  5. if($_GET['id'] >= 1)
  6. {
  7. $Query = 'SELECT * FROM maile WHERE odbiorca="'.$_SESSION["zalogowany"].'"';
  8. $result = mysql_query($Query) or die (mysql_error());
  9. while ( $row = mysql_fetch_array($result))
  10. {
  11. echo 'tresc:&nbsp;'.$row["tresc"].'<br>';
  12. }
  13. }
  14. else{
  15. $Query = 'SELECT * FROM maile WHERE odbiorca="'.$_SESSION["zalogowany"].'"';
  16. $result = mysql_query($Query) or die (mysql_error());
  17. while ( $row = mysql_fetch_array($result))
  18. {
  19. echo ' &nbsp;<a href="wiadomosc-'.$row["mail_id"].'-'.namen($row["tytul"]).'.html"><font color="blue">'.$row["tytul"].'</font></a><br>';
  20. }
  21. }
  22. include 'engine/f.php';
  23. ?>


Proszę o pomoc i z góry dziękuję.
pedro84
A gdzie masz LIMIT?
Dawior
Limit Czego?
Damonsson
A nie lepiej wywalić pętle while?
Dawior
Cytat(Damonsson @ 2.08.2010, 01:33:57 ) *
A nie lepiej wywalić pętle while?


A jak to zrobić gdzie później dać $row?
muk4
Jak nie wrzucisz mysql_fetch_array do while to wyświetli tylko jeden rekord.
Dawior
Cytat(muk4 @ 2.08.2010, 02:07:54 ) *
Jak nie wrzucisz mysql_fetch_array do while to wyświetli tylko jeden rekord.


TO co mam dać zamiast mysql_fetch_array?
muk4
Źle zrozumiałeś.
Masz użyć mysql_fetch_array ale nie w pętli - samo jako funkcja i tyle.
Wtedy zwróci tylko 1 rekord.
krispak
Jaka wartosc przyjmuje $_SESSION["zalogowany"]? Moze ten warunek spelnia sie dla wszystkich rekordow?

Daj tak bez while

  1. include 'engine/h.php';
  2. include 'engine/conn.php';
  3. include 'engine/namen.php';
  4. if($_GET['id'] >= 1)
  5. {
  6. $Query = 'SELECT * FROM maile WHERE odbiorca="'.$_SESSION["zalogowany"].'"';
  7. $result = mysql_query($Query) or die (mysql_error());
  8. $row = mysql_fetch_array($result))
  9. echo 'tresc:&nbsp;'.$row["tresc"].'<br>';
  10. }else{
  11. $Query = 'SELECT * FROM maile WHERE odbiorca="'.$_SESSION["zalogowany"].'"';
  12. $result = mysql_query($Query) or die (mysql_error());
  13. $row = mysql_fetch_array($result))
  14. echo ' &nbsp;<a href="wiadomosc-'.$row["mail_id"].'-'.namen($row["tytul"]).'.html"><font color="blue">'.$row["tytul"].'</font></a><br>';
  15. }
  16. include 'engine/f.php';

Pozdrawiam
Dawior
Cytat(krispak @ 2.08.2010, 02:26:35 ) *
Jaka wartosc przyjmuje $_SESSION["zalogowany"]? Moze ten warunek spelnia sie dla wszystkich rekordow?

Daj tak bez while

  1. include 'engine/h.php';
  2. include 'engine/conn.php';
  3. include 'engine/namen.php';
  4. if($_GET['id'] >= 1)
  5. {
  6. $Query = 'SELECT * FROM maile WHERE odbiorca="'.$_SESSION["zalogowany"].'"';
  7. $result = mysql_query($Query) or die (mysql_error());
  8. $row = mysql_fetch_array($result))
  9. echo 'tresc:&nbsp;'.$row["tresc"].'<br>';
  10. }else{
  11. $Query = 'SELECT * FROM maile WHERE odbiorca="'.$_SESSION["zalogowany"].'"';
  12. $result = mysql_query($Query) or die (mysql_error());
  13. $row = mysql_fetch_array($result))
  14. echo ' &nbsp;<a href="wiadomosc-'.$row["mail_id"].'-'.namen($row["tytul"]).'.html"><font color="blue">'.$row["tytul"].'</font></a><br>';
  15. }
  16. include 'engine/f.php';

Pozdrawiam



tERAZ mam taki błąd: Parse error: syntax error, unexpected '{' in D:\Program Files\WebServ\httpd\wiadomosci.php on line 12
krispak
Daj $row = mysql_fetch_array($result));
Nie ma tam srednika na koncu w dwoch miejscach sorka smile.gif
Dawior
Teraz wyświetla tylko jeden rekord. jak klikam na pierszą wiadomośc to wyskakuje ta sama tres i jak na druga to też ta sama treśc.
krispak
Cytat
Witam mam taki problem nie wiem dlaczego wyświetlają mi się wszystkie rekordy zamiast tylko jedeg oto kod:


Sam napisales, ze chcesz aby byl jeden rekord, czegos tu nie rozumiem..
Dawior
Cytat(krispak @ 2.08.2010, 02:39:23 ) *
Sam napisales, ze chcesz aby byl jeden rekord, czegos tu nie rozumiem..

Bo ja robie prywatne wiadomsci i jak są np 2 wiadmosci u jedego usera to w jedej i w drugiej wiadomosci wyświetlają się naraz 2 wiadomości
krispak
To wyswietl sobie najpierw liste wszystkich wiadomosci do uzytkownika
- wiadomisc 1 (o mail_id powiedzmy 1)
- wiadomosc 2
a nastepnie klikajac w dana wiadomosc daj warunek przy wyswietlaniu jej ze np WHERE mail_id = 1 i wyswietli sie tresc meila o tym id
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.