Autor | Zpráva | ||
---|---|---|---|
morek Profil * |
#1 · Zasláno: 25. 4. 2011, 21:56:33
Ahoj,
z Db taham string ve tvaru "0,1,2,3". Chtěl bych dostat asociativni pole ve tvaru array(1=>'1',2=>'2',3=>'3',4=>'4'); Kdyz jsem zkousel $flute = explode(',', $flute); Tak asociativni pole jake bych potreboval nedostanu, nevedel by nekdo v cem je prosim problem? PS: Chci to zobrazovat v roletkovem menu pro vyber poctu kusu, takze proto to assoc. pole. Diky moc za kazdou radu |
||
Tori Profil |
#2 · Zasláno: 25. 4. 2011, 22:08:27
morek:
„Chci to zobrazovat v roletkovem menu pro vyber poctu kusu“ A potřebujete k tomu opravdu i klíče v tom poli? Šlo by použít jen hodnoty: $dataDb = '1,2,3,4,neco,necoJineho'; $moznosti = explode(',', $dataDb); foreach ($moznosti as $hodnota) echo "<option value='$hodnota'>$hodnota</option>"; Alespoň teda v tom uvedeném příkladu pole se vám klíče i hodnoty shodují, takže stačí použít jen jedno z toho. |
||
Keeehi Profil |
#3 · Zasláno: 25. 4. 2011, 22:09:56 · Upravil/a: Keeehi
morek:
Asociativní pole dostaneš, jen není číslované od 1 ale od nuly. Je to snad takový problém? No tak první value bude prostě 0 a ne 1. Vždyť to ničemu nevadí. A kdyby to přesto vadilo, tak to můžeš udělat takto: $flute = "0,1,2,3". $flute = explode(',', $flute); foreach ($flute as $key => $value) echo "<option value=\"".($key+1)."\">$value</option>"; To že z databáze taháte data ve tvaru "0,1,2,3" je chyba při návrhu databáze. Jakmile na data z databáze musíte použít explode, tak je ve většině případů špatně navržená databáze. Nápad k zamyšlení: Nestačí do databáze ukládat jen maximální počet výrobků? Já bych řekl že ano. |
||
Časová prodleva: 13 let
|
0