Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql] odczyt
Forum PHP.pl > Forum > Przedszkole
eMatys
Witam mam pewien problem. Poniżej znajduje sie kod:

  1. <?php
  2. $wynik = mysql_query ("SELECT * FROM dzial WHERE aktywny=1 ".
  3. "ORDER BY dzial DESC LIMIT 0,4");
  4.  if ($_GET['dzial']) {
  5. $wynik = mysql_query ("SELECT * FROM dzial WHERE dzial=".$_GET['dzial']." AND aktywny=1;");
  6. if ($wynik && $rekord = mysql_fetch_assoc ($wynik)) {
  7. print "<H2>".$rekord['dzial']."</H2><P>".$rekord['tresc']."</P>";
  8. } else {  
  9. print "Ten dział nieistnieje.n";
  10. }
  11. }
  12. while ($wynik && $rekord = mysql_fetch_array ($wynik)) {
  13.  print "<P><B><A HREF="mapa.php?dzial=".$rekord['dzial']."">";
  14.  print $rekord['dzial']."</P>";
  15. ?>

Kiedy próbuję wywołać dział (bo lista działów się wyświetla) wyskauje mi komunikat ze dział nieistnieje. Niewiem co moze byc przycyną błędu.
Gość
Napisz najpierw jak wyglada struktura bazy danych, bo dajesz pytanie, zeby wyszukal dzial, ale dzial to jest nazwa tabeli czy kolumny czy obu ? Nie masz tego zrobionego za pomoca id ?
eMatys
W bazie danych mam tabele o nazwie dzial oraz rekord odpowiedzialny za wyswietlenie danego działu równiez o nazwie dzial

"Nie masz tego zrobionego za pomoca id ?" tzn??
Gość
Latwiej byloby gdy tabela "dzial" miala by taki wyglad :
id_dzialu | dzial | aktywny | tresc ......// nie wiem jakie tam masz jeszcze pola

I teraz mozna zrobic tak:
  1. <?php
  2. $wynik = mysql_query ("SELECT * FROM dzial WHERE aktywny=1 ORDER BY dzial DESC LIMIT 0,4");
  3.  if (isset($_GET['id_dzialu'])) {
  4. $id_dzialu=trim($_GET['id_dzialu']); //albo tutaj jakies inne zabezpieczenie, jak htmlspecialchars badz addslashes
  5. $wynik = mysql_query ("SELECT * FROM dzial WHERE id_dzialu=$id_dzialu AND aktywny=1;");
  6. if ($wynik && $rekord = mysql_fetch_array ($wynik)) {
  7. print "<H2>".$rekord['dzial']."</H2><P>".$rekord['tresc']."</P>";
  8. } else {  
  9. print "Ten dział nieistnieje.n";
  10. }
  11. }
  12. while ($wynik && $rekord = mysql_fetch_array ($wynik)) {
  13.  print "<P><B><A HREF="mapa.php?id_dzialu=".$rekord['id_dzialu']."">";
  14.  print $rekord['dzial']."</P>";
  15. ?>


Jak sa jakies bledy to sorry, wole jak mi od razu podswietla skladnie smile.gif
eMatys
Ale z tego co mniemam, wtedy wywołuję strone za pomocą numru id, a mnie chodzi własnie o nazwe. Poprełniłes błąd - odysłacz nie generuje id.

Prosiłbym jeszcze o wytłumaczenie 4 lini.
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.