• 21-09-2018, 16:38:01
    #1
    Merhaba arkadaşlar, kategori ekleme botum var bi ufak editlenmesi gerekiyor. Özet olarak;
    Eklemek istediğim kategori ismi eğer veritabanında kayıtlıysa aynı kategori ismini bir daha eklemesin. Kullandığım kodlar aşağıdaki gibidir. Sanırım foreach ve preg_match fonksiyonlarında takılıyorum. Yardımcı olurmusunuz?

    function query($query){
    		return mysql_query($query);
    	}
    	
    	function row($query){
    		return mysql_fetch_array($query);
    	}
    	
    	function rows($query){
    		return mysql_num_rows($query);
    	}	
    $query=query("SELECT * FROM ps_category_lang where id_lang='5'");
    while ($row=row($query)){
    	$kategoriler[]=$row['name']; // veritabanında kayıtlı olan kategori isimleri	
    
    }	
    foreach ($dataa_sarden as $product) {
    	$aranan2 = "$product->alt_cat1"; // eklemek istediğim kategori isimleri
    
    }	
    foreach ($kategoriler as $kategori) {
    if (preg_match("/$aranan2/i", "$kategori",$sonuc)){
    continue;// eşleşme sağlanırsa kategori ismini atlasın
    }
    }
    echo "<pre>";
    print_r($sonuc);
    echo "<pre>";
    exit;
    
    $n_name = $aranan2;
    
    $n_desc = $aranan2 . ' hakkında açıklama ';
    
    $n_link_rewrite = permalink($aranan2 . '-someone_rewrite');
    
    $n_meta_title = $aranan2 . '  Fiyatları';
    
    $n_meta_description = $aranan2 . ' meta desc';
    
    $n_meta_keywords = $aranan2 . ',some,one,keywords';
    
    $n_id_parent = '2';
    
    $n_active = '1';
    
    $n_l_id = '5';
    
    $n_is_root_category = '0';
    
    // run
    PS_new_category($n_is_root_category, $n_id_parent, $n_id_parent, $n_active, $n_l_id, $n_name, $n_desc, $n_link_rewrite, $n_meta_title, $n_meta_description, $n_meta_keywords);
  • 21-09-2018, 16:57:20
    #2
    foreach ($dataa_sarden as $product) { 
        $aranan2 = "$product->alt_cat1"; // eklemek istediğim kategori isimleri 
     
    }     
    foreach ($kategoriler as $kategori) { 
    if (preg_match("/$aranan2/i", "$kategori",$sonuc)){ 
    continue;// eşleşme sağlanırsa kategori ismini atlasın 
    } 
    }
    foreach yi iç içe koyman gerek ilk foreach den çıkıyor ve en son aranan2 ye ne atadıysa onu kontrol ediyor o yüzden tek bir tane kontrol etmiş olacak
  • 21-09-2018, 17:53:49
    #3
    kontrolunu sağlayabileceğim bir yer varsa bakabilirim isterseniz.çift tırnak işaretini neden koyuyorsunuz ki değişkenlere
  • 21-09-2018, 17:56:01
    #4
    DeRyaca adlı üyeden alıntı: mesajı görüntüle
    kontrolunu sağlayabileceğim bir yer varsa bakabilirim isterseniz.çift tırnak işaretini neden koyuyorsunuz ki değişkenlere
    Özel mesaj atttım hocam
  • 22-09-2018, 02:39:50
    #5
    in_array ile de sorgulatabilirsin.

    if(in_array($aranan, $kategori_dizi))
    {
       echo "Kategori var";
    }
    else
    {
       echo "Kategori yok";
    }