Forum

Php ile xml veri va...
 
Bildirimler
Hepsini Temizle

Php ile xml veri var ise ekle, yok ise güncelle.

2 Yazılar
2 Üyeler
0 Reactions
856 Görüntüleme
(@HakanSurmeli)
Gönderiler: 2
Active Member
Konu başlatıcı
 
[#477191]

Selamlar,

 

Php yapısı ile; xml ile gelen çoklu bir datayı alıp, mysql tabloma ekleyebiliyorum ve buraya kadar sorun yok. Fakat işin en gülünç tarafı olan; xml datayı eklerken, mükerrer kayıtlı bir id var ise id'nin yanında yer alan diğer kolonları güncelle, yok ise bu yeni ve tekil id'yi kaydet mantığını bir türlü yapamadım

 

Siz üstatlarım olarak, sizce en sağlıklı şekilde bunu nasıl yapabilirim?

 

Bu arada yapabildiğim:

<?php

$con = mysql_connect("localhost","root","123456");
mysql_select_db("test_db") or die (mysql_error());

$doc = new DOMDocument();
$doc->load( 'test.xml' );
$items = $doc->getElementsByTagName( "item" );

foreach( $items as $item )
{
$ids = $item->getElementsByTagName( "ids" );
$barcodes = $item->getElementsByTagName( "barcode" );
$prices = $item->getElementsByTagName( "price" );
$id= $ids->item(0)->nodeValue;
$barcode = $barcodes->item(0)->nodeValue;
$price = $prices->item(0)->nodeValue;

mysql_query("SET CHARACTER SET utf8");
$sql = "INSERT INTO tb_test (id,barcode,price) VALUES ('$id','$barcode','$price')";
@mysql_query($sql);
}
echo "Veriler Basariyla Eklendi!";
?>

 


 
Gönderildi : 15/11/2015 22:19
(@eravse)
Gönderiler: 1749
Üye
 

Merhaba , eklemeden once bir select * from tb_test where id=xyz ile once kayı var lıgını kontrol et

if mysqlnumrows du galıba kayıt sayısı var ıse 0> sıfırdan buyuk ıse o ıd ye update cekeceksın yoksa insert edeceksın yaptıgın gıbı

 

 


ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

 
Gönderildi : 22/12/2015 01:09
Paylaş: