-
Üyelik
03.09.2012
-
Yaş/Cinsiyet
31 / E
-
Meslek
Seo ve Web Tasarım Uzmanı
-
Konum
İstanbul Anadolu
-
Ad Soyad
M** G**
-
Mesajlar
606
-
Beğeniler
30 / 139
-
Ticaret
29, (%93)
Merhaba Arkadaşlar.
aynı input name lere sahip üç farklı textbox ım var. ben bu 3 textbox için verileri çekiyorum ama bu verileri veritabanına yazdırma işlemini bir türlü yapamadım. iç içe döngü yaptıgımda yüzlerce aynı şeyi yazdırıyor veritabanına acil olarak bir yardımcı olabilir misiniz. kodlarım aşağıdadır.
if($_POST) {
$aToUpdate = [];
for($i=0; $i < count($_POST['ilktarih']); $i++) {
$tumilktarihler = $aToUpdate[$i] = $_POST['ilktarih'][$i];
}
$aToUpdate2 = [];
for($i=0; $i < count($_POST['sontarih']); $i++) {
$tumsontarihler = $aToUpdate2[$i] = $_POST['sontarih'][$i];
}
$aToUpdate3 = [];
for($i=0; $i < count($_POST['tarihlifiyati']); $i++) {
$tumsonfiyatlar = $aToUpdate3[$i] = $_POST['tarihlifiyati'][$i];
/*$kaydet3 = mysql_query("insert into tarihler (tarihfiyati) values ('$tumsonfiyatlar')");*/
}
}
www.mucahitguner.com
-
Üyelik
03.09.2012
-
Yaş/Cinsiyet
31 / E
-
Meslek
Seo ve Web Tasarım Uzmanı
-
Konum
İstanbul Anadolu
-
Ad Soyad
M** G**
-
Mesajlar
606
-
Beğeniler
30 / 139
-
Ticaret
29, (%93)
hocam json ile halletmeye calıstım aldım verileri ama yine verıtabanına yazdıramadım kodlarım aşağıda nerde yanlıslık var ?
$ilktarihcevir = json_encode($ilktarih);
$ilktarihcevirdi = json_decode($ilktarihcevir,true);
$sontarihcevir = json_encode($sontarih);
$sontarihcevirdi = json_decode($sontarihcevir,true);
$tarihlifiyaticevir = json_encode($tarihlifiyati);
$tarihlifiyaticevirdi = json_decode($tarihlifiyaticevir,true);
foreach($ilktarihcevirdi as $ilktarihim)
{
foreach ($sontarihcevirdi as $sontarihim) {
foreach ($tarihlifiyaticevirdi as $sontarihlifiyatim) {
$ekle=mysql_query("insert into tarihler (ilktarih,sontarih,tarihfiyati) values ('$ilktarihim','$sontarihim','$sontarihlifiyatim')");
if ($ekle) {
echo "eklendi";
}else { echo "eklenemedi."; }
}
}
}
www.mucahitguner.com
-
Üyelik
14.09.2012
-
Yaş/Cinsiyet
39 / E
-
Meslek
Yazılım geliştirme
-
Konum
Ankara
-
Ad Soyad
M** A**
-
Mesajlar
217
-
Beğeniler
55 / 48
-
Ticaret
0, (%0)
Json'a falan gerek yok yahu. Bir önceki arkadaş detaylıca anlatmış zaten mantık hatasının nerde olduğunu.
Input'lara birebir aynı ismi verirsen, hiyerarşik olarak en son, en alttaki input değeri gönderilir. Örneği 3 tane "adsoyad" inputun varsa, sadece 3. sıradakinin değeri gönderilir.
Eğer sen name="adsoyad" değil de name="adsoyad[]" yaparsan o inputların değerlerinin hepsi bir array değeri olarak gönderilir.
Mesela formun methodu POST ise $_POST['adsoyad'][0] = 1. sıradaki inputun içeriği, $_POST['adsoyad'][1] = 2. sıradaki etc.
Tek yapman gereken 3 farklı kişi kaydetmek olacağı için
// aynı şekilde 3 tane de name="yas[]" inputu olsun
// ilk sıradaki adsoyad inputuyla, ilk sıradaki yas inputunun değerleri birbiriyle eşleşsin
// örneğin adsoyad inputları sırasıyla: Ali Atakan, Mahmut Çelebi, Faruk Öztürk
// .......... yas inputları: 13, 21, 38
// Bu durumda $_POST['adsoyad'][0] = Ali Atakan
// Bu durumda $_POST['yas'][0] = 13
// Ali Atakan ve 13 değerleri veritabanında aynı satıra kaydedilecek
// Güvenlik, boş satır vs. kontrollerini atlıyorum
foreach($_POST['adsoyad'] as $index => $icerik)
{
// veritabanına kayıt
// $db->save('Uyeler', ['ad' => $adsoyad, 'yas' => $_POST['yas'][$index]])
}
Murat Alabacak <http://muratalabacak.net>
-
Üyelik
14.09.2012
-
Yaş/Cinsiyet
39 / E
-
Meslek
Yazılım geliştirme
-
Konum
Ankara
-
Ad Soyad
M** A**
-
Mesajlar
217
-
Beğeniler
55 / 48
-
Ticaret
0, (%0)
Sen döngülerini öyle bir açmışsın ki, her "adsoyad[]" (3 tane değer) input değeri için 1 tur döngü açıyosun, üst döngünün altında da "yas[]" (3 değer) için 1 tur döngü açıyosun iç-içe, onun altında da başka bir döngü açıyosun (yine 3 olsun) toplamda veritabanına 3 tane satır kaydetmen gerekirken, 3*3*3 = 27 satır kaydetiyorsun.
Murat Alabacak <http://muratalabacak.net>
-
Üyelik
03.09.2012
-
Yaş/Cinsiyet
31 / E
-
Meslek
Seo ve Web Tasarım Uzmanı
-
Konum
İstanbul Anadolu
-
Ad Soyad
M** G**
-
Mesajlar
606
-
Beğeniler
30 / 139
-
Ticaret
29, (%93)
Yardımcı oldugunuz için hepinize teşekkürler, aşağıdaki şekilde hallettım, ihtiyacı olan olursa kodlara bakabilir.
$ilktarihcevir = json_encode($ilktarih);
$ilktarihcevirdi = json_decode($ilktarihcevir,true);
$sontarihcevir = json_encode($sontarih);
$sontarihcevirdi = json_decode($sontarihcevir,true);
$tarihlifiyaticevir = json_encode($tarihlifiyati);
$tarihlifiyaticevirdi = json_decode($tarihlifiyaticevir,true);
$musaitlikcevir = json_encode($musaitlik);
$musaitlikcevirdi = json_decode($musaitlikcevir,true);
foreach($ilktarihcevirdi as $ilktarihim)
{
foreach ($sontarihcevirdi as $sontarihim) {
foreach ($tarihlifiyaticevirdi as $sontarihlifiyatim) {
foreach ($musaitlikcevirdi as $musaitmisin) {
$sorgu = mysql_query("SELECT * FROM tarihler WHERE ilktarih='$ilktarihim' or sontarih='$sontarihim' or tarihfiyati='$sontarihlifiyatim'");
if(mysql_num_rows($sorgu) > 0){
}else {
$ekle=mysql_query("insert into tarihler (ilktarih,sontarih,tarihfiyati,aracadi,musaitlik) values ('$ilktarihim','$sontarihim','$sontarihlifiyatim','$aracadi','$musaitmisin')");
}
}
}
}}
www.mucahitguner.com