Autor Zpráva
w8
Profil *
Ahoj. potřebopval bych pomoci. Pokusím se nastínit Vám muj problém, který řeším.

Vypisuji z databaze kategorii, která je uložená jako číslo. <? echo $zaznam['kategory']; ?>

Potřeboval bych to předělat na podmínku. Když je to 1 -> o nas, 2 - > novinky... atd.

Jak se toto dá napsat? Díky za nápady, w8
Casero
Profil
w8
no a co třeba normálně v php..a v sql použít až to co tam má být..?
w8
Profil *
no, z db vypisuju číslo, a chtěl bych dotoho vložit podmínku pro každe číslo. Kategorií(čísel) je pět, takže to není snad až tak složité. Ptám se, jestli je to možné.
tiso
Profil
w8
Pokiaľ to máš v databáze tak niekde by so mal mať aj tabuľku v tvare id/nazov_kategorie
Casero
Profil
w8
v tom případě použí podmínky (if kategory=1,neco,jinakneco)
w8
Profil *
if kategory=1 echo o nas
elseif kategory=2 echo novinky....

Jenze ja nevim, jak ma byt syntax, prosdim, poradte.

<? echo $zaznam['kategory']; ?>
Joker
Profil
w8
Ta syntaxe co myslíte je switch:
switch($kategory){
case 1: echo("O nás"); break;
case 2: echo("Novinky"); break;
...
// pokud nevyjde ani jedna z možností výše:
default: echo("Chyba");
}
w8
Profil *
<? echo ($zaznam['kategory'])

switch($kategory){
case 1: echo("O nás"); break;
case 2: echo("Novinky"); break;

default: echo("Chyba");
}
?>

Jak vyjadrit tu kategorii, aby se nacitala primo do switch? Teda jestli to lze. pookkud ne, slo by to hazet do te promene $kategory.
tiso
Profil
w8
nie je mi jasné čo vlastne chceš...
w8
Profil *
Mam v db clanky, jejich kategorie se vklada jako cislo. A ja chci, aby kdyz to vypisuji, aby se mi cislo prevedlo na nazev kategorie.

Chtel jsem na to jit podminkou, kdyz je cislo 1 -> nazev atd..

rozumis?
tiso
Profil
V tom pripade platí to čo som napisal skôr - mal by si tam mať tabuľku id/nazov_kategorie a vypísať to z nej...
w8
Profil *
treba jsme zkusil toto:

switch($zaznam["kategory"]){
case 1: echo "O nás"; break;
case 2: echo "Novinky"; break;

default: echo "Chyba";
}

Hlasi mi to error: Parse error: parse error, unexpected T_SWITCH, expecting ',' or ';' in.....
w8
Profil *
primo nazev jako slovo? Jenomze ja bych to chtel vypisovat jako cislo a pak z nej udelat slovo.
w8
Profil *
reba jsme zkusil toto:

switch($zaznam["kategory"]){
case 1: echo "O nás"; break;
case 2: echo "Novinky"; break;

default: echo "Chyba";
}

Hlasi mi to error: Parse error: parse error, unexpected T_SWITCH, expecting ',' or ';' in.....

Cim to je, poradite?
tiso
Profil
w8
Chýba Ti ; na predchádzajúcom riadku...
K
Profil *
co treba takhle:

(teda pokud to pole je takhle $zaznam['cislo_kategorie'] doufam ze tam nemas natvrdo jako klic 'kategory')

$nazvy=array(1=>'o nas', 2=>'Novinky');


foreach($zaznam as $cat => $value){ // Projede kazdy zaznam
if(array_key_exists($cat, $nazvy)) // Kdyz k danemu zaznamu existuje nazev tak ho vypise
echo $nazvy[$cat];
}


tot vse;
Toto téma je uzamčeno. Odpověď nelze zaslat.