-
Üyelik
02.12.2018
-
Yaş/Cinsiyet
33 / E
-
Meslek
Yazılımcı
-
Konum
İstanbul Avrupa
-
Ad Soyad
T** Ş**
-
Mesajlar
12
-
Beğeniler
1 / 0
-
Ticaret
0, (%0)
Herkese merhabalar,
Xml dosyasından verileri mysql veritabanına yazdırıyorum.
Ancak güncelleme atmak istediğimde var olanı atlamak yerine tekrar aynılarını yazıyor.
Tekrarlayan kayıtları atlamak için nasıl bir kod kullanmam gerekli?
Veri Yazan Bölüm Aşağıdadır.
$sql = "INSERT INTO siparis(musteri_mail,musteri_isim,sip_baslik,sip_teslim_tarihi,sip_aciliyet,sip_durum,sip_detay) VALUES ('" . $siparisNo . "','" . $faturaalici . "','" . $id . "','" . $tarih . "','Normal','Depoya Verildi','" . $TeslimAdresi . "')";
Tayfun Şimşek - E-Ticaret Yöneticisi
-
Üyelik
29.03.2018
-
Yaş/Cinsiyet
34 / E
-
Meslek
Sosyal Medya Uzmanı
-
Konum
İstanbul Anadolu
-
Ad Soyad
H** D**
-
Mesajlar
65
-
Beğeniler
14 / 14
-
Ticaret
2, (%100)
merhaba hocam, benim bildiğim yöntemle kontrol edebilirsiniz, eminim daha iyi yöntemler bilenler vardır.
$siparisNo="99";
$kontrol = $conn->query("Select*From siparis);
$kontrol = $kontrol ->fetch_assoc();
$tablodakiSiparisNo = $kontrol["siparisNo"]; //$siparisNo'nun tablodaki adının ne olduğundan tam emin olamadım kendize göre düzeltebilirsiniz.
if($siparisNo==$tablodakiSiparisNo){
echo "Daha önce böyle bir kayıt bulunduğundan eklenemedi.";
}else{
$conn->query("INSERT INTO siparis(musteri_mail,musteri_isim,sip_baslik,sip_teslim_tarihi,sip_aciliyet,sip_durum,sip_detay) VALUES ('" . $siparisNo . "','" . $faturaalici . "','" . $id . "','" . $tarih . "','Normal','Depoya Verildi','" . $TeslimAdresi . "')";
}
şeklinde yapabilirsiniz. İsterseniz bir deneyin.
-
Üyelik
02.12.2018
-
Yaş/Cinsiyet
33 / E
-
Meslek
Yazılımcı
-
Konum
İstanbul Avrupa
-
Ad Soyad
T** Ş**
-
Mesajlar
12
-
Beğeniler
1 / 0
-
Ticaret
0, (%0)
maalesef olmadı. Hata sayfası geldi.
Kodlama yapısı aşağıdaki gibi. Belki böyle bakınca daha met anlaşılabilir.
$conn = mysqli_connect("localhost", "root", "", "test");
$affectedRow = 0;
$xml = simplexml_load_file("http://test.xmltest.com/image/data/xml/depo.xml") or die("Error: Cannot create object");
foreach ($xml->children() as $row) {
$siparisNo = $row->siparisNo;
$faturaalici = $row->faturaalici;
$id = $row->id;
$tarih = $row->tarih;
$TeslimAdresi = $row->TeslimAdresi;
$sql = "INSERT IGNORE INTO siparis(musteri_mail,musteri_isim,sip_baslik,sip_teslim_tarihi,sip_aciliyet,sip_durum,sip_detay) VALUES ('" . $siparisNo . "','" . $faturaalici . "','" . $id . "','" . $tarih . "','Normal','Depoya Verildi','" . $TeslimAdresi . "')";
$result = mysqli_query($conn, $sql);
if (! empty($result)) {
$affectedRow ++;
}
else {
$error_message = mysqli_error($conn) . "\n";
}
}
?>
Tayfun Şimşek - E-Ticaret Yöneticisi
-
Üyelik
02.02.2014
-
Yaş/Cinsiyet
26 / E
-
Meslek
-
-
Konum
Diğer
-
Ad Soyad
D** Ö**
-
Mesajlar
478
-
Beğeniler
189 / 158
-
Ticaret
4, (%100)
Eklediğin datalar içerisinde benzersiz bir kod, sayı vb. birşey kullanılıyor ise; datayı eklemeden önce, foreach içerisinde if bloğu ile tabloya daha önce yazılıp yazılmadığını kontrol edebilirsin