-
Üyelik
08.05.2015
-
Yaş/Cinsiyet
28 / E
-
Meslek
Developer
-
Konum
Samsun
-
Ad Soyad
İ** Ş**
-
Mesajlar
1020
-
Beğeniler
321 / 320
-
Ticaret
19, (%100)
Sorunun sebebi execute ederken $row dizisinden gelen [0] diyerek 0. indis değerini gönderiyorsunuz 2 sütuna'da. $row[0], $row[1] şeklinde düzeltirseniz sorununuz çözülür.
Fakat yine şüpheleniyorum ki toplu veri eklemek istediğinizde değerler düzgün gelse bile aynı veriler yazıyor diye bir sorununuz daha meydana çıkacak.
İsterseniz dediğim gibi bir düzenleme yapıp deneyin sonra tekrar belirtin son durumdan
-
Üyelik
15.05.2015
-
Yaş/Cinsiyet
33 / E
-
Meslek
PHP Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
Ö** G**
-
Mesajlar
1207
-
Beğeniler
382 / 381
-
Ticaret
16, (%100)
yazilimyolcusu hocam for döngüsüne niye soktun execute ederken ?
$stmt = $db->prepare("INSERT INTO sepetonaylanan
(sepetonaylanan_adisoyadi,
sepetonaylanan_firmaadi)
VALUES (?,?)");
$stmt->execute(array($dizi[aliciadisoyadi], $dizi[alicifirma]));
bu şekilde yeterli olacaktır.
1 kişi bu mesajı beğendi.
Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
-
Üyelik
01.11.2021
-
Yaş/Cinsiyet
40 / E
-
Meslek
Çalışmıyorum
-
Konum
Konya
-
Ad Soyad
M** Y**
-
Mesajlar
85
-
Beğeniler
0 / 1
-
Ticaret
0, (%0)
"Ömer" bey sizin kodu yazdığımda şöyle bir hata verdi.
"PHP Notice: Array to string conversion in"
"edcsmile" sizin kodları girdiğimde de şu hatayı veriyor.
"PHP Notice: Undefined offset: 1"
Yalnız kendi kodlarımla dikey kayıt yapıyor. Bu arada Ömer bey, for döngüsünü silmeyi unutmuşum. O yorum satırıydı. Kusura bakmayın. :)
Aslında ben olayı şöyle anlatayım. Mesela sepetimde 3 adet ürün var. Form'u post ettiğimde veritabanına şu şekil bir kayıt yapacak. Tek post, üç kayıt. Bu alan adlarının hepsini yazmadım kod kalabalığı olmasın diye.
Ali, Firması, Şehri, İlçesi, Telefonu, E-Postası, Aldığı 1. ürünün Stok Kodu, Aldığı 1. Ürünün Stok Sayısı, Aldığı 1. Ürünün Adı
Ali, Firması, Şehri, İlçesi, Telefonu, E-Postası, Aldığı 2. Ürünün Stok Kodu, Aldığı 2. Ürünün Stok Sayısı, Aldığı 2. Ürünün Adı
Ali, Firması, Şehri, İlçesi, Telefonu, E-Postası, Aldığı 3. Ürünün Stok Kodu, Aldığı 3. Ürünün Stok Sayısı, Aldığı 3. Ürünün Adı
-
Üyelik
15.05.2015
-
Yaş/Cinsiyet
33 / E
-
Meslek
PHP Developer
-
Konum
İstanbul Avrupa
-
Ad Soyad
Ö** G**
-
Mesajlar
1207
-
Beğeniler
382 / 381
-
Ticaret
16, (%100)
yazilimyolcusuo zaman foreach içinde devam edin hocam. $dizi[aliciadisoyadi] yerlerindeki $dizi yerini $row olarak değiştirip deneyin. Olmazsa uzak bağlantı ile destek verebilirim.
Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
-
Üyelik
01.11.2021
-
Yaş/Cinsiyet
40 / E
-
Meslek
Çalışmıyorum
-
Konum
Konya
-
Ad Soyad
M** Y**
-
Mesajlar
85
-
Beğeniler
0 / 1
-
Ticaret
0, (%0)
Sorunu halletmeye az kaldı. Ufak bir yardım lazım. Aşağıdaki kodlari ile sadece 1. ürünü kaydedebiliyorum. 2. ürün kaydolmuyor. Döngüye nasıl sokacağız bu kodu. Bu arada form'daki input name'lerinin hepsinin adını "sepetform" koydum. "$dizi" ile hepsini tek seferde çekiyorum. "Execute" alanında ise bütün alanları yazdırıyorum. Ama sadece ilk ürünü kaydediyor. Sepetteki iki ürünü de kaydetmesi lazım. Hemen aşağıdaki şekilde. Yani tek post ile iki ürünü de kaydetmesi lazım. Galiba tek problem foreach'i nasıl kullanacağımı bilemedim.
Ali, Firması, Şehri, İlçesi, Telefonu, E-Postası, Aldığı 1. ürünün Stok Kodu, Aldığı 1. Ürünün Stok Sayısı, Aldığı 1. Ürünün Adı
Ali, Firması, Şehri, İlçesi, Telefonu, E-Postası, Aldığı 2. Ürünün Stok Kodu, Aldığı 2. Ürünün Stok Sayısı, Aldığı 2. Ürünün Adı
if($_POST) {
$dizi = $_POST['sepetform'];
$stmt = $db->prepare("INSERT INTO sepetonaylanan
(sepetonaylanan_adisoyadi,
sepetonaylanan_firmaadi,
sepetonaylanan_sehiradi,
sepetonaylanan_ilcesemt,
sepetonaylanan_telefon,
sepetonaylanan_eposta,
sepetonaylanan_siparisnotlari,
sepetonaylanan_urunadi)
VALUES (?,?,?,?,?,?,?,?)");
$stmt->execute([$dizi[0], $dizi[1], $dizi[2], $dizi[3], $dizi[4], $dizi[5], $dizi[6], $dizi[7]]);
}