Autor Zpráva
residentcz
Profil
Ahojte mám takový problém:
potřeboval bych narvat např. 10 hodnot do jedné položky v databázi. půjde o kódy barev.
Představoval bych si to nějak takto např.:
colors = "ec0f0f; 1bd316; d3bf16; 46a958"

ale vůbec netuším jak ty hodnoty vydolovat z té databáze tak, abych mohl pracovat s nimi samostatně

poradil by mi někdo nebo aspoň nasměroval ?:)

díky moc
Rfilip
Profil
Ahoj,
mas spatne navrzenou strukturu databaze vice se dozvis v zdejsim Mysql FAQ
pcmanik
Profil
residentcz:
Môžes ich rozdeliť pomocou explode.
Ale bolo by dobré zvážiť či sa skutočne nejedná o zlý návrh DB.
Someone
Profil
pcmanik:
Môžes ich rozdeliť pomocou explode.
Přesně takto zní zlý návrh databáze :).
residentcz
Profil
a jak doporučujete abych udělal ty barvy ?:)) protože jich bude třeba milion a každé šaty budou mít třeba 5 jiných :))
RockFire
Profil
residentcz:
Tabulka colors kde budou sloupce id šatů a barva.
Sir Tom
Profil
residentcz:
3 tabulky:

dress,
color,
dress_has_color - poslední tabulka obsahuje v jednom řádku odkaz na položku v tabulce dress a odkaz na položku v tabulce color - čili to pak může vypadat např. takto:

dress:
1, Květinový outfit, 1990
2, Slunečnicový vzor, 890
3, Barbie střih, 1289

color:
1, červená
2, bílá
3, modrá

dress_has_color:
1,2 //šaty 1 mají barvu 2
1,3 //šaty 1 mají barvu 3
2,2
3,1
3,2
3,3
residentcz
Profil
Barvy jsem vyřešil tedy takto. jak jste psali...
Nic méně bych potřeboval poradit když mám řetězec dat
jak ho dostanu do session ? :))
nějak na to nedokážu přijít


$kod_a="1,2,3,4,5,6,7,";
$pocet_a="10,5,1,2,3,5,6,";

$pocet=explode(",", $pocet_a);
$kod=explode(",", $kod_a);

$_SESSION["kosik_pocet"][intval($kod)] = ($pocet)  ;
Alphard
Profil
Takto děláte jediné přiřazení, ale chcete jich více – pro všechny položky v poli. Takže by bylo možné projít jedno z polí foreachem a uložit po jednotlivých položkách.
Lepší řešení je použít array_combine().

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0