| 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: 14 let
|
|||
0