Merhaba,
Arkadaşlar bi ürün sistemim var ürün ek seçeneklerini
{Beden:Small|Medium|Large}{Renk:Kırmızı|Siyah|L acivert}
diye ayırıyorum basarken:
<?
function als($nerdens, $nereyes, $Veris){
preg_match_all('|'.$nerdens.'(.*?)'.$nereyes.'|si', $Veris, $asds);
$sonucs=$asds[1][0];
return $sonucs;
}
function bir($nerdens){
$pp=explode('|', $nerdens);
$da="";
foreach($pp as $be){
$da.='<option value="'.$be.'">'.$be.'</option>
';
}
return $da;
}
function Cevir($veri){
$sonuc="";
preg_match_all('|{(.*?)}|si', $veri, $eee);
$say=count($eee[1]);
for($i=0; $i < $say; $i++){
$rr=$eee[0][$i];
$ll=als('{', ':', $rr);
$ll2=als(':', '}', $rr);
$pp=bir($ll2);
$sonuc.=<<<HTML
<select name="$ll" id="">
$pp
</select>
HTML;
}
return $sonuc;
}
$veri='{Renk:Siyah|Yeşil|Kırmızı}{Beden:S|M|L|XL}{Degisken:a|b|c}';
echo Cevir($veri);bu şekilde basıyorum bana:
<select name="Renk">
<option>Siyah</option>
<option>Yeşil</option>
<option>Kırmızı</option>
</select>
<select name="Beden">
<option>S</option>
<option>M</option>
<option>L</option>
<option>XL</option>
</select>
<select name="Degisken">
<option>a</option>
<option>b</option>
<option>c</option>
</select>
bunu veriyor.
ANCAK !:
Veritabanımda gelen sipariş ise şöyle geliyor:
Siyah|Small|abc
bunuda
<select name="renk">
<option>Siyah</option>
olarak en başında basması lazım verinin explode ile bölüp yolluyorum çünkü bunu fonksiyona nasıl geçireceğimi bulamadım
biraz daha basit anlatayım:
<?
function als($nerdens, $nereyes, $Veris){
preg_match_all('|'.$nerdens.'(.*?)'.$nereyes.'|si', $Veris, $asds);
$sonucs=$asds[1][0];
return $sonucs;
}
function bir($nerdens){
$pp=explode('|', $nerdens);
$da="";
foreach($pp as $be){
$da.='<option value="'.$be.'">'.$be.'</option>
';
}
return $da;
}
function Cevir($veri){
$sonuc="";
preg_match_all('|{(.*?)}|si', $veri, $eee);
$say=count($eee[1]);
for($i=0; $i < $say; $i++){
$rr=$eee[0][$i];
$ll=als('{', ':', $rr);
$ll2=als(':', '}', $rr);
$pp=bir($ll2);
$sonuc.=<<<HTML
<select name="$ll" id="">
$pp
</select>
HTML;
}
return $sonuc;
}
$veri='{Renk:Siyah|Yeşil|Kırmızı}{Beden:S|M|L|XL}{Degisken:a|b|c}';
$icindeolsun='Yeşil|L|b';
echo Cevir($veri,$icindeolsun);$icindeolsun='Yeşil|L|b';
echo Cevir($veri,$icindeolsun);
bunu böyle yolladığım zaman bana gene $veri degiskenini isleyip yazsın ama select'in başında $icindeolsun içeriğide olsun?