folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Php İle Toplu Veriyi Sırayla Nasıl Db Kaydederim.



Php İle Toplu Veriyi Sırayla Nasıl Db Kaydederim.

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Bektas
    x-files
    x-files's avatar
    Kayıt Tarihi: 06/Eylül/2005
    Erkek

    Merhaba arkadaşlar, Şöyle bir sorum var. Yardımcı olursanız menun olurum.
    Şimdi merkez bankasından veri çekiyorum. Örneğin Dolar, Kanada Doları ve Kanada Doları olsun

    <?php
    $connect_web = simplexml_load_file('http://www.tcmb.gov.tr/kurlar/today.xml');
       
    $usd_buying = $connect_web->Currency[0]->BanknoteBuying;
    $usd_selling = $connect_web->Currency[0]->BanknoteSelling;
     
    $euro_buying = $connect_web->Currency[3]->BanknoteBuying;
    $euro_selling = $connect_web->Currency[3]->BanknoteSelling;
    
    $kdolar_buying = $connect_web->Currency[7]->BanknoteBuying;
    $kdolar_selling = $connect_web->Currency[7]->BanknoteSelling;
     
     
    echo 'USD Alış: '.$usd_buying.'<br>USD Satış: '.$usd_selling.'<br>';
    echo 'EUR Alış: '.$euro_buying.'<br>EUR Satış: '.$euro_selling;
    echo 'CAD Alış: '.$kdolar_buying.'<br>CAD Satış: '.$kdolar_selling;
    
    ?>


    Yukardaki komutla çektim.
    Ben bunları DB sırasıyla kaydetmek istiyorum.

    <?php
    $query = $db->prepare("INSERT INTO dolar SET
    alis = ?,
    satis = ?");
    $insert = $query->execute(array(
         $usd_buying, $usd_selling
    ));
    if ( $insert ){
        $last_id = $db->lastInsertId();
        print "Kayıt işlemi başarılı!";
    }
    ?>

    Yukardaki komut ile tekli kayıt yapabiliyorum bunu çoklu olarak nasıl düzenlerim. Yani hepsini sırasıyla kaydetmesi için kodu nasıl düzenlemem lazım. Bu işlerden çok anlayan biri değilim. Öğrenmeye çalışıyorum bende.


    //Hayat Bazen Tatlıdır//--//Aşıksan vur saza şoförsen bas gaza// https://zulfumehmet.com/ Kişisel bir olay
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lazz
    lazz's avatar
    Kayıt Tarihi: 15/Ekim/2007
    Erkek

    hocam zaten yapmıssın sadace komutu 3 kere kopyalasan bıle ısını gorecektır

    <?php
    $query = $db->prepare("INSERT INTO dolar SET alis = ?,satis =?");
    $insert = $query->execute(array($usd_buying, $usd_selling));
    $insert2 = $query->execute(array($euro_buying, $euro_selling));
    $insert3 = $query->execute(array($kdolar_buying , $kdolar_selling));
    if ( $insert && $insert2 && $inster3 ){
        $last_id = $db->lastInsertId();
        print "Kayıt işlemi başarılı!";
    }
    ?>

    istediğin daha farklı bırseymı 

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo
    $query = $mysqli->prepare("INSERT INTO dolar SET
    alis = ?,
    satis = ?");
            $stmt = $this->mysqli->prepare($query);
            $stmt->bind_param("ii", $alis, $satis);
            $this->mysqli->query("start transaction");
            foreach ($krular as $kur) {
                $alis = $kur->alis;
    			$satis = $kur->satis;
                $stmt->execute();
            }
            $stmt->close();
            $this->mysqli->query("COMMIT");

     

    bind paramdaki ilk parametre ("ii") olan sırayla alış ve ssatışı integer olarak işaretliyo, string yapacaksan i leri S yap falan. tablodaki veri tipine göre. baya da hızlı insert eder bu


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek
    <?php
    /* MAIN */
    $load = loadCurrencies();
    if ($load != false) {
    	$gC = "getCurrencies"; //kisaltmak icin.
    	$usd_data = $gC(30); 
    	$euro_data = $gC(3);
    	$kdolar_data = $gC(7);
    
    	$db = new PDO('mysql:host=localhost;dbname=kurtest', "root", "");
    
    	$usdYaz = insertCurrency(["dolar", $usd_data]);
    	$eurYaz = insertCurrency(["euro", $euro_data]);
    	$cadYaz = insertCurrency(["kdolar", $kdolar_data]);
    	echo checkInsert($usdYaz, $eurYaz, $cadYaz);
    	
    } else {
    	echo "Kur bilgisine ulasilamadi!";
    }
    /* MAIN */
    
    /* FUNC AREA */
    function insertCurrency(array $data = null) {
    	global $db;
    	$query = $db->prepare("INSERT INTO $data[0] SET
    	alis = ?,
    	satis = ?");
    	if ($query->execute([$data[1]["buying"], $data[1]["selling"]])){
    	    return true;
    	}
    	return false;
    };
    function checkInsert(...$insert) {
    	$s = "";
    	foreach ($insert as $single) {
    		if (!$single) {
    			$s .= "Yazilamadi!!";
    		} else {
    			$s .= "Yazildi!";
    		}
    		$s .= "\n<br>";
    	}
    	return $s;
    }
    
    function loadCurrencies() {
    	return simplexml_load_file('http://www.tcmb.gov.tr/kurlar/today.xml');
    }
    
    function getCurrencies($ch) {
    	global $load;
    	$err = ["buying" => null, "selling" => null];
    	if ($load != false) {
    		if (!isset($load->Currency[$ch])) {
    			return $err;
    		}
    		return [
    			"buying" => $load->Currency[$ch]->BanknoteBuying,
    			"selling" => $load->Currency[$ch]->BanknoteSelling,
    		];
    	}
    	return $err;
    };



    end tarafından 24/Mar/19 17:45 tarihinde düzenlenmiştir

    0x0480 takilin madem ﷽﷽﷽
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Bektas
    x-files
    x-files's avatar
    Kayıt Tarihi: 06/Eylül/2005
    Erkek
    lazz bunu yazdı

    hocam zaten yapmıssın sadace komutu 3 kere kopyalasan bıle ısını gorecektır

     

    istediğin daha farklı bırseymı 

    Sağol reis


    //Hayat Bazen Tatlıdır//--//Aşıksan vur saza şoförsen bas gaza// https://zulfumehmet.com/ Kişisel bir olay
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lazz
    lazz's avatar
    Kayıt Tarihi: 15/Ekim/2007
    Erkek
    x-files bunu yazdı
    lazz bunu yazdı

    hocam zaten yapmıssın sadace komutu 3 kere kopyalasan bıle ısını gorecektır

     

    istediğin daha farklı bırseymı 

    Sağol reis

    yanlız bu tarz kullanımlarda end hocamın yazdıgı daha ıyı sonuc verıcektır hem moduler olur istedigin kadar kur ekleıyebılırsın 

Toplam Hit: 1521 Toplam Mesaj: 6
veri kaydetme