Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Generowanie stron - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Generowanie stron (/thread-generowanie-stron)



Generowanie stron - kajzur - 30-11-2008

Witam, mam stronę, która wybiera id, i nazwe kategorii z bazy, i tworzy w pętli linki, w postaci kat.php?id=1
I on działa Smile
Problem się zaczyna, gdy chce, by po kliknięciu w te linki, dostał, w zależności od zmiennej GET, właściwe dane z bazy, napisałem coś takiego:
Kod PHP:
include ("dbst.php");

        
$kurde mysql_query("select id FROM kat_kat");
$liczba mysql_num_rows($kurde);        
            
$i=1;

while (
$liczba <= $i){ 

switch(
$_GET['id'])
     {
         case 
"$i":
    
$zapyt mysql_query("select keyw, opis, nazwa, link from kat_linki where idkat ='$i'");
    
$liczba mysql_fetch_row($zapyt);        
        echo 
"<a href=".$liczba[3].">".$liczba[2]."</a><br>".$liczba[1]."<br>".$liczba[0];
        
             
$i++;             
             break;
 
 
         default:
 }        

//Tu zaczyna sie wyswietlanie tych linków, maja one się wyświetlać, gdy nie ma zmiennej get, czyli jesli link wyglada kat.php

$zapt mysql_query("SELECT * FROM kat_kat");

while(
$rekord mysql_fetch_row($zapt))
{
$tekst1 "<a href=kat.php?id=".$rekord[1].">".$rekord[0]."</a><br>";
echo 
$tekst1;
}


I taki kod, nie wyświetla mi nic, można prosić o pomoc?
Pozdrawiam.


RE: Generowanie stron - Marcin - 30-11-2008

Poczytaj może o funkcji empty() i isset()


RE: Generowanie stron - kajzur - 30-11-2008

Hmm, isset() zwraca prawde jesli zmienna podana jako argument istnieje, tak? A empty () zwraca prawde jesli zmienna podana jako argument, jest pusta.. Tylko troche nie rozumiem jak może mi to pomoć? W którym momencie ten kod jest zły?


RE: Generowanie stron - DoGeR - 30-11-2008

Kod PHP:
//Tu zaczyna sie wyswietlanie tych linków, maja one się wyświetlać, gdy nie ma zmiennej get, czyli jesli link wyglada kat.php

$zapt mysql_query("SELECT * FROM kat_kat");

while(
$rekord mysql_fetch_row($zapt))
{
$tekst1 "<a href=kat.php?id=".$rekord[1].">".$rekord[0]."</a><br>";
echo 
$tekst1;

No to chyba logiczne że trzeba dać np. w if(empty($_GET['id']))


RE: Generowanie stron - kajzur - 30-11-2008

Faktycznie.. Chodz teraz już dostaje wynik, tzn te linki co są generowane, to nadal nie dostaje wyniku z zapytania, które jest gdy warunek jest spełniony, tzn gdy mamu zmienną GET. Kod:
Kod PHP:
include ("dbst.php");
if(empty(
$_GET['id']))
{

$zapt mysql_query("SELECT * FROM kat_kat");

while(
$rekord mysql_fetch_row($zapt))
{
$tekst1 "<a href=kat.php?id=".$rekord[1].">".$rekord[0]."</a><br>";
echo 
$tekst1;
}


} else {


        
$kurde mysql_query("select id FROM kat_kat");
$liczba mysql_num_rows($kurde);        
            
$i=1;

while (
$liczba <= $i){ 

switch(
$_GET['id'])
     {
         case 
"$i":
    
$zapyt mysql_query("select keyw, opis, nazwa, link from kat_linki where idkat ='$i'");
    
$liczba mysql_fetch_row($zapyt);        
        echo 
"<a href=".$liczba[3].">".$liczba[2]."</a><br>".$liczba[1]."<br>".$liczba[0];
        
             
$i++;             
             break;
 
 
         default:
 }        
}} 



RE: Generowanie stron - DoGeR - 01-12-2008

Kod PHP:
$kurde mysql_query("select id FROM kat_kat");
$liczba mysql_num_rows($kurde);        
            
$i=1;

while (
$liczba <= $i){ 

switch(
$_GET['id'])
     {
         case 
"$i":
    
$zapyt mysql_query("select keyw, opis, nazwa, link from kat_linki where idkat ='$i'");
    
$liczba mysql_fetch_row($zapyt);        
        echo 
"<a href=".$liczba[3].">".$liczba[2]."</a><br>".$liczba[1]."<br>".$liczba[0];
        
             
$i++;             
             break;
 
 
         default:
 }        


Czy tu chodzi o to, że ma wypisywać linki których id = $i ?
Jeżeli tak to nie wiem po co tyle niepotrzebnego kodu...


RE: Generowanie stron - kajzur - 01-12-2008

Ma wyświetlać to:
Kod PHP:
echo "<a href=".$liczba[3].">".$liczba[2]."</a><br>".$liczba[1]."<br>".$liczba[0]; 
jesli np, $_GET['id'] = 1; to chce żeby wykonał operacje typu
Kod PHP:
$zapyt mysql_query("select keyw, opis, nazwa, link from kat_linki where idkat ='1'");
   
$liczba mysql_fetch_row($zapyt);        
        echo 
"<a href=".$liczba[3].">".$liczba[2]."</a><br>".$liczba[1]."<br>".$liczba[0]; 



RE: Generowanie stron - pRzemo - 01-12-2008

Na chybcika napisałem coś takiego:
Kod PHP:
<?
$c 
mysql_connect('localhost''root''');
$db mysql_select_db('webmastertalk');

$q mysql_query("SELECT * FROM kat_artykuly");
while(
$data mysql_fetch_assoc($q))
{
    echo 
'<a href="?id='.$data['id'].'">'.$data['nazwa'].'</a> - '.$data['opis'].'<br />';
}

if(isset(
$_GET['id']))
{
    
$q mysql_query("SELECT nazwa, opis FROM kat_artykuly WHERE id='".$_GET['id']."'");    
    
$data mysql_fetch_assoc($q);
    
    echo 
'<h1>'.$data['nazwa'].'</h1>';
    echo 
'<br />';
    echo 
$data['opis'];
}

mysql_close($c);
?>

Działa bez problemów Smile


RE: Generowanie stron - kajzur - 01-12-2008

Po małych przeróbkach działa swietnie! Dzięki Smile