Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Proste zapytanie MySQL
debian
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 1
Dołączył: 6.11.2008
Skąd: /etc/passwd

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


Witam, jak powinno wyglądać zapytanie do bazy abym po wpisaniu /plik.php?id= (tutaj numer id newsa z bazy) wyswietli się tekst odpowiedni temu numerowi ID. tabela article rekordy id, title, tresc

No i chciałem tak:
  1. <?php
  2. if ($_GET['id']==''.$id.''){
  3. echo '<h2><b>'.$row['title'].'</b></h2><br />';
  4. echo '<div style="text-align:justify; font-family:Tahoma; color:#666666; font-size:12px;">'.$row['tresc'].'</div>';
  5. }
  6. ?>

Tak żęby w tablicy row umieścic wyniki. smile.gif
czyli np, strona.pl/plik.php?id=2 pokaże treść artykułu o numerze id 2


--------------------
Go to the top of the page
+Quote Post
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




  1. <?php
  2. $q = 'SELECT * FROM artykuly WHERE id='.$id;
  3. ?>

Potem skorzystaj np. z mysql_fetch_assoc" title="Zobacz w manualu PHP" target="_manual.
Go to the top of the page
+Quote Post
debian
post
Post #3





Grupa: Zarejestrowani
Postów: 122
Pomógł: 1
Dołączył: 6.11.2008
Skąd: /etc/passwd

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


  1. <?php
  2. $q = ("SELECT * FROM article WHERE id='".$id."' ");
  3. $wynik=mysql_fetch_assoc($q);
  4.  
  5. if ($_GET['id']==''.$id.''){
  6. echo '<h2><b>'.$wynik['title'].'</b></h2><br />';
  7. echo '<div style="text-align:justify; font-family:Tahoma; color:#666666; font-size:12px;">'.$wynik['tresc'].'</div>';
  8. }
  9. ?>


Otrzymuje taki wynik po wywołaniu: Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in article.php on line 4
a w lini 4 jest
  1. <?php
  2. $wynik=mysql_fetch_assoc($q);
  3. ?>


--------------------
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




mysql_query" title="Zobacz w manualu PHP" target="_manual...
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Powiedz Ty mi, co to jest za porównanie:
  1. <?php
  2. if ($_GET['id']==''.$id.''){
  3. ?>

I skąd Ci się bierze zmienna $id? Wywala błąd, bo jest niepoprawne zapytanie, a to dlatego, że nie masz $id. ;p


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
debian
post
Post #6





Grupa: Zarejestrowani
Postów: 122
Pomógł: 1
Dołączył: 6.11.2008
Skąd: /etc/passwd

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


Cytat(phpion @ 17.12.2008, 09:57:33 ) *

omg fakt zapomniałem o tym.

@erix
^^ no mi sie wydaje że jak podam porównanie do zmiennej $id która jest w zapytaniu to do $id przypisze się numer artykułu.


--------------------
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale tego $id przecież nigdzie nie deklarujesz. tongue.gif Przynajmniej tego nie widać. No chyba, że masz register_globals, ale w przypadku zachowania Twojego skryptu $id = null. Sprawdź sobie var_dump" title="Zobacz w manualu PHP" target="_manual na $id przed wykonaniem zapytania, to zobaczysz. winksmiley.jpg


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
phpion
post
Post #8





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(debian @ 17.12.2008, 12:01:07 ) *
@erix
^^ no mi sie wydaje że jak podam porównanie do zmiennej $id która jest w zapytaniu to do $id przypisze się numer artykułu.

To źle myślisz. Warunek ten sprawdza czy $_GET['id'] jest równe jakiejś lokalnej zmiennej $id. Nic więcej.
Go to the top of the page
+Quote Post
debian
post
Post #9





Grupa: Zarejestrowani
Postów: 122
Pomógł: 1
Dołączył: 6.11.2008
Skąd: /etc/passwd

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


Więc jak mam sprawdzić IFem czy ID podane w zapytaniu sql jest równe temu z IFa o.O


--------------------
Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale po co sprawdzasz, jak wyciągasz rekord o konkretnym ID z bazy? Po co weryfikować coś, co już zostało zweryfikowane (rekord o danym ID jest wyciągnięty z bazy). Wywal tego if" title="Zobacz w manualu PHP" target="_manuala, bo jest bez sensu. tongue.gif

Za to podstawiaj prawidłową zmienną do zapytania, bo w tym tkwi Twój problem.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
debian
post
Post #11





Grupa: Zarejestrowani
Postów: 122
Pomógł: 1
Dołączył: 6.11.2008
Skąd: /etc/passwd

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


No po to dałem tego ifa zebym mógł wyświetla te artykuły w sposób plik.php?id=1 (2) (3) itd.
no to ?id= to właśnie ten $_GET porównany ifem z ID w bazie


--------------------
Go to the top of the page
+Quote Post
erix
post
Post #12





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie prościej rzutować na inta? (int)$_GET['id']


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Manwe89
post
Post #13





Grupa: Zarejestrowani
Postów: 81
Pomógł: 3
Dołączył: 28.10.2008
Skąd: Łuków

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


  1. <?php
  2. if((isset($_GET['id']) AND (!empty($_GET['id'])){
  3. $id= (int) $_GET['id'];
  4. $query="SELECT * FROM article WHERE id=".$id." LIMIT 1";
  5. $wynik=mysql_querry($query);
  6. $dane=mysql_fetch_assoc($wynik);
  7.  
  8. echo '<h2><b>'.$dane['title'].'</b></h2><br />';
  9. echo '<div style="text-align:justify; font-family:Tahoma; color:#666666; font-size:12px;">'.$dane['tresc'].'</div>';
  10. }
  11. ?>


Teraz już dobrze smile.gif

Ten post edytował Manwe89 17.12.2008, 10:40:02
Go to the top of the page
+Quote Post
debian
post
Post #14





Grupa: Zarejestrowani
Postów: 122
Pomógł: 1
Dołączył: 6.11.2008
Skąd: /etc/passwd

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


Parse error: syntax error, unexpected '{' in article.php on line 3
w lini 3 mam if(isset($_GET['id']) AND (!empty($_GET['id'])){


--------------------
Go to the top of the page
+Quote Post
erix
post
Post #15





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie zamknąłeś wszystkich nawiasów. tongue.gif

Włącz myślenie, a najlepiej edytor z podświetlaniem odpowiadających nawiasów + sprawdzania poprawności kodu.

Ten post edytował erix 17.12.2008, 10:34:00


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
debian
post
Post #16





Grupa: Zarejestrowani
Postów: 122
Pomógł: 1
Dołączył: 6.11.2008
Skąd: /etc/passwd

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


Cytat(erix @ 17.12.2008, 10:33:25 ) *
Nie zamknąłeś wszystkich nawiasów. tongue.gif

Włącz myślenie, a najlepiej edytor z podświetlaniem odpowiadających nawiasów + sprawdzania poprawności kodu.


biggrin.gif faktycznie. smile.gif działa juz dziekówa Wam


--------------------
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 Aktualny czas: 21.08.2025 - 18:45