| 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: 4 roky
|
|||
0