Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Dłuższy adres
Forum PHP.pl > Forum > Przedszkole
radziowie
Czy moze mi ktos powiedzieć co robię źle. Mam kod:
  1. elseif (isset($_GET['sala']) && isset($_GET['kat']))
  2. {
  3.  
  4. $sale = mysql_query("SELECT * FROM sale;") or die(mysql_error());
  5. WHILE ($rekord = mysql_fetch_assoc ($sale))
  6. {
  7.  
  8. $id_sali = $rekord['id_sali'];
  9. $sala = $rekord['sala'];
  10. $opiekun = $rekord['opiekun'];
  11. $info = $rekord['info'];
  12. $opis_sali = $rekord['opis_sali'];
  13. $opiekun_pr = $rekord['opiekun_pr'];
  14.  
  15. $pod_kat=mysql_query("SELECT id FROM category");
  16. while ($r = mysql_fetch_assoc($pod_kat))
  17. {
  18. $id=$r['id'];
  19.  
  20.  
  21.  
  22. if (isset($_GET['kat']) && $_GET['kat']==$id && isset($_GET['sala']) && $_GET['sala']==$id_sali)
  23. {
  24.  
  25. echo '<font color="#FF0000"-><h3>'.stripslashes($sala).' ('.$opis_sali.')</h3></font><br />
  26. Opiekun naukowy: '.stripslashes($opiekun).'<br />
  27. Opiekun pracowni: '.stripslashes($opiekun_pr).'<br /><br />
  28. '.nl2br(stripslashes($info)).'<br />';
  29.  
  30. $zdjecia = mysql_query("SELECT * FROM zdjecia WHERE id_kat = '".$sala."' ORDER by id_zdjecia DESC LIMIT 4;");
  31. $licz_zdjecia = mysql_num_rows($zdjecia);
  32. if ($licz_zdjecia!=0)
  33. {
  34. echo '<u>Zdjęcia z galerii dla sali: '.$sala.'</u><br /><p align="center">';
  35. WHILE ($rekord = mysql_fetch_assoc ($zdjecia))
  36. {
  37. $zdjecie = $rekord['zdjecie'];
  38. $opis = $rekord['opis'];
  39. echo '<a href="./upload/galeria/'.$zdjecie.'" border="0" alt="'.$opis.'" title="'.$opis.'">
  40. <img src="./upload/galeria/mini/'.$zdjecie.'" border="0"></a>';
  41.  
  42. }
  43.  
  44. }
  45.  
  46. else
  47. {
  48. echo '<p><u>Nie ma zdjęć dla danej galerii</u></p>';
  49. }
  50. }
  51. }
  52. }
  53.  
  54. echo '<p align="center"><a href="./index.php">Powróć do SAL</a>';
  55.  
  56. echo '</p>';
  57. }


I nie mogę wejść np. w adres index.php?kat=2&sala=3 ( tam powinny wyświetlić się dane na temat konkretnej sali). Mi się wyświetla ta sama strona co przed kliknięciem.

Wydaje mi się, że błąd może być tu
if (isset($_GET['kat']) && $_GET['kat']==$id && isset($_GET['sala']) && $_GET['sala']==$id_sali)
lub
elseif (isset($_GET['sala']) && isset($_GET['kat']))
bo jak wywołuję dane pobrane metoda get to wyświetla mi poprawnie pobrane dane np. Array ( [kat] => 13 [sala] => 14 )
markonix
Cytat(radziowie @ 20.12.2010, 21:33:33 ) *
I nie mogę wejść np. w adres index.php?kat=2&sala=3 ( tam powinny wyświetlić się dane na temat konkretnej sali)

Co znaczy, że nie możesz wejść w adres? Przeglądarka się wyłącza po wpisaniu tego adresu?
radziowie
Wchodze w adres http://localhost/~praca/index.php?kat=13 i wyświetla się:
Kod
Array ( [kat] => 13 )
| B3 (Laboratorium Elektrotechniki i Elektroniki) |

| B4 (Laboratorium Elektrotechniki i Elektroniki) |

I teraz wchodzę w jedną z sal np. B3 ... (czyli http://localhost/~praca/index.php?kat=13&sala=14) i wyświetla się:
Kod
Array ( [kat] => 13 [sala] => 14 )
| B3 (Laboratorium Elektrotechniki i Elektroniki) |

| B4 (Laboratorium Elektrotechniki i Elektroniki) |

Czyli nie mogę dlaej wejść
mieszkos
jak dla mnie tu smierdzi:

  1. if (isset($_GET['kat']) && $_GET['kat']==$id && isset($_GET['sala']) && $_GET['sala']==$id_sali)
radziowie
Tylko co? Próbuję różne kombinacje ale nic z tego nie wychodzi.
markonix
  1. <font color="#FF0000"-><h3>

Tu masz literówkę, zresztą w ogóle to jakieś dziwne html'owe konstrukcje (na marginesie).

Kod
Array ( [kat] => 13 )
Array ( [kat] => 13 [sala] => 14 )

Jak dla mnie tablica GET działa tak jak powinna.

Jeżeli to ma najpierw się opierać o kategorie, a potem uszczegóławiać to nie rozumiem:
  1. (isset($_GET['sala']) && isset($_GET['kat']))

Chyba że podajesz fragment kodu.

Powiedz co ma się wyświetlać dokładniej bo nie rozumiem dlaczego gdy masz w GET numer sali to nie stworzysz odpowiedniego zapytania wyciągającego dane TEJ konkretnej sali (pamiętając o odpowiedniej filtracji zmiennej pochodzącej z linku).
radziowie
oto cały kod:

  1. <?php
  2. $title='Sale laboratoryjne';
  3. include ('dodatki/bonus.php');
  4. include ('meta.php');
  5. include ('gora_logo.php');
  6. lewe_menu ();
  7. open_title();
  8. polacz_baza();
  9. print_r($_GET);
  10.  
  11. if (!isset($_GET['kat']) || $_GET['kat'] == '')
  12. {
  13. $pod_kat=mysql_query("SELECT id, kategoria FROM category");
  14. while ($r = mysql_fetch_assoc($pod_kat))
  15. {
  16. $kategoria=$r['kategoria'];
  17. $id=$r['id'];
  18. echo '<h4>| <a href="index.php?kat='.$id.'">'.stripslashes($kategoria).'</a> |</h4>';
  19. }
  20. }
  21.  
  22. elseif (isset($_GET['kat']))
  23. {
  24. $pod_kat=mysql_query("SELECT id, kategoria FROM category");
  25. while ($r = mysql_fetch_assoc($pod_kat))
  26. {
  27. $kategoria=$r['kategoria'];
  28. $id_kat=$r['id'];
  29.  
  30. if (isset($_GET['kat']) && $_GET['kat']==$id_kat)
  31. {
  32. $sale = mysql_query("SELECT id_sali, sala, opis_sali, kategoria FROM sale WHERE kategoria='".$id_kat."';")
  33. WHILE ($rekord = mysql_fetch_assoc ($sale))
  34. {
  35. $id_sali = $rekord['id_sali'];
  36. $sala = $rekord['sala'];
  37. $opis_sali = $rekord['opis_sali'];
  38. echo '<h4>| <a href="index.php?kat='.$id_kat.'&sala='.$id_sali.'">'.stripslashes($sala).' ('.$opis_sali.')</a> |</h4><br />';
  39.  
  40. }
  41. echo '<p align="center">';
  42.  
  43.  
  44. }
  45.  
  46. }
  47. }
  48.  
  49. elseif (isset($_GET['kat']) && isset($_GET['sala']))
  50. {
  51.  
  52. $sale = mysql_query("SELECT * FROM sale;") or die(mysql_error());
  53. WHILE ($rekord = mysql_fetch_assoc ($sale))
  54. {
  55.  
  56. $id_sali = $rekord['id_sali'];
  57. $sala = $rekord['sala'];
  58. $opiekun = $rekord['opiekun'];
  59. $info = $rekord['info'];
  60. $opis_sali = $rekord['opis_sali'];
  61. $opiekun_pr = $rekord['opiekun_pr'];
  62.  
  63. $pod_kat=mysql_query("SELECT id FROM category");
  64. while ($r = mysql_fetch_assoc($pod_kat))
  65. {
  66. $id=$r['id'];
  67.  
  68.  
  69.  
  70. if (isset($_GET['kat']) && $_GET['kat']==$id && isset($_GET['sala']) && $_GET['sala']==$id_sali)
  71. {
  72.  
  73. echo '<font color="#FF0000"-><h3>'.stripslashes($sala).' ('.$opis_sali.')</h3></font><br />
  74. Opiekun naukowy: '.stripslashes($opiekun).'<br />
  75. Opiekun pracowni: '.stripslashes($opiekun_pr).'<br /><br />
  76. '.nl2br(stripslashes($info)).'<br />';
  77.  
  78. $zdjecia = mysql_query("SELECT * FROM zdjecia WHERE id_kat = '".$sala."' ORDER by id_zdjecia DESC LIMIT 4;");
  79. $licz_zdjecia = mysql_num_rows($zdjecia);
  80. if ($licz_zdjecia!=0)
  81. {
  82. echo '<u>Zdjęcia z galerii dla sali: '.$sala.'</u><br /><p align="center">';
  83. WHILE ($rekord = mysql_fetch_assoc ($zdjecia))
  84. {
  85. $zdjecie = $rekord['zdjecie'];
  86. $opis = $rekord['opis'];
  87. echo '<a href="./upload/galeria/'.$zdjecie.'" border="0" alt="'.$opis.'" title="'.$opis.'">
  88. <img src="./upload/galeria/mini/'.$zdjecie.'" border="0"></a>';
  89.  
  90. }
  91.  
  92. }
  93.  
  94. else
  95. {
  96. echo '<p><u>Nie ma zdjęć dla danej galerii</u></p>';
  97. }
  98. }
  99. }
  100. }
  101.  
  102. echo '<p align="center"><a href="./index.php">Powróć do SAL</a>';
  103.  
  104. echo '</p>';
  105. }
  106.  
  107.  
  108. else
  109. {
  110. echo 'Błąd. Nie ma takiej strony.';
  111. }
  112.  
  113.  
  114.  
  115.  
  116.  
  117. echo '<br /></p>';
  118. close_title();
  119. include ('./stopka.php');
  120. ?>


Czyli ma się wyświetlić ten kawałek kodu (tytuł sali, opiekun itd.):

  1. echo '<font color="#FF0000"-><h3>'.stripslashes($sala).' ('.$opis_sali.')</h3></font><br />
  2. Opiekun naukowy: '.stripslashes($opiekun).'<br />
  3. Opiekun pracowni: '.stripslashes($opiekun_pr).'<br /><br />
  4. '.nl2br(stripslashes($info)).'<br />';
  5. ...


Czyli jak widać dane wywołuje:
$sale = mysql_query("SELECT * FROM sale;") or die(mysql_error());
oraz
$pod_kat=mysql_query("SELECT id FROM category");
A następnie próbuję wejść na podstronę dzięki kodu, który podałem juz wcześniej czyli:

if (isset($_GET['kat']) && $_GET['kat']==$id && isset($_GET['sala']) && $_GET['sala']==$id_sali)

Macie jakąś propozycję co może być nie tak?
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.