Sziasztok!
Cat_ID = kategóriába tartozik
Adatbázis:
TermékID---NÉV-------Cat_ID--------ÁR(Ft)
---1------Termék1------11-----------44
---2------Termék2------23-----------33
---3------Termék3------11-----------55
---4------Termék4------77-----------75
---5------Termék5------11-----------80
stb...
Adott egy foreach ami ezt eredményezi:
1.termék Cat_ID-je: 11
2.termék Cat_ID-je: 23
3.termék Cat_ID-je: 11
4.termék Cat_ID-je: 77
5.termék Cat_ID-je: 11
és így tovább amíg van az adatbázisban sor.
Hogyan tudom szűrni azt hogy azonosok vannak-e? Tehát azt akarom hogy az összes azonos Cat_ID-s termék árát tegye egy változóba. vagy adja össze az azonosokat ha van.
- 1368 megtekintés
Hozzászólások
-csel
t
- A hozzászóláshoz be kell jelentkezni
Én csodálom még a kitartásod. Az a gond, hogy aki ilyen szinten van a helyesírással, az ebből viszont nem fogja kitalálni, mire gondoltál :)
- A hozzászóláshoz be kell jelentkezni
+1 nekem se esett le, pedig kiváncsiságból kerestem, mibe kötött bele. Nyilvánvaló volt, hogy nem szakmai dolog, az méginkább, hogy nem építő jellegű szakmai dolog.
- A hozzászóláshoz be kell jelentkezni
Most esett le: foreach-CSEL. :D
- A hozzászóláshoz be kell jelentkezni
A lekérdezést tudod módosítani? Mert akkor GROUP BY, DISTINCT, SUM.
- A hozzászóláshoz be kell jelentkezni
Az hozzá tartozik hogy nem lekérdezésről van szó...tehát sajnos nem
egy egy webshop kosara, de abban az azonos kategóriákból a kosárba tett tételek árát össze akarom adni és ellenőrizni.
tehát eleve egy tömbből dolgozik a foreach
- A hozzászóláshoz be kell jelentkezni
SELECT Cat_ID, SUM(ár) FROM tábla GROUP BY Cat_ID
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Az is jó ha egy új foreach-el újra lekérem az adatokat és ott hasonlítom össze..
- A hozzászóláshoz be kell jelentkezni
Egy tömb, kezdetben üres. Pakolod bele a termékeket, index az id. Ha már létezik az id, akkor összeadod azárukat, vagy amit akarsz. Akár egy altömbben eltárolhatod egyenként is, és utána könnyen kiíratod catid szerint.
Valahogy így:
$cat = array();
while ($row = mysql_fetch_assoc($res)) {
$cat[$row['cat_id']] += $row['ar'];
}
print_r($cat);
- A hozzászóláshoz be kell jelentkezni
ez miért nem jó?
ha kell a darabszám/mennyiség is, azt az ár hozzáadásával párhuzamosan tudod növelni.
csak akkor nem while lekérdezés, hanem foreach($cat as &$value)
és utána a $value-kat tudod nézegetni (explode?)
(és igen, tényleg nincs jobb dolgom, mint itt lenni :) )
- A hozzászóláshoz be kell jelentkezni
örülök hogy nincs jobb dolgod :)
a kiinduló tömböt láttad? abból kellene valahogy kalapálnom valamit :)
- A hozzászóláshoz be kell jelentkezni
ha így kérdezed, akkor csak néztem, de nem láttam :D
szerk:
így már látom is.
ezek szerint téged az Object[products][szám][product_name]-k és a ... öhhh ...
omg. na várjál.
a [value]-khoz hogy férsz hozzá?
- A hozzászóláshoz be kell jelentkezni
ezek közül engem a category_id érdekel, ha egyezik a 3 db termék közül bármelyikkel, adja össze az adott price-t.
- A hozzászóláshoz be kell jelentkezni
hmmm
- A hozzászóláshoz be kell jelentkezni
attributes_value nem izgat..
- A hozzászóláshoz be kell jelentkezni
na most lehet hogy belebonyolódtam.
- A hozzászóláshoz be kell jelentkezni
ez:
foreach($cart as &$value0){ // Object
foreach ($value0 as &$value1){ // Products
foreach ($value1 as &$value2){ // Szám
$tetombod[$value2[category_id]] += $value2[price];
}
echo $value1[price].'
';
}
}
ezt adja:
600
600
1500
- A hozzászóláshoz be kell jelentkezni
akkor mégse bonyolódtam bele egészen! yipí.
a $tetombod nevűből echo-zd a dolgokat, mert te viszont azt szeretnéd látni ha jól tévedek :)
- A hozzászóláshoz be kell jelentkezni
ez:
http://pastebin.com/9dAsvreT
ezt adja:
3 | 600
3 | 600
4 | 1500
na de itt még kell nézni mindent mindenhez és összeadni.. azt hogy?
- A hozzászóláshoz be kell jelentkezni
:D (ez most valami jópofa poén?)
mégegyszer: te a $tetombod tartalmát szeretnéd látni.
- A hozzászóláshoz be kell jelentkezni
aaaa, így már jó az eredmény:
- A hozzászóláshoz be kell jelentkezni
Köszönöm!
Küldenék sört vagy csokit :)
- A hozzászóláshoz be kell jelentkezni
nincs mit :) szívesen segítettem... pedig lehet nem kellett volna. de majd kiderül.
troll szagot érzek. nem tudod, honnan jöhet?
egyedül vagyok és félek :'(
- A hozzászóláshoz be kell jelentkezni
:)
látom unatkozol :)
jó hogy megvannak a számok.. de még nem tudom hogyan kezdjek velük valamit :D
de majdcsak megoldom
- A hozzászóláshoz be kell jelentkezni
nem unatkozom, csak próbálom elterelni a gondolataimat.
- A hozzászóláshoz be kell jelentkezni
:D elvesztettem a fonalat, de örülök, hogy a végül sikerült megoldani
- A hozzászóláshoz be kell jelentkezni
jobb is. ez egy olyan történet, amit nem akarsz hallani.
ha mégis, akkor dobj egy pm-et és elmesélem.
de előre szólok, eddig még senki nem tudta kivárni a végét...
- A hozzászóláshoz be kell jelentkezni
dupla
- A hozzászóláshoz be kell jelentkezni
már küldtem mailt :P
- A hozzászóláshoz be kell jelentkezni
nem te, azt hiszem, már így is többet segítettem a kelleténél.
de ez már legyen az én bajom ;)
- A hozzászóláshoz be kell jelentkezni
Ez a kiindulás:
Shop Object (
[type_cart] => cart
[products] => Array (
[0] => Array (
[quantity] => 1
[product_id] => 31
[category_id] => 3
[price] => 600
[description] => Leiras1
[product_name] => termeknev1
[ean] => [attributes] => a:1:{i:1;i:3;}
[attributes_value] => Array (
[0] => stdClass Object (
[attr] => mennyiseg
[value] => 200g
) )
)
[1] => Array (
[quantity] => 1
[product_id] => 33
[category_id] => 3
[price] => 600
[description] => Leiras2
[product_name] => termeknev2
[ean] => [attributes] => a:1:{i:1;i:3;}
[attributes_value] => Array (
[0] => stdClass Object (
[attr] => mennyiseg
[value] => 200g
) )
)
[2] => Array (
[quantity] => 1
[product_id] => 35
[category_id] => 4
[price] => 1500
[description] =>
[product_name] => termeknev3
[ean] => [attributes] => a:1:{i:1;i:1;}
[attributes_value] => Array (
[0] => stdClass Object (
[attr] => mennyiseg
[value] => 0,5 kg
) )
) )
[count_product] => 3
[price_product] => 2700
[summ] => 0
[rabatt_id] => 0
[rabatt_value] => 0
[rabatt_type] => 0
[rabatt_summ] => 0
[price_product_brutto] => 2700
[allj] => 1
)
- A hozzászóláshoz be kell jelentkezni
-
- A hozzászóláshoz be kell jelentkezni