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