Autor | Zpráva | ||
---|---|---|---|
soego Profil |
#1 · Zasláno: 6. 9. 2011, 11:20:50
Ahoj. Mám tento problém: Vypisuji z databáze čísla od 1 do 5 a potřebuji poladit script který zařizuje výpis z databáze tak aby když bude hodnota v databázi 1 aby ji script převedl na slovo ahoj a vypsal ahoj, když bude 2 tak "čau", když 3 tak "zdar", když 4 tak pic apod...
Sesmolil jsem toto: ".($radek['stav'] == 0 ? 'ahoj' : "".$radek[stav']."")." Problém je pro mě v tom, že pokud je tam něco jiného než 1 (2-5), tak nevím jak to udělat aby se vypisovalo tak jak chci. A mít 5 ifů ve scriptu z databáze se mi moc nezamlouvá. Nevíte o něčem elegantnějším? Moc děkuji |
||
YoSarin Profil |
#2 · Zasláno: 6. 9. 2011, 11:28:32 · Upravil/a: YoSarin
$uvitani = array( 1 => 'ahoj', 2 => 'čau', 3 => 'nazdar', // a tak dále ); $vysledek = (isset($uvitani[$radek['stav']]) ? $uvitani[$radek['stav']] : 'Neznámé číslo'); |
||
Sir Tom Profil |
#3 · Zasláno: 6. 9. 2011, 11:30:21 · Upravil/a: Sir Tom
soego:
Také ahoj, použij větvení switch: <?php switch($radek['stav']){ case 1 : echo "ahoj"; break; case 2 : echo "čau"; break; case 3 : echo "zdar"; break; ............................ } ?> EDIT: Pozdě - YoSarin byl dříve - vyber si možnost, která se ti lépe zamlouvá... |
||
Baklazan Profil |
#4 · Zasláno: 6. 9. 2011, 11:30:27
$slova = array('ahoj','cau','zdar','atd','tribodky'); echo $slova[$radek['stav']]; Pripadne este posun index v tom poli |
||
soego Profil |
#5 · Zasláno: 6. 9. 2011, 11:44:45
YoSarin:
Díky, ale moc se mi to nepovedlo rozchodit Píše mi to :HTTP 500 - asi chyba programování... ".$vysledek = (isset($uvitani[$radek[stav]]) ? $uvitani[$radek[stav]] : 'Neznámé číslo');." a na začítek stránky jsem dal toto: $uvitani = array( 1 => 'ahoj', 2 => 'čau', 3 => 'nazdar', ); |
||
soego Profil |
#6 · Zasláno: 6. 9. 2011, 11:45:34
soego:
Díky Vyzkouším i zbytek :-) |
||
soego Profil |
#7 · Zasláno: 6. 9. 2011, 11:58:46
Sir Tom:
Ahoj pomocí toho switche se mi to líbí nejvíce, ale kdykoliv to tak udělám tak se mi stránka nepřeloží správně - nevypíše nic. Mám toto: if($radek) echo "<td style=\"padding-left: 10px; padding-right: 10px; padding-bottom: 5px; padding-top: 5px; vertical-align: top; border: 1px solid #34a53b;\"><a href=\"view.php?id=".$radek["id"]."\" target=\"_blank\"><img src=\"../hola/".$radek["id"]."_small.jpg\" style=\"border: 1px solid #122424;\" /></a><div style=\"text-align: left; width: 150px;\"><b><a href=\"index.php?art=".$radek["id"]."\">".$radek["nazev"]."</a></b><br /><span style=\"color: gray;\">hhh: <span style=\"text-decoration: line-through;\">".$radek["oldhhh"]."</span></span><br />new: ".hola($radek["urs"])."<br />Pozdrav: <span style=\"color: #34a53b;\"> ".switch($radek[stav]){case 1 : echo "ahoj"; break; case 2 : echo "čau"; break; case 3 : echo "zdar"; break;} ." </span></div></td>"; možná chyba v syntaxy...ale nevim... Prosím o radu...Děkuju |
||
okolojdouci Profil * |
#8 · Zasláno: 6. 9. 2011, 12:09:06
soego:
Připadá ti toto jako přehledný styl psaní? Styl si vyhoď do externího css, "\ nahraď apostrofy, kód nějak rozumně rozlož do řádků a chybu uvidíš. |
||
soego Profil |
#9 · Zasláno: 6. 9. 2011, 12:37:07
okolojdouci:
Díky, asi jsem slepý jak patrona, ale chybu pořád nevidím (ale musí tam bejt :-)) Mám teď toto: echo "<td class=\"vypis_tabulku\"> <a href=\"view.php?id=".$radek["id"]."\" target=\"_blank\"> <img class=\"vypis_obrazek\" src=\"../trh/".$radek["id"]."_small.jpg\"> </a> <div class=\"vypis_div\"> <b><a href=\"index.php?art=".$radek["id"]."\">".$radek["nazev"]."</a></b> <br><span style=\"color: gray;\">Stará: ".$radek["old"]."</span> ,- Kč s DPH<br>Nová: ".new($radek["new"])." <br> ".switch($radek["stav"]){case 1 : echo "ahoj"; break; case 2 : echo "čau"; break;}." </div> </td>"; Prosím poraďte...už jsem s toho jelen |
||
soego Profil |
#10 · Zasláno: 6. 9. 2011, 12:49:24
soego:
Kdykoliv do toho scriptu dám cokoliv jako if, switch apod. tak se mi nevypíše nic. Kdyžtak Vám dobiju kredit třeba ha hellshare nebo tak něco přes sms. Prosím poraďte Děkuju |
||
pcmanik Profil |
#11 · Zasláno: 6. 9. 2011, 12:56:18 · Upravil/a: pcmanik
soego:
<?php switch ($radek["stav"]) { case 1 : $vysledok = "ahoj"; break; case 2 : $vysledok = "čau"; break; } echo '<td class="vypis_tabulku"> <a href="view.php?id='. $radek['id'] .'" target="_blank"> <img class="vypis_obrazek" src="../trh/'. $radek['id'] .'_small.jpg"> </a> <div class="vypis_div"> <b><a href="index.php?art='. $radek['id'] .'">'. $radek['nazev'] .'</a></b> <br>Stará: '. $radek['old'] .' ,- Kč s DPH<br>Nová: '. new($radek['new']) .' <br> '. $vysledok .' </div> </td>'; ?> |
||
soego Profil |
#12 · Zasláno: 6. 9. 2011, 13:04:28
pcmanik:
Děkuju. to je ono. Prosímtě kde byla chyba? Kam budeš chtít nabít kredit? Moc děkuju |
||
pcmanik Profil |
#13 · Zasláno: 6. 9. 2011, 13:11:19 · Upravil/a: pcmanik
soego:
Kredit nabit nechcem, ale dakujem :) Len tvoj kod je tak komplikovane napisany, ze sa to v tom ani najst nedalo, takze som to len prepisal do peknej formy a chyba sa sama nasla. Resp. chyba je v tom, ze echujes v echu a to sa nemoze. |
||
soego Profil |
#14 · Zasláno: 6. 9. 2011, 13:13:03
pcmanik:
Díky budu si to pamatovat... |
||
YoSarin Profil |
#15 · Zasláno: 6. 9. 2011, 16:42:51 · Upravil/a: YoSarin
soego:
Díky, ale moc se mi to nepovedlo rozchodit Píše mi to :HTTP 500 - asi chyba programování... ".$vysledek = (isset($uvitani[$radek[stav]]) ? $uvitani[$radek[stav]] : 'Neznámé číslo');." - bodejť by to fungovalo když řetězíš a chceš vypsat přiřazení. Buď odstraň to $vysledek = a ;, nebo tohle přiřazení proveď před vypisováním stringu a do samotného výpisu pak přidej jen proměnnou $vysledek |
||
Časová prodleva: 13 let
|
0