lostyazilim
tr.link

Döngü içerisinde değişken kullanımı ve veritabanına kaydetme

4 Mesajlar 852 Okunma
acebozum
tr.link

rehacan rehacan WM Aracı Kullanıcı
  • Üyelik 23.05.2017
  • Yaş/Cinsiyet 42 / E
  • Meslek PHP Developer
  • Konum Bursa
  • Ad Soyad R** D**
  • Mesajlar 8
  • Beğeniler 1 / 1
  • Ticaret 0, (%0)
Merhaba arkadaşlar. Burada yeniyim. Bir çok yeri araştırdım ama bu konuda bir yazı veya örnek bulamadım.

Sorum şöyle, farklı kategori olarak ayırdığım bir değerlendirme formu yapmaktayım. Seçilen kategoriye göre tanımladığım sorular kullanıcının karşısına gelmekte. Cevaplar da evet hayır şeklinde aktarılacağından radiobox kullandım. Buraya kadar her şey sorunsuz çalışmakta.

Radio box ların name alanları, soruların veritabanından çekilme esnasında döngüye 1 arttırımla cevap_1 cevap_2 cevap_3.... şeklinde isimlendirilmekte.

Post sonrası bu verileri nasıl alabilirim diye şöyle bir döngü yaptım.

if (@_POST){
$soru_sayisi = ("veritabanındaki soruları çekiyorum");
$toplam_soru = $soru_sayisi + 30;
echo $toplam_soru . "adet soru";

for ($x=1; $x <= $toplam_soru; $x++)
{
$cevap = post("cevap_".$x);
echo "cevap" . x$ . " " . $cevap . "
";
}


bu kod sonrası seçtiğim radiobox verileri alt alta

cevap1 1
cevap2 1
cevap3 0

şeklinde soru sayısı kadar gelmekte. Ben bu verileri sadece $cevap değişkenine toplayabiliyorum. $cevap1, $cevap2 gibi her cevabı ayrı değişkene alabilirsem o daha kolay ekleme işlemine yardımcı olacak ama yapamadım.

Veritabanına ekleme esnasında da yazdığım satır şöyle


$veri = "cevap".$x;
$ekle = Sor("INSERT INTO cevaplar SET $veri = '{$cevap}');


bunu az önceki for döngüsünün içine ekliyorum. Veritabanında cevaplar için oluşturduğum alan cevap1 cevap2 şeklinde gidiyor. bu nedenle $veri içerisine aynı adı oluşturtuyorum. Ama bunu insert into da set alanında kullanamıyorum. Kayıt yapmanın alternatif yolu nedir bu şekilde bir döngüde?

Şimdiden yardımlarınız için teşekkürler.
 

 

wmaraci
reklam

EmirKutlu EmirKutlu PHP | Sosyal Medya Kullanıcı
  • Üyelik 16.08.2012
  • Yaş/Cinsiyet 26 / E
  • Meslek Php |
  • Konum İstanbul Anadolu
  • Ad Soyad E** K**
  • Mesajlar 328
  • Beğeniler 39 / 85
  • Ticaret 40, (%100)
Post gönderirken cevapların name kısmını cevap[] olarak gönderin.

Alırkende, for döngünüz içinzde $cevap[$x] olarak yazdırabilirsiniz.
 

 

rehacan rehacan WM Aracı Kullanıcı
  • Üyelik 23.05.2017
  • Yaş/Cinsiyet 42 / E
  • Meslek PHP Developer
  • Konum Bursa
  • Ad Soyad R** D**
  • Mesajlar 8
  • Beğeniler 1 / 1
  • Ticaret 0, (%0)
post gönderim esnasında name kısmında şöyle yazmıştım


$i = 1;
$sorular = Sor("soruları getiren sorgu");
while ($sonuc = mysql_fetch_assoc($sorular)){
?>


$i++;
}
?>


gönderme esnasında bunu nasıl yaparım tam çözemedim. sadece cevap[] yazınca radiobox seçim olayı atıyorum 30 soruda sadece 1 şık seçtirdi. her soruya 2 şık verilmiş durumda şu an.

ayrıca farklı olarak verileri geliş şeklini bu şekilde bıraktım. üstteki for döngüsüne de şöyle bir düzenleme yaptım


$cevap[] = post("cevap_". $x);
print "12.cevap ".$cevap[12];


dediğimde ise boş dönüyor. döngünün içerisine de

print "cevap" . $x . " " . $cevap[$x] . "
";


diye denediğimde de hiç veri almadığını gördüm. nerede hata yaptım çözemedim..
 

 

rehacan rehacan WM Aracı Kullanıcı
  • Üyelik 23.05.2017
  • Yaş/Cinsiyet 42 / E
  • Meslek PHP Developer
  • Konum Bursa
  • Ad Soyad R** D**
  • Mesajlar 8
  • Beğeniler 1 / 1
  • Ticaret 0, (%0)
sanırım konuyu yanlış alana açmışım. yönetici var ise konuyu taşıyabilir mi? burada sorun farkedilemedi de. ders gibi algılandı sanırım.
 

 

wmaraci
wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al