Autor | Zpráva | ||
---|---|---|---|
tabler Profil * |
#1 · Zasláno: 3. 7. 2013, 13:01:50
Dobrý den,
řeším následující a moc si s tím nevím rady. Mám 2 pole: $nazvy = array ("barva modra", "barva cervena", "barva ruzova", "barva fialova", "barva medova"); $nazvy = array ("4100", "4990", "4790", "4790", "4990"); a potřebuji dosahnout toho, abych vypsal: barva modra: 4100 Kč barva cervena, barva medova: 4990 Kč barva ruzova, barva fialova: 4790 Kč má někdo nápad, jak to provést? |
||
Taps Profil |
#2 · Zasláno: 3. 7. 2013, 13:18:15
tabler:
proměnná $nazvy musí byt v obou případech zachovana, nebo je možné např. použít <? $nazvy_barva; $nazvy_cena; ?> |
||
tabler Profil * |
#3 · Zasláno: 3. 7. 2013, 13:34:18
Díky za odpověď. Udělal jsem nahoře chybu:
to druhé pole se samozřejmě musí jmenovat jinak. Spíše mi šlo o to, jak vypsat ty cenové skupiny. Jak najít stejné a různé ceny a vypsat je. |
||
Taps Profil |
#4 · Zasláno: 3. 7. 2013, 13:51:51
tabler:
data získaváš z databáze ? Ideální by bylo dostat níže uvedené vícerozměrné pole <? $cenik=array( 4100 => array('modra'), 4990 => array('cervena','medova'), 4790 => array('růžova','fialova') ); ?> |
||
Luky Profil |
#5 · Zasláno: 3. 7. 2013, 14:00:02
Nebo pokud opravdu trváš na řazení, tak se dá použít i něco takového...
$colors = array ("barva modra", "barva cervena", "barva ruzova", "barva fialova", "barva medova"); $money = array ("4100", "4990", "4790", "4790", "4990"); asort($money); $old_value = $money[0]; foreach($money as $key => $value){ if ($old_value != $value) echo $colors[$key].", "; else echo $colors[$key]." = ".$value."<br />"; $old_value = $value; } |
||
breeta Profil |
Potřebuješ to podle něčeho přiřadit, takhle to dohromady nedáš ...
$nameColors[1]= array ( 'name' => 'Modrá'); $nameColors[2]= array ( 'name' => 'Červená'); $colors[]= array ('idName' => 1, 'price' => 4100 ); $colors[]= array ('idName' => 1, 'price' => 5600 ); $colors[]= array ('idName' => 2, 'price' => 4100 ); $colorProduct = []; foreach ($colors as $c) { if(!array_key_exists($c['price'], $colorProduct)) { $colorProduct[$c['price']] = array( 'name'=> $nameColors[$c['idName']]['name'], 'price'=> $c['price'] ); } else { $colorProduct[$c['price']] = array( 'name'=> $colorProduct[$c['price']]['name'].', '.$nameColors[$c['idName']]['name'], 'price'=> $c['price']); } } var_dump($colorProduct); /** *array (size=2) 4100 => array (size=2) 'name' => string 'Modrá, Červená' (length=17) 'price' => int 4100 5600 => array (size=2) 'name' => string 'Modrá' (length=6) 'price' => int 5600 **/ PS: pokud si to ale hodíš do nějaké databáze určitě bude nějaký způsob jak tyhle dat získat rovnou ... |
||
tabler Profil * |
#7 · Zasláno: 3. 7. 2013, 14:56:35 · Upravil/a: tabler
No, tak mi to nějak nefunguje...
Pravda, že pokud si to vyzkouším na tom poli, které jsem napsal nahoře, tak to funguje, ale pokud to udělám z té db, tak už ne. Takže ano, ta data mám v db. Jen mi chybí ten nápad, jak to provést. Ona praxe bude taková, že 5 barev ze sedmi bude mít stejnou cenu a pak 2 barvy budou mít jinou cenu. Takže nejlepší by to bylo tak, že bude: Cena 4 790 Kč Barva Platinová: 4990 Kč Barva Fialová 5 190 Kč |
||
breeta Profil |
#8 · Zasláno: 3. 7. 2013, 16:01:41
tabler:
„No, tak mi to nějak nefunguje...“ Myslíš že ti takhle pomůžu :-) napiš dump z tvojí databáze jak vybíráš data a uprav si to ... |
||
ts_istudio Profil |
#9 · Zasláno: 3. 7. 2013, 16:17:54
tabler:
> Pravda, že pokud si to vyzkouším na tom poli, které jsem napsal nahoře, tak to funguje, ale pokud to udělám z té db, tak už ne. > Takže ano, ta data mám v db. V tom případě nemáš důvod laborovat s nějakým polem. Ukaž kód, kterým to z databáze získáváš. |
||
tabler Profil * |
#10 · Zasláno: 3. 7. 2013, 16:28:29 · Upravil/a: tabler
$dotaz_na_podrobnosti = MySQL_Query("SELECT CenaInternet, Nazev FROM bases WHERE Id_Pohoda='$zaznamkc[Kod_Pohoda]'"); $odpoved_na_podrobnosti = MySQL_Fetch_Array($dotaz_na_podrobnosti); Na tento dotaz dostanu právě jednu odpověď. V případě ceny je to string(4) "4078" V případě názvu je to opět string. Dále s tím právádím toto a to jak v případě ceny, tak názvu. Dále to již znáte. $ceny_p[]=$odpoved_na_kod["CenaInternet"]; Děkuji za nápady $ceny_p[]=$odpoved_na_podrobnosti["CenaInternet"]; upsal jsem se |
||
Taps Profil |
#11 · Zasláno: 3. 7. 2013, 21:13:26
tabler:
myslím, že by to šlo řešit jednodušší cestou. Podíval bych se na to přímo na tvém FTP |
||
Časová prodleva: 11 let
|
0