Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] - Problem z wyświetlaniem
Forum PHP.pl > Forum > Przedszkole
Shinigami
Witam. Mam problem. Napisałam skrypt wyświetlający karty graficzne, zapisane w bazie danych. Chciałabym przerobić go tak, aby po kliknięciu na model karty, przenosiło do strony "konkret.php" i pobierałoby wtedy z bazy danych dokładną specyfikację. Niestety, nie potrafię pobrać "nazwy", wybranej karty, tak, aby na stronie "konkret.php" wyświetlało jej specyfikację. Jeśli ktoś mógłby pomóc, będę wdzięczna. Pozdrawiam.

kartyg.php
  1. <?php
  2.  
  3.  
  4.  
  5. $db = mysql_connect('localhost','bibliotekarz','123456') or
  6. die ("Sprawdz polaczenie z serverem!");
  7.  
  8. mysql_select_db("bibliotekautk");
  9.  
  10. $tabela = 'kartyg';
  11.  
  12.  
  13. $query = "SELECT * FROM $tabela WHERE zlacze='AGP';";
  14. $wynik = mysql_query($query);
  15.  
  16.  
  17. $ile_znalezionych = mysql_num_rows($wynik);
  18.  
  19. echo "<center><h4>Karty graficzne - AGP</h4>";
  20. echo "<table border=1>";
  21. echo "<tr><th>Producent</td><th>Chipset</td><th>Model</td><th>Skal.</td><th>Rozdzielczość</td><th>Typ pamięci</td><th>Sz.P.</td><th>I.P.</td><th>Cz.P.</td><th>Cz.R.</td><th>Miniatura</td></tr>";
  22.  
  23. for ($i=0; $i<$ile_znalezionych; $i++) {
  24. $wiersz = mysql_fetch_array($wynik);
  25. echo "<tr>
  26. <td><a href=?body=konkret>".$wiersz['model']."</a></td>
  27. <td>".$wiersz['typpamieci']."</td>
  28. <td>".$wiersz['szynapamieci']."</td>
  29. <td>".$wiersz['iloscpamieci']."</td></tr>";
  30.  
  31. }
  32. echo "</table></center><br><br>";
  33.  
  34.  
  35.  
  36. if (!$ile_znalezionych) { echo "Brak";}
  37.  
  38.  
  39. ?>
krzywy36
zapewne masz pole id, jeśli nie to radze dorobić, wtedy link robisz np tak:
  1. echo '<td><a href="?body=konkret&id='.$wiersz['id'].'">'.$wiersz['model'].'</a></td>';

a w pliku konkret tworzysz zapytanie sql z WHERE id = $_GET['id'] (popraw to tak żeby działało).
Shinigami
Wyskakuje taki błąd:
Parse error: syntax error, unexpected '=' in C:\Program Files (x86)\WebServ\httpd\includes\kartyg.php on line 26
krzywy36
mam zgadnąć co masz w 26 linii?
Shinigami
Nie, jest powyżej smile.gif

  1. <td><a href="?body=konkret&id='.$wiersz['ID'].'">".$wiersz['model']."</a></td>
krzywy36
rzeczywiście, mój błąd. Chodzi o to, że używasz " tam gdzie ja używam ', poprawnie powinno być tak:
  1. <td><a href='?body=konkret&id=".$wiersz['ID']."'>".$wiersz['model']."</a></td>
Shinigami
O teraz przechodzi do strony : http://localhost/index.php?body=konkret&id=1

Ale pokazuje się błąd: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Program Files (x86)\WebServ\httpd\includes\konkret.php on line 12

Plik konkret.php:

  1. <?php
  2.  
  3.  
  4. $db = mysql_connect('localhost','bibliotekarz','123456') or
  5. die ("Sprawdz polaczenie z serverem!");
  6.  
  7. mysql_select_db("bibliotekautk");
  8.  
  9. $tabela = 'kartyg';
  10.  
  11.  
  12. $query = "SELECT * FROM $tabela WHERE ID='$_GET['ID']';";
  13. $wynik = mysql_query($query);
  14.  
  15.  
  16. $ile_znalezionych = mysql_num_rows($wynik);
  17.  
  18. echo "<center><h4>Kart graficzna - $model</h4>";
  19. echo "<table border=1>";
  20. echo "<tr><th>Producent</td><th>Chipset</td><th>Model</td><th>Skal.</td><th>Rozdzielczość</td><th>Typ pamięci</td><th>Sz.P.</td><th>I.P.</td><th>Cz.P.</td><th>Cz.R.</td><th>Miniatura</td></tr>";
  21.  
  22. for ($i=0; $i<$ile_znalezionych; $i++) {
  23. $wiersz = mysql_fetch_array($wynik);
  24. echo "<tr>
  25. <td>".$wiersz['producent']."</td>
  26. <td>".$wiersz['chipset']."</td>
  27. <td>".$wiersz['model']."</a></td>
  28. <td>".$wiersz['skalowanie']."</td>
  29. <td>".$wiersz['rozdzielczosc']."</td>
  30. <td>".$wiersz['typpamieci']."</td>
  31. <td>".$wiersz['szynapamieci']."</td>
  32. <td>".$wiersz['iloscpamieci']."</td>
  33. <td>".$wiersz['czpamieci']."</td>
  34. <td>".$wiersz['czrdzenia']."</td>
  35. <td><a href=".$wiersz['file_patch']."><img src=".$wiersz['file_patch']." width=100 height=100 border=0></a></td></tr>";
  36.  
  37. }
  38. echo "</table></center><br><br>";
  39.  
  40.  
  41. if (!$ile_znalezionych) { echo "Brak";}
  42.  
  43.  
  44.  
  45. ?>
krzywy36
podstawy budowania stringów w php.
  1. $query = 'SELECT * FROM '.$tabela.' WHERE ID='.$_GET['ID'];

powinno działać, radzę używać ' zamiast " smile.gif
Shinigami
Ah, teraz znów taki błąd: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files (x86)\WebServ\httpd\includes\konkret.php on line 16
krzywy36
prawdopodobnie błąd w sql, spróbuj:
  1. $query = 'SELECT * FROM "'.$tabela.'" WHERE ID="'.$_GET['ID'].'"';

na pewno pole id masz pisane wielkimi literami w bazie?

Edit: Dodaj do po mysql_query() or die(mysql_error())
Shinigami
Tak, pole ID, na pewno jest dużymi.

Aktualnie plik "konktet.php" wygląda tak:

  1. <?php
  2.  
  3.  
  4. $db = mysql_connect('localhost','bibliotekarz','123456') or
  5. die ("Sprawdz polaczenie z serverem!");
  6.  
  7. mysql_select_db("bibliotekautk");
  8.  
  9. $tabela = 'kartyg';
  10.  
  11.  
  12. $query = 'SELECT * FROM "'.$tabela.'" WHERE ID="'.$_GET['ID'].'"';
  13. $wynik = mysql_query($query) or die(mysql_error());
  14.  
  15.  
  16. $ile_znalezionych = mysql_num_rows($wynik);
  17.  
  18. echo "<center><h4>Kart graficzna - $model</h4>";
  19. echo "<table border=1>";
  20. echo "<tr><th>Producent</td><th>Chipset</td><th>Model</td><th>Skal.</td><th>Rozdzielczość</td><th>Typ pamięci</td><th>Sz.P.</td><th>I.P.</td><th>Cz.P.</td><th>Cz.R.</td><th>Miniatura</td></tr>";
  21.  
  22. for ($i=0; $i<$ile_znalezionych; $i++) {
  23. $wiersz = mysql_fetch_array($wynik);
  24. echo "<tr>
  25. <td>".$wiersz['producent']."</td>
  26. <td>".$wiersz['chipset']."</td>
  27. <td>".$wiersz['model']."</a></td>
  28. <td>".$wiersz['skalowanie']."</td>
  29. <td>".$wiersz['rozdzielczosc']."</td>
  30. <td>".$wiersz['typpamieci']."</td>
  31. <td>".$wiersz['szynapamieci']."</td>
  32. <td>".$wiersz['iloscpamieci']."</td>
  33. <td>".$wiersz['czpamieci']."</td>
  34. <td>".$wiersz['czrdzenia']."</td>
  35. <td><a href=".$wiersz['file_patch']."><img src=".$wiersz['file_patch']." width=100 height=100 border=0></a></td></tr>";
  36.  
  37. }
  38. echo "</table></center><br><br>";
  39.  
  40.  
  41. if (!$ile_znalezionych) { echo "Brak";}
  42.  
  43.  
  44.  
  45. ?>


I wyrzuca błąd: Something is wrong in your syntax obok '"kartyg" WHERE ID=""' w linii 1
krzywy36
zamiast $_GET['ID'] daj w zapytaniu $_GET['id']
Shinigami
Nic to nie dało, dalej to samo.
krzywy36
zauważ, że w
Cytat
I wyrzuca błąd: Something is wrong in your syntax obok '"kartyg" WHERE ID=""' w linii 1
między cudzysłowami brakuje wartości, więc nie jest przekazywana z GET'a, więc masz prawdopodobnie gdzieś literówke.
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.