Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Jak do tego dołożyć odczytanie id?
Max Damage
post
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Już się pogubiłem. Chciałem aby po kliknięciu na wyświetlony temat otwierała się strona z linkiem jak poniżej w echo. Wiem że tak się to mniej więcej pisze tylko nie wiem w jak sposób dodać jeszcze odczytanie id tego tematu.

  1. <?php
  2. $lacz=lacz_bd();
  3. $zapytanie = "select * from forum order by id_artykulu desc";
  4. $wynik = $lacz->query($zapytanie);
  5.  
  6. while($wiadomosc=$wynik->fetch_assoc())
  7. {
  8. echo "<a href='artykul.php?id='$id_artykulu'>".$wiadomosc['temat']."</a>";
  9. echo '<br/>';
  10. ?>


A to jest właśnie ta strona, ale tu już chyba zupełnie pomieszałem z zapytaniem do bazy i tym cały id.
  1. <?php
  2. $id_artykulu=$_GET['id_artykulu'];
  3.  
  4. wyswietl_naglowek();
  5.  
  6. $lacz=lacz_bd();
  7. $zapytanie="select * from forum where id_artykulu='$id_artykulu'";
  8. $wynik=$lacz->query($zapytanie);
  9. while($wiadomosc=$wynik->fetch_assoc())
  10. echo $wiadomosc['temat'];
  11. echo '<br/>';
  12. echo $wiadomosc['wiadomosc'];
  13. echo '<br/>';
  14. echo date ('M d,H:i',$wiadomosc['umieszczony']);
  15. echo '<br/><br/>';
  16. ?>


Może mi to ktoś chociaż mniej więcej wyjaśnić jak powinienem to poprawić?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie $id_artykulu=$_GET['id_artykulu'];
a: $id_artykulu=$_GET['id'];
Przeciez w linku dales ?id=...
Go to the top of the page
+Quote Post
Max Damage
post
Post #3





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


No trochę lepiej ale nadal nie działa. Jedyne co się wyświetla to data która nie jest pobierana z tabeli. Jak powinienem prawidłowo napisać to zapytanie do bazy? I nie wyświetla mi u góry w linku numeru id tematu.
Go to the top of the page
+Quote Post
cornholio666
post
Post #4





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


Czy przypadkiem w

  1. <?php
  2. $wynik->fetch_assoc()
  3. ?>


nie powinieneś podać argumentu ?

I chyba w 2 while zapomniałeś nawiasów

Ten post edytował cornholio666 3.09.2007, 11:20:49
Go to the top of the page
+Quote Post
Max Damage
post
Post #5





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Cytat(cornholio666 @ 3.09.2007, 12:19:40 ) *
Czy przypadkiem w

  1. <?php
  2. $wynik->fetch_assoc()
  3. ?>


nie powinieneś podać argumentu ?

I chyba w 2 while zapomniałeś nawiasów

Nie bardzo cię rozumiem. Aby podać argument musiałbym napisać to chyba tak:
  1. <?php
  2. while($wiadomosc= mysql_fetch_assoc ($wynik))
  3. ?>

Nic innego mi sie nie kojarzy.
Ale fakt, nawiasów faktycznie zapomniałem, chociaż ich dodanie póki co nic nie pomogło...
Go to the top of the page
+Quote Post
cornholio666
post
Post #6





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


Poczytaj

mysql_fetch_assoc
Go to the top of the page
+Quote Post
Max Damage
post
Post #7





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Poruszam ten temat po tak długim czasie z powodu iż właśnie nie mam teraz dużo wolnego czasu (ot paradoks wyszedł).....
Nadal nie wiem co jest źle. Nie wpisuje mi id do linka oraz nie działa ta druga pętla. Miło by było gdyby ktoś mi po prostu powiedział jak to powinno być, bo pomysły sie już skończyły. (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
Go to the top of the page
+Quote Post
crunch
post
Post #8





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 20.03.2007
Skąd: ZG

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


hm, na początek usuń zbędne pojedyncze apostrofy w linku i w zapytaniu:
  1. <?php
  2. //adres konczył sie u Ciebie po =
  3. echo "<a href='artykul.php?id={$id_artykulu}'>".$wiadomosc['temat']."</a>";
  4. ?>



  1. <?php
  2. //a tu.. wątpię, że id przechowujesz w stringu ;p
  3. $zapytanie="select * from forum where id_artykulu={$id_artykulu}";
  4. ?>


Ten post edytował crunch 17.09.2007, 07:13:03
Go to the top of the page
+Quote Post
Max Damage
post
Post #9





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Niestety nadal nie działa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
grom44
post
Post #10





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 5.09.2007
Skąd: Tarnów

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


a gdzie masz ustawioną zmienną $id_artykułu
  1. <?php
  2. echo "<a href='artykul.php?id='$id_artykulu'>".$wiadomosc['temat']."</a>";
  3. ?>

nie powinno to byc tak napisane:
  1. <?php
  2. echo "<a href='artykul.php?id='$wiadomosc['id_artykulu']'>".$wiadomosc['temat']."</a>";
  3. ?>


Ten post edytował grom44 17.09.2007, 08:06:08
Go to the top of the page
+Quote Post
Max Damage
post
Post #11





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Nom faktycznie. Dokładnie to tak:
  1. <?php
  2. echo "<a href='artykul.php?id=".$wiadomosc['id_artykulu']."'>".$wiadomosc['temat']."</a>";
  3. ?>

Ok, zakładam teraz, że drugie zapytanie do bazy już jest dobrze. Teraz po kliknieciu na dany temat wywala mi błąd:
  1. <?php
  2. Call to a member function fetch_assoc() on a non-object
  3. ?>

Jak mam inaczej napisać tą pętlę?
Go to the top of the page
+Quote Post
grom44
post
Post #12





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 5.09.2007
Skąd: Tarnów

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


Błąd jest oczywisty...
  1. <?php
  2. $wiadomosc=$wynik->fetch_assoc()
  3. ?>

wywolujesz metode fetch_assoc() podczas gdy $wynik nie jest obiektem....
korzystasz z jakiejś klasy do obslugi baz danych... jaśli tak to gdzie tworzysz nowy obiekt?
Go to the top of the page
+Quote Post
Max Damage
post
Post #13





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


W takim razie dlaczego to działało w pierwszej pętli a tutaj już nie ?
Chyba faktycznie nie rozumiem jak działa to mysql_fetch_assoc :/
No i niestety ale dalej nie wiem czym mam to zastąpić lub jak poprawnie przerobić ......
Go to the top of the page
+Quote Post
grom44
post
Post #14





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 5.09.2007
Skąd: Tarnów

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


Spróbuj tak:

  1. <?php
  2. $id_artykulu=$_GET['id'];
  3.  
  4. wyswietl_naglowek();
  5.  
  6. $lacz=lacz_bd();
  7. $zapytanie="select * from forum where id_artykulu='$id_artykulu'";
  8. $wynik = mysql_query($zapytanie);
  9. while($wiadomosc= mysql_fetch_assoc($wynik))
  10. echo $wiadomosc['temat'];
  11. echo '<br/>';
  12. echo $wiadomosc['wiadomosc'];
  13. echo '<br/>';
  14. echo date ('M d,H:i',$wiadomosc['umieszczony']);
  15. echo '<br/><br/>';
  16. ?>
Go to the top of the page
+Quote Post
Max Damage
post
Post #15





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Hm, o ile dobrze pamiętam to już tak próbowałem, chociaż zobaczę jeszcze raz jak tylko zrobią ten hostingowany serwer. Bo zdaje się że właśnie totalnie padł..... (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

Edit : Mam teraz taki błąd: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Ten post edytował Max Damage 17.09.2007, 09:25:29
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. $zapytanie="select * from forum where id_artykulu='$id_artykulu'";
  3. $wynik = mysql_query($zapytanie) or die ('zapytanie: '.$zapytanie.'---blad:'.mysql_error());
  4. while($wiadomosc= mysql_fetch_assoc($wynik)){
  5. echo $wiadomosc['temat'];
  6. echo '<br/>';
  7. echo $wiadomosc['wiadomosc'];
  8. echo '<br/>';
  9. echo date ('M d,H:i',$wiadomosc['umieszczony']);
  10. echo '<br/><br/>';
  11. }
  12. ?>
Go to the top of the page
+Quote Post

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: 23.08.2025 - 18:10