• 03-12-2013, 21:29:12
    #1
    Reveloper
    Merhaba,

    wordpress tarzı bölme sistemi yapacağım ancak nası yapacağım bilmiyorum:

    şöyle birşey düşünün
    Veritabanında sakladığım kod budur option sütununda mevcut:

    bunu wordpress tarzı bölerek yayınlatıcam hangi fonksiyonları kullanmalıyım?

    {Numara:%%%42|43|44|45}{Renk:%%%Kırmızı|Mavi|siyah }

    Çıktı:
    <p>Numara:</p>
    <select name="Numara">
        <option>42</option>
        <option>43</option>
        <option>44</option>
        <option>45</option>
    </select>
    
    <p>Renk:</p>
    <select name="Renk">
        <option>Kırmızı</option>
        <option>Mavi</option>
        <option>Siyah</option>
    </select>
  • 03-12-2013, 23:39:27
    #2
    Üyeliği durduruldu
    $numaralar = "42|43|44|45";
    $parcala = explode("|",$numaralar);
    foreach ($parcala as $parca){ echo "<option>$parca</option>"; }
    @Burti;
  • 03-12-2013, 23:42:15
    #3
    Reveloper
    NetMaster adlı üyeden alıntı: mesajı görüntüle
    $numaralar = "42|43|44|45";
    $parcala = explode("|",$numaralar);
    foreach ($parcala as $parca){ echo "<option>$parca</option>"; }
    @Burti;
    hocam bunu yaptım ancak {} mevzusunu yapamadım
  • 03-12-2013, 23:54:28
    #4
    Üyeliği durduruldu
    $numaralar = "{Numara:%%%42|43|44|45}{Renk:%%%Kırmızı|Mavi|siyah }";
    $count = preg_match_all("/{(.*?)}/i", $numaralar, $veriler);
    for($i = 0; $i < $count; $i++){
    	$nedir = explode("%%%",$veriler[1][$i]);
    	echo $nedir[0];
    		echo '<select>';
    			$string = explode("|",$veriler[1][$i]);
    			foreach ($string as $parca){
    				$parca = str_replace("%%%","",$parca);	
    				$parca = str_replace("Renk:","",$parca);
    				$parca = str_replace("Numara:","",$parca);
    				echo "<option>$parca</option>";	
    			}
    		echo '</select><br><br>';
    }
    @Burti;
  • 04-12-2013, 00:05:24
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    <?php
    
    $data = '{Numara:%%%42|43|44|45}{Renk:%%%Kırmızı|Mavi|siyah}';
    
    preg_match_all('~\{(.+?)%{3,}(.+?)\}~', $data, $blocks, PREG_SET_ORDER);
    
    foreach ($blocks as $block) {
    	echo '<p>', $block[1], '</p>';
    	echo '<select name="', $block[1], '" id="', $block[1], '">';
    
    	array_map(function($value) {
    		echo '<option>' . $value . '</option>';
    	}, explode('|', $block[2]));
    
    	echo '</select>';
    }
  • 08-12-2013, 00:04:06
    #6
    Reveloper
    @NetMaster
    @saintx (kardeşim benim bi yardımcı olurmusun)

    function productoption($a){
    	$query = mysql_query("SELECT * FROM products WHERE id='$a'");
    	$value = mysql_fetch_array($query);
    
    	$count = preg_match_all("/{(.*?)}/i", $value['option'], $veriler);
    	for($i = 0; $i < $count; $i++){
    	   $nedir = explode("%%%",$veriler[1][$i]);
    	   echo $nedir[0];
    		  echo '<select>';
    			 $string = explode("|",$veriler[1][$i]);
    			 foreach ($string as $parca){
    				$parca = str_replace("%%%","",$parca); 
    				$parca = str_replace("Renk:","",$parca);
    				$parca = str_replace("Numara:","",$parca);
    				echo "<option>$parca</option>";  
    			 }
    		  echo '</select>';
    	}
    }
    Hocam kod için çok teşekkür ederim ancak bir isteğim daha var kızmazsanız

    Renk ve numara kısmı değişiyor sürekli onuda veritabanından çekebilirmiyiz?

    misal bazen sadece beden oluyo

    {Beden:%%%S|M|L|XL}
  • 26-12-2013, 00:14:08
    #7
    Reveloper
    bu konuya biri yardımcı olabilirmi ♥