Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Proste zapytanie MySQL
Forum PHP.pl > Forum > PHP
debian
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
phpion
  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.
debian
  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. ?>
erix
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
debian
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.
erix
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
phpion
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.
debian
Więc jak mam sprawdzić IFem czy ID podane w zapytaniu sql jest równe temu z IFa o.O
erix
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.
debian
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
erix
Nie prościej rzutować na inta? (int)$_GET['id']
Manwe89
  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
debian
Parse error: syntax error, unexpected '{' in article.php on line 3
w lini 3 mam if(isset($_GET['id']) AND (!empty($_GET['id'])){
erix
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.
debian
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
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.