Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z wyswietleniem wyniku
Forum PHP.pl > Forum > PHP
jezoo
mam funkcje, ktora ma za zadanie wybrac tresc do danej kategorii na stronie oto ona:
  1. <?php
  2. function getPage($idCat,$idPodCat) {
  3. // wybiera nazwe kategori
  4. $sql_1 = mysql_query("select name from jd_cat where id='$idCat'");
  5. // wybiera nazwe podkategori
  6. $sql_2 = mysql_query("select name from jd_podcat where id='$idPodCat'");
  7. // wybiera tresc do danej kategorii,podkategorii
  8. $sql_3 = mysql_query("SELECT jd_texts.text
  9. FROM jd_texts, jd_cat, jd_podcat
  10. WHERE jd_texts.idCat = jd_cat.id
  11. AND jd_texts.idPodCat = jd_podcat.id
  12. AND jd_podcat.id = '$idPodCat'
  13. AND jd_cat.id = '$idCat'");
  14.  
  15. // $location_1
  16. $row_1 = mysql_fetch_row($sql_1);
  17. $location_1 = stripslashes($row_1['name']);
  18. // end  
  19.  
  20. // $location_2
  21. $row_2 = mysql_fetch_row($sql_2);
  22. $location_2 = stripslashes($row_2['name']);
  23. // end
  24.  
  25. // $text
  26. $row_3 = mysql_fetch_row($sql_3);
  27. $text = stripslashes($row_3['jd_texts.text']);
  28. // end
  29. }
  30. ?>


i zapytania sprawdzalem przez phpmyadmina i zwraca wynik poprawnie

ponizszy kod ma tylko wyswietlic wyniki zapytan, on u mnie inaczej wyglada ale to co jest najwazniejsze to jest ponizej a reszta to face lifting
  1. <?php
  2. getPage($idCat,$idPodCat);
  3. echo $location_1."/".$location_2."<br />".$text;
  4. ?>

zmienne $location_1, $location_2 i $text sa zmiennymi globalnymi
poradzcie cos.
pozdrawiam.
P.S.
nie pytajcie po co tyle zapytan (sql_1,2,3) bo po prostu tak mi wygodniej smile.gif
nospor
poczytaj se cos o zasiegu zmiennych:
http://pl.php.net/manual/pl/language.variables.scope.php
a bedziesz wiedzial w czym problem
thornag
Sorry za OFFA


@jezoo => robisz strone o Podcastingu ?
jezoo
poczytalem, zgrobilem wg wskzowek w manualu i lipa nadal sad.gif

@thornag => nie, nie robie, jezeli sie sugerowales sie moja zmienna $idPodCat to to jest id -> identyfikator winksmiley.jpg Pod-> pod biggrin.gif Cat -> Katalog winksmiley.jpg wiec nic nie ma zwiazanego z tym tematem smile.gif a jezeli Ciebie to interesuje to proponuje Ci: http://www.idg.pl/artykuly/48788.html
pozdrawiam
nospor
jak mowisz ze zrobiles poprawki, to pokaz te poprawki... skad mam wiedziec co napsules?
jezoo
dopisalem globals w funkcji tak jak pisalo w manualu, czyli:
  1. <?php
  2. function getPage($idCat,$idPodCat) {
  3.  
  4. global $location_1;
  5. global $location_2;
  6. global $text;
  7. (...)
  8. }
  9. ?>


oraz zdefiniowalem zmienne z informacjami w pliku config.ini.php (w nim mam rozne ustawienia dotyczace strony, nie istotny oprocz zmiennych ktore sa zdefiniowane jako globalne w funkcji):
zmienne z config.ini.php:
  1. <?php
  2. $location_1 = "Home"
  3. $location_2 = "";
  4. $text = "Witamy na naszej stronie internetowej";
  5. ?>

i wiem tez o tym ze musze napisac if'a jezeli $idCat i idPodCat beda mialy wartosc NULL albo 0 smile.gif
nospor
sprawdz wewnatrz funkcji czy ci wogole zwraca poprawne wyniki, czyli daj echo na tych swoich zmiennych.
pozatym : global $zm1, $zm2, .....
jezoo
nie zwracaja wlasnie nic bo pierwsze co robilem to sprawdzalem czy sa wyniki i teraz tez jeszcze raz sprawdzilem i lipa sad.gif
$idCat i idPodCat maja przypisane wartosci poprawnie, mysql nie krzyczy zadnych bledow
nospor
Cytat
mysql nie krzyczy zadnych bledow
a niby jak ma krzyczec skoro nigdzie nie masz:
echo mysql_error();
daj to po kazdym zapytaniu
jezoo
tez cisza na morzu sad.gif
nospor
Najwyraźniej zapytanai sa dobre, tylko ich warunki nie zwracaja zadnych danych. wyswietl se tresc tych zapytan i zobacz czy jest ok, daj se je do PMA i sprawdź czy cos zwraca, ale pewnie nie.
  1. <?php
  2. $sql = 'zapytanie';
  3. echo $sql;
  4. mysql_query($sql) or die(mysql_error());
  5. ?>
jezoo
1) pma zwraca mi wynik, tylko jest problem z php sad.gif


2) do zapytania czyli do $sql wartosci sa podstawiane i tutaj sie konczy wszystko bo query nic nie zwraca, nawet bledu sad.gif

3) nawet uproscilem zapytanie, bo teraz siedzac w domciu przeanalizowalem i sie okazalo ze 90% zapytania jest niepotrzebne, wiec zmienilem je na:
  1. SELECT text FROM jd_texts WHERE idPodCat = '$idPodCat' AND idCat = '$idCat'

i PMA elegancko mi zwraca wynik a php dalej jest toporny sad.gif
nospor
a czy ty masz wogole wlączoną obsluge mysql?
daj gdzies na poczatku : error_reporting(E_ALL);
i zobacz czy ci nie pluje bledami ze nie masz mysql
jezoo
w koncu doszedlem do tego smile.gif ale ja bylem ciemny jak tabaka smile.gif
otuz, ja uzylem
  1. <?php
  2. $row_3 = mysql_fetch_row($sql_3); // <---- ZLE!!
  3. $text = stripslashes($row_3['text']);
  4. ?>


i tu byl blad smile.gif tam gdzie napisalem

bo powinienem uzyc:
  1. <?php
  2. $row_3 = mysql_fetch_array($sql_3); // <--- jedeno slowo i tyle problemow :)
  3. $text = stripslashes($row_3['text']);
  4. ?>


i dziala w koncu smile.gif dzieki nospor za wszelka pomoc
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.