Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Projekt PHP
wacik
post 2.06.2019, 09:09:06
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 2.06.2019

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


Witam,
Mam problem z wyświetleniem wartości z bazy danych w tabelce. Wygląda to tak, jakby zapytanie było poprawne, w tabelce pokazuje mi, że powinny być wartości dla danego studenta a w rzeczywistości nic mi się nie wyświetla. Jestem początkującą osobą jeśli chodzi o PHP i nie do końca potrafię znaleźć gdzie jest błąd. Co prawda pokazuje mi błąd w komunikacie na zmiennej $emp, że jest niezdefiniowana.
  1. ini_set( 'display_errors', 'On' );
  2. error_reporting( E_ALL );
  3. require_once 'common.php';
  4. require_once 'template.php';
  5. $cnt = "<h1><center>Dodaj ocenę</center></h1>";
  6. print_r($emp);
  7. $cnt .= "<form action='newmarkv3.php' method='GET'><div class='post'>\n";
  8. $id = $_GET['id'];
  9. $sql = "SELECT * FROM studenci WHERE id = '{$id}'";
  10. $qry = new dbQuery($sql);
  11. $emp = $qry->next();
  12. if ($emp == NULL) {
  13. header("Location: ./newmarkv2.php");
  14. die();
  15. }
  16.  
  17. if (isset($_GET['id'])&& $_GET['id'] != 0)
  18. {
  19. $sql = "SELECT przedmiot, ocena FROM oceny WHERE id = '$id' ORDER BY przedmiot";
  20. $qry = new dbQuery($sql);
  21. $cnt .= "<center><table id='tabela'><tr><td><h3><font color=white>Przedmiot</font></h3></td><td><h3><font color=white>Ocena</font></h3></td>";
  22. while(($emp = $qry->next() != NULL))
  23. {
  24. $cnt .= "<tr><td><font color=white><center>{$emp["przedmiot"]}</center></font></td><td><font color=white><center>{$emp["ocena"]}</center></font></td>";
  25. }
  26. $cnt .= "<tr><td><center><select name='przedmiot'>"
  27. . "<option value='AUE'>AUE</option>"
  28. . "<option value='Matematyka'>Matematyka</option>"
  29. . "<option value='Angielski'>Angielski</option>"
  30. . "<option value='Symulacje'>Symulacje</option>"
  31. . "<option value='WF'>WF</option>"
  32. . "<option value='SO'>SO</option>"
  33. . "<option value='Praktyka'>Praktyka</option>"
  34. . "<option value='Fizyka'>Fizyka</option>"
  35. . "<option value='Ergonomia'>Ergonomia</option>"
  36. . "<option value='ZMP'>ZMP</option>"
  37. . "</select></center></td>";
  38.  
  39. $cnt .= "<td><center><select name='ocena'>"
  40. . "<option value='2'>2</option>"
  41. . "<option value='3'>3</option>"
  42. . "<option value='4'>4</option>"
  43. . "<option value='5'>5</option>"
  44. . "</select></center></td>";
  45.  
  46. $cnt .= "<td><center><input type='submit' value='Dodaj'><center></td></tr>";
  47. $cnt .= "<input type='hidden' name = 'id' value='{$_GET['id']}'>";
  48. $cnt .= "</table></center>\n";
  49. }
  50. $cnt .= "</div></form>\n";
  51.  
  52. echo getPage(getMenu(), $cnt);
Go to the top of the page
+Quote Post
Tomplus
post 2.06.2019, 12:55:35
Post #2





Grupa: Zarejestrowani
Postów: 1 829
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


1. Poczytaj sobie o SQL Injection i bindowaniu parametów.

2.
zrób sobie print_r($sql) dla zmiennej gdzie trzymasz zapytanie:
$sql = "SELECT * FROM studenci WHERE id = '{$id}'";


Sprawdź czy w ogóle masz tam jakąś wartość.

następnie sprawdź czy w ogóle klasa dbQuery zwraca Ci wartości, bo może nie łączy się z bazą, albo zapytanie ma błędne wartości.
Go to the top of the page
+Quote Post
sratatata
post 3.06.2019, 10:14:26
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

Ostrzeżenie: (20%)
X----


Wogole gdzie delklaracja funkcji i gdzie zwracasz te zmienna $cnt
Go to the top of the page
+Quote Post
Tomplus
post 3.06.2019, 20:06:25
Post #4





Grupa: Zarejestrowani
Postów: 1 829
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


Zanim skomentujesz przeczytaj lepiej kod.

Linia 53 wszystko wyjaśnia.
Go to the top of the page
+Quote Post
sratatata
post 3.06.2019, 21:06:50
Post #5





Grupa: Zarejestrowani
Postów: 42
Pomógł: 2
Dołączył: 25.05.2019

Ostrzeżenie: (20%)
X----


Nie mowie o wywolaniu funkcji
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 Wersja Lo-Fi Aktualny czas: 16.04.2024 - 06:30