Autor Zpráva
Zamzolín
Profil *
Zdravím ... Mám kód pro zobrazení všech článků, po kliknutí na přečíst vše se přesměruje na clanek.php?id=CISLO ... A dole jsou kategorie, ve kterých je to zařazeno .. Dejme tomu že ta bude kategorie TEST ... Po kliknutí na tuto kategorii mne to přesměruje na clanky_kat.php?kategorie=KATEGORIE .. Jenže .. Mám 3 články v databázi .. jeden má kategorii TEST, druhý SVĚT a třetí ZKOUŠKA... ID mají 3,4,5 .. (1,2 jsem smazal ..) Takže to správné je nejmenší .. Ale zobrazuje se prostřední ... asi by se jich zobrazilo i více ale udělal jsem to špatně a zobrazí se jen jeden. Jenže jaktože se tedy zobrazí jiné kategorie než TEST ..?
Kód:
<body>
<div id="page">
<?
include "./connect.php"; //Připojení k databázi
$result = mysql_query("SELECT autor,kategorie,id,perex,clanek,datum,nadpis,tag1,tag2,tag3,tag4,tag5,podnadpis FROM clanky WHERE kategorie = ".(int)$_GET['kategorie']."");
list($autor, $kategorie, $id, $perex, $clanek, $datum, $nadpis, $tag1, $tag2, $tag3, $tag4, $tag5, $podnadpis) = mysql_fetch_row($result);
?>

<div id="page">
    
    <h3> <?php echo $nadpis ?> </h3>
    
    <div class="popisek"><p>Napsal: <b><?php echo $autor ?></b> | Dne: <b><?php echo $datum ?></b>  | Komentáře: <b>12</b></p></div>
    
    <p><?php echo $perex ?></p>
    <p><?php echo $clanek ?></p>
        
  <div class="next"><a href="index.php">Hlavní stránka</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="clanky.php">Články</a></div>                  
  
    
    <div class="dopisek"><p><b>Kategorie:</b> <a href="zobraz_kategorie.php?kategorie=<? echo $kategorie ?>"><?php echo $kategorie ?></a><br>
    <b>Tagy:</b> <? echo $tag1 ?> <? echo $tag2 ?> <? echo $tag3 ?> <? echo $tag4 ?> <? echo $tag5 ?> </div>
     
  </div>


  <div id="sidebar">
				
	  	
	
	</div>
	
</body>


PS: DIVů si nevšímejte :)..
jenikkozak
Profil
Zamzolín:
Mimochodem PHP zvládá vypsat řetězec i s mezerami:
echo " ";//vypíše mezeru


Zkus psát trochu inteligentněji, aby bylo rozumět, co vlastně chceš.

Ale zobrazuje se prostřední ... asi by se jich zobrazilo i více ale udělal jsem to špatně a zobrazí se jen jeden.
Zobrazí se jeden z těch, které mají jako kategorii nastavenou aktuální hodnotu v adrese ($_GET['kategorie']). Proč se zobrazí jen jedna? Aby se zobrazilo případně více záznamů z databáze, bylo by nutné při vypisování použít cyklus (while), který by prošel všechny vrácené záznamy.

A dále:
Pokud nebudeš mít u všech článků přesně pět tagů, bylo by lepší na ně použít novou tabulku, která by obsahovala pouze id článku a název tagu. V případě, že se názvy tagů opakují (což je pravděpodobné), hodily by se tabulky tři: Tabulka s články, tabulka s id a názvy tagů a tabulka, která by obsahovala id tagu a id článku. Díky tomu bude moci jeden článek obsahovat např. 10 tagů, zatímco druhý bude obsahovat jediný. Ale dělej si to, jak chceš.
Holicz
Profil
jenikkozak:
To s cyklem while vím. Ovšem zobrazuje se mi článek, který má jinou kategorii. No a tabulky a tagy? Vypadá to jako velice inteligentní řešení. Něco podobného jsem hledal, ale napadlo mne jen to co mám teď. Určitě to předělám. Díky

Btw. Mám jiný nick, protože jsem se zaregistroval ...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0