• 26-06-2013, 18:28:19
    #1
    Misafir
    Benim yapmak istediğim şu,

    Ekleyeceğim 'screen_name' değeri tabloda,
    varsa ECHO yaptıracam,
    yoksa INSERT yaptıracam,

    nasıl yaparım? ben direk değişkenler üzerinden gittim ancak MySQL sorgusu üzerinden gitmek istiyorum. Nasıl yapabilirim?


    bu arada sorguyu şu şekilde yazacağız:

    select * from users where screen_name=$screen_name

    sorgusundan 1 tane değer dönebilir

    <?php
    
    .......................
    
    $results = search($query);
    foreach ($results->statuses as $result) {
    	//değişen tanımları
    	//değişen tanımları
    	//değişen tanımları
    	//değişen tanımları
    
    	[B]if[/B] (retweet_count==1) {
    		$sql="delete from users where screen_name='".$screen_name."'";
    		mysql_query($sql,$con);	
    		echo "<div style='color:blue'><a href='http://twitter.com/".$screen_name."'>".$screen_name." silindi. ".$retweet_count."=RT ".$iso_language_code."=iso ".$lang."=lang</a></div>";
    	}
    	[B]else if[/B]($yokmu) {
    		$sql="insert into users 
    		(screen_name, name, profile_image_url, term,iso_language_code,location,url,lang,followers_count,statuses_count,friends_count,following) values('".$screen_name."',
    		'".$name."',
    		'". $profile_image_url ."',
    		'".$term."',
    		'".$iso_language_code."',
    		'".$location."',
    		'".$url."',
    		'".$lang."',
    		'".$followers_count."',
    		'".$statuses_count."',
    		'".$friends_count."',
    		'".$following."')";
    		if (mysql_query($sql,$con)) {
    			$eklenen++;
    		} else {
    			$sql="update users set 
    			profile_image_url='".$profile_image_url."',
    			term='".$term."',
    			iso_language_code='".$iso_language_code."',			
    			location='".$location."',
    			url='".$url."',
    			lang='".$lang."',
    			followers_count='".$followers_count."',
    			statuses_count='".$statuses_count."',
    			friends_count='".$friends_count."',
    			following='".$following."'			
    			where screen_name='".$screen_name."'";
    			mysql_query($sql,$con);
    			$eklenemeyen++;
    		}
    	}
    	[B]else[/B] {
    		$sql="delete from users where screen_name='".$screen_name."'";
    		mysql_query($sql,$con);
    		echo "<div style='color:yellow'>".$screen_name." silindi.</div>";
    	}
    }
    echo "<div style='color:green'>".$eklenen." yeni kayıt eklendi.</div>";
    echo "<div style='color:red'>".$eklenemeyen." kayıt eklenemedi.</div>";
    mysql_close($con);
    ?>
  • 27-06-2013, 01:44:14
    #2
    Jhon adlı üyeden alıntı: mesajı görüntüle
    Benim yapmak istediğim şu,

    Ekleyeceğim 'screen_name' değeri tabloda,
    varsa ECHO yaptıracam,
    yoksa INSERT yaptıracam,

    nasıl yaparım? ben direk değişkenler üzerinden gittim ancak MySQL sorgusu üzerinden gitmek istiyorum. Nasıl yapabilirim?


    bu arada sorguyu şu şekilde yazacağız:

    select * from users where screen_name=$screen_name

    sorgusundan 1 tane değer dönebilir

    <?php
    
    .......................
    
    $results = search($query);
    foreach ($results->statuses as $result) {
    	//değişen tanımları
    	//değişen tanımları
    	//değişen tanımları
    	//değişen tanımları
    
    	[B]if[/B] (retweet_count==1) {
    		$sql="delete from users where screen_name='".$screen_name."'";
    		mysql_query($sql,$con);	
    		echo "<div style='color:blue'><a href='http://twitter.com/".$screen_name."'>".$screen_name." silindi. ".$retweet_count."=RT ".$iso_language_code."=iso ".$lang."=lang</a></div>";
    	}
    	[B]else if[/B]($yokmu) {
    		$sql="insert into users 
    		(screen_name, name, profile_image_url, term,iso_language_code,location,url,lang,followers_count,statuses_count,friends_count,following) values('".$screen_name."',
    		'".$name."',
    		'". $profile_image_url ."',
    		'".$term."',
    		'".$iso_language_code."',
    		'".$location."',
    		'".$url."',
    		'".$lang."',
    		'".$followers_count."',
    		'".$statuses_count."',
    		'".$friends_count."',
    		'".$following."')";
    		if (mysql_query($sql,$con)) {
    			$eklenen++;
    		} else {
    			$sql="update users set 
    			profile_image_url='".$profile_image_url."',
    			term='".$term."',
    			iso_language_code='".$iso_language_code."',			
    			location='".$location."',
    			url='".$url."',
    			lang='".$lang."',
    			followers_count='".$followers_count."',
    			statuses_count='".$statuses_count."',
    			friends_count='".$friends_count."',
    			following='".$following."'			
    			where screen_name='".$screen_name."'";
    			mysql_query($sql,$con);
    			$eklenemeyen++;
    		}
    	}
    	[B]else[/B] {
    		$sql="delete from users where screen_name='".$screen_name."'";
    		mysql_query($sql,$con);
    		echo "<div style='color:yellow'>".$screen_name." silindi.</div>";
    	}
    }
    echo "<div style='color:green'>".$eklenen." yeni kayıt eklendi.</div>";
    echo "<div style='color:red'>".$eklenemeyen." kayıt eklenemedi.</div>";
    mysql_close($con);
    ?>
    bu işlemleri mysql üzerinde yapmak uzman değilseniz konrtolü kaybetmenize ve karışıklığa nedenolabilir ama illa mysql üzerinde yapacaksanız iç içe sorguları araştırmanız lazım. Çok güzel bir kaynak

    http://www.cemdemir.net/veri-tabani/...lari-1177.html
  • 27-06-2013, 02:59:25
    #3
    Merhaba,

    Anladığım kadarıyla screen_name adında bir tablonuz var ve siz bu tablonun içerisindeki değer var ise ECHO komutunu kullanmak istiyorsunuz , yoksa ise ekletmek istiyorsunuz. ? Yanlış anlamadım umarım.

    İstediğiniz olay şu şekilde sonuca ulaşabilir ;

    Öncelikle mysql_num_rows ile veritabanında screen_name tablosunda değerimiz var mı yok mu kontrol ederiz.

    $sorgu = mysql_num_rows(mysql_query('SELECT * FROM screen_name where "'.$screen_name.'"'));


    // Ardından hemen if komutumuza $sorgu adlı değişkeni yazarız. Kısacası veritabanında var ise echo var diyerek durdururuz. Yok ise eğer veritabanına ekler kodlarımıza devam ederiz.

    if($sorgu){

    echo "var";

    }else{

    mysql_query('INSERT INTO screen_name(screen_name)VALUES("'.$screen_name.'") ');

    }



    Tablo isimlerini ve değerleri doğru girmemiş olabilirim fakat mantık bu şekilde yani istediğiniz olayı bu şekilde tamamlayabilirsiniz.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 02:59:25 -->-> Daha önceki mesaj 02:55:44 --

    Ayriyetten düzeltiyorum if($sorgu) diye belirttiğim kodu isterseniz if($sorgu==1) bu şekilde'de çalıştırabilirsiniz.
  • 29-06-2013, 13:10:58
    #4
    Misafir
    $sayi = mysql_num_rows(mysql_query("SELECT * FROM users where screen_name='".$screen_name."' and follow=0",$con));
    	echo $sayi." sayi";
    	echo "<br />";
    	echo ($sorgu=="1") . " bir";
    	echo "<br />";
    	echo ($sorgu=="0") . " iki";
    	echo "<br />";
    	echo ($sorgu==1) . " üç";
    	echo "<br />";
    	echo (($sorgu==0)==1) . " dört";
    	echo "<br />";
    yapınca ekrana çıkanı aynen paylaşıyorum
    0 sayi
     bir
     iki
     üç
    1 dört
    ben bu işi çözemedim.
  • 29-06-2013, 14:22:40
    #5
    Üyeliği durduruldu
    Jhon adlı üyeden alıntı: mesajı görüntüle
    	$sayi = mysql_num_rows(mysql_query("SELECT * FROM users where screen_name='".$screen_name."' and follow=0",$con));
    	echo $sayi;
    	echo "<br />";
    	echo $sorgu=="1";
    	echo "<br />";
    	echo $sorgu=="0";
    	echo "<br />";
    	echo $sorgu==1;
    	echo "<br />";
    	echo $sorgu==0;
    	echo "<br />";
    yapınca ekrana çıkanı aynen paylaşıyorum
    0
    
    
    
    1
    1. satırda 0 yazıyor
    2. satırda HİÇ bişey yazmıyor
    3. satırda HİÇ bişey yazmıyor
    4. satırda 1 yazmıyor

    ben bu işi çözemedim.
    Kodu yanlış yazmışsın.Doğrusu böyle olacak.Seninkinde boş array değer atadığı için sonuç çıktısı vermiyor.

       $sayi = mysql_num_rows(mysql_query("SELECT * FROM users where screen_name='".$screen_name."' and follow=0",$con)); 
    
    if ($sayi==""  || $sayi=="0") {
    
    /* Mysql kayıt sorgusu alanı*/
    
    } else {
    echo "Kayıt var.";
    }
  • 29-06-2013, 15:21:25
    #6
    Misafir
    hocam aklımdakini şöyle daha açık yazayım

    if ("SELECT * FROM users where screen_name='".$screen_name."') { // ÜYE TABLODAYSA
        if($row['follow']==0) { // üye tablodaysa ve sorgudaki "follow" sutünündaki değer 0 ise
        ............. başka şeyler yap
        }
    }
    else { // üye daha önce eklenmediyse
    ...............bişeyler yap
    }
    follow edilmiş mi satırını yapamadım hocam.