Autor Zpráva
morek
Profil *
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
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
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.

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