Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Skrypt nie pobiera danych z bazy, dlaczego?
Forum PHP.pl > Forum > Przedszkole
Osth
Tak jak w temacie, poniżej dołączam kod. O godzinie 3:30 nie widzę przyczyny tego problemu, dlatego bardzo liczę na Waszą pomoc wink.gif

PS. Proszę się za bardzo nie załamywać nad jakością kodu - na razie głównym celem jest to, żeby działało. Jak już będę w stanie napisać działający skrypt, wtedy będzie można go zabezpieczać, upiększać i Bóg wie co jeszcze.

Pozdrawiam! smile.gif

  1. <?php
  2. include('baza.php');
  3.  
  4. if($_GET['p']=='') {
  5. index;
  6. }
  7. if($_GET['p']=='$id'){
  8. show();
  9. }
  10.  
  11.  
  12. function index() {
  13. $sql = "SELECT `id`, `imie`, `nazwisko` FROM nauczyciele ORDER BY id";
  14. $query = mysql_query($sql);
  15.  
  16. while($r = mysql_fetch_array($query)) {
  17.  
  18. $id = $r['id'];
  19. $imie = $r['imie'];
  20. $nazwisko = $r['nazwisko'];
  21.  
  22. echo ' '.$imie.' '.$nazwisko.' [<a href="/nauczyciele.php?p='.$id.'">więcej</a>]<br>';
  23. }
  24. }
  25.  
  26. function show() {
  27.  
  28. $id = $_GET['id'];
  29. $sql = "SELECT * FROM `nauczyciele` WHERE `id` = `$id`";
  30. $query = mysql_query($sql);
  31. $r = mysql_fetch_array($query);
  32.  
  33. $img = $r['img'];
  34. $imie = $r['imie'];
  35. $nazwisko = $r['nazwisko'];
  36. $przedmiot = $r['przedmiot'];
  37. $opis = $r['opis'];
  38.  
  39. <center><img src="'.$img.'"><br>
  40. Imię i nazwisko: '.imie.' '.nazwisko.' <Br>
  41. Przedmiot: '.przedmiot.' <br>
  42. Opis: '.opis.' <br>
  43. ';
  44. }
  45. ?>
Pawel_W
1. nie index; a index();
2. nie '$id' a $id
3. ustaw error_reporting na E_ALL i powiedz czy czymś nie sypie
Osth
Poprawiłem z index; na index();, dzięki - właśnie takie pierdółki przeocza się o takiej godzinie biggrin.gif

Skrypt teraz pobiera informacje z bazy, jednak po kliknięciu w daną osobę, znowu nic się nie ładuje.
Zmieniłem
  1. if($_GET['p']=='$id'){
  2. show();
  3. }

na
  1. if($_GET['p']=='nauczyciel' && isset($_GET['id'])){
  2. show();
  3. }
  4.  

ale dalej nic. Tak, jakby nie było żadnych informacji, nic się nie wczytuje - podobnie jak to było, gdy zapomniałem dać nawiasów przy index.

Co do błędów:
nauczyciele.php wyświetla:
  1. Notice: Undefined index: p in line 5
  2. Notice: Undefined index: p in line 8

czyli chodzi o warunki IF ze zmienną $_GET .. Na xamppie też mi się coś takiego robiło, ale na hostingu działało, wiec zignorowałem. Jakieś pomysły?
viking
Wyczytać z tego możesz że $_GET['p'] jest puste więc warunek się nie wykonuje. Sprawdzaj też od razu isset().
Osth
No ale właśnie teraz skrypt działą tak, ze gdy p jest puste, pokazuje się normalnie funkcja index();, a gdy p ma przypisaną wartość jako $_GET skrypt się nie wykonuje, jest pusto..

Może ktoś by mógł pomóc? wink.gif
amii
W funkcji show w ostatnim echo nie masz $ przy zmiennych po za tym dodawaj zawsze przy zapytaniach, wtedy jak sypnie błędem SQL to od razu będziesz wiedział:
mysql_query($sql) or die(mysql_error());
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.