Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] wiersz jako odnośnik do pozostałych danych z tabeli
beatZB
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.12.2014

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


Witam, mam problem do którego nie wiem, jak się zabrac.(IMG:style_emoticons/default/sad.gif)
Mianowicie:
mam coś w rodzaju "spisu treści"...
Wyświetlam same nazwy poszczególnych newsów które pobieram z tabeli, chcę, aby po kliknięciu na poszczególną nazwę, przeniosło mnie na stronę, na której reszta danych zostanie wyświetlona z tabeli.

  1. <?php
  2. try
  3. {
  4. $pdo = new PDO('mysql:host=localhost;dbname=xxx', 'xx', 'x') or die ('problem z nawiązaniem połączenia!');
  5. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  6.  
  7. $stmt = $pdo->query("SELECT * FROM przepis WHERE kategoria='grill'");
  8. echo '<ul>';
  9. foreach($stmt as $row)
  10. {
  11. echo '<li>'.$row['nazwa'].' </li>';
  12. ?>
  13. <input type=button onclick="location='kliknieta_nazwa.php'" value="<?php echo $row['id'];?>">
  14. <?php
  15. } $stmt->closeCursor();
  16. echo '</ul>';
  17. }
  18. catch(PDOException $e)
  19. {
  20. echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
  21. }
  22. ?>


Co robic, aby w pliku kliknieta_nazwa.php, wyświetlały mi się pożądane dane? Próbuję na różne sposoby ale wciąż mi się nie udaje. (IMG:style_emoticons/default/facepalmxd.gif)
Z góry dzięki za wszelką pomoc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
DraGo110
post
Post #2





Grupa: Zarejestrowani
Postów: 27
Pomógł: 6
Dołączył: 22.12.2009
Skąd: Katowice

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


  1. <?php
  2. try
  3. {
  4. $pdo = new PDO('mysql:host=localhost;dbname=xxx', 'xx', 'x') or die ('problem z nawiązaniem połączenia!');
  5. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  6.  
  7. $stmt = $pdo->query("SELECT * FROM przepis WHERE kategoria='grill'");
  8. echo '<ul>';
  9. foreach($stmt as $row)
  10. {
  11. echo '<li>'.$row['nazwa'].' </li>';
  12. ?>
  13. <a href="plik2.php?id='.$row['id'].'">Więcej</a>
  14. <?php
  15. } $stmt->closeCursor();
  16. echo '</ul>';
  17. }
  18. catch(PDOException $e)
  19. {
  20. echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
  21. }
  22. ?>






i twój plik plik2.php



  1. <?php
  2. try
  3. {
  4. $pdo = new PDO('mysql:host=localhost;dbname=xxx', 'xx', 'x') or die ('problem z nawiązaniem połączenia!');
  5. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  6.  
  7. $id = $_GET['id'];
  8. $stmt = $pdo->query("SELECT * FROM przepis WHERE id='$id'");
  9. echo '<ul>';
  10. foreach($stmt as $row)
  11. {
  12. echo '<li>'.$row['nazwa'].' </li>';
  13. echo '<li>'.$row['id'].' </li>';
  14. ?>
  15.  
  16. <?php
  17. } $stmt->closeCursor();
  18. echo '</ul>';
  19. }
  20. catch(PDOException $e)
  21. {
  22. echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
  23. }
  24. ?>



Starałem się najprościej, skoro używasz PDO mógł byś użyć obiektów... i umieścić połączenie z bazą w odziennym pliku
Go to the top of the page
+Quote Post
beatZB
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.12.2014

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


Bardzo dziekuję za pomoc, niestety coś poszło nie tak, nigdy nie miałam podobnego błędu, nie wiem co to oznacza.

" Połączenie nie mogło zostac utworzone: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.$row['id'].''' at line 1 "

Chyba jest jakiś błąd w składki sql, ale dlaczego?

a po wciśnięciu na "więcej" link wygląda następująco:

http://localhost/gotujzemna/kliknieta_nazw...'.$row['id'].'

Czy zamiast '.$row['id'].' nie powinien pojawic się okreslony ID?


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





Grupa: Zarejestrowani
Postów: 27
Pomógł: 6
Dołączył: 22.12.2009
Skąd: Katowice

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


Tak ale jakoś musisz go z tam tąd wyciągnąc zeby przenieśc potem do odpowiedniego elementu.
Jeśli używasz PDO przydał by ci się jakiś Debuger bo szczerze mówiąc ten błąd mi dużo nie mówi.

Tak sorki mój błąd

  1. <a href="plik2.php?id=<?php echo $row['id']; ?>">Więcej</a>


spróbuj tak

Wrzuć jeszcze zapytanie i spróbuj je wrzucić bezpośrednio przez SQL i zobacz co ci zwróci. ewentualnie daj se zapytanie do zmiennej wyprintuj i wyślij mi ją tu (IMG:style_emoticons/default/smile.gif)

Ten post edytował DraGo110 25.02.2015, 17:22:55
Go to the top of the page
+Quote Post
beatZB
post
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.12.2014

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


Serdecznie dziękuję, działa!
Jeśli już o debuggowaniu to masz rację, zacznę korzystac z php Designer8 - widzę że posiada ową funkcję.
Jeszcze raz dziękuję i pozdrawiam! (IMG:style_emoticons/default/smile.gif)
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: 22.08.2025 - 13:44