Autor | Zpráva | ||
---|---|---|---|
Andrej.B Profil |
#1 · Zasláno: 10. 5. 2022, 10:08:16
Zdravim,
mam cislo prooduktu z ktore viem, ze obsahuje farbu alebo nie. napriklad: PR118D8001 PR119D9325 PR11965325 Ak tam nenajde tieto pismena a cisla, je to RAW material "D8" - hneda "D9" - modra "J4" - zlta "F1" - cierna "A0" - biela "Z" - zinok "nenajde nic" - RAW Ako si to urobit aby mi vzdy pri vytiahnuti z databazy priradilo spravnu farbu k Artiklu. Skusal som si to vyhladat cez <?php $word1 = "D8"; $word2 = "D9"; $word3 = "J4"; $word4 = "F1"; $word5 = "A0"; $word6 = "Z"; if(strpos($predajnapolozka, $word1) !== false){ $farbicka = "D8"; } if(strpos($predajnapolozka, $word2) !== false){ $farba = "D9"; } // atd. ?> Ale to funguje len dovtedy pokial najde co ma, pokial to tam nieje, priradi poslednu co nasiel. Cize ak nasiel PR119D9325 a pridal D9, tak dalsi v poradi napriklad PR11965325 dal znova D9. Akoze to mam uplne zle. Neviem ako docielit toho co chcem. Dakujem |
||
juriad Profil |
#2 · Zasláno: 10. 5. 2022, 10:38:54
Myslím, že tvůj hlavní problém je, že zpracováváš položky v cyklu a na začátku cyklu neresetuješ proměnnou.
Ted něco jako: $farba = "raw"; Vytvoř si na to funkci: <?php function najdiFarbu($predajnapolozka) { $farby = [ "D8" => "hneda", "D9" => "modra", "J4" => "zlta", "F1" => "cierna", "A0" => "biela", "Z" => "zinok" ]; foreach ($farby as $kod => $farba) { if (strpos($predajnapolozka, $kod) !== false) { return $farba; } } return "raw"; } Pak můžeš jednoduše pro každou položku snadno zavolat a nemusíš řešit, co se kdy má přepsat: $farba = najdiFarbu($polozka); |
||
Andrej.B Profil |
#3 · Zasláno: 10. 5. 2022, 15:14:26
Na prvy sup, krasa a cistota.
Dakujem |
||
Časová prodleva: 3 roky
|
0