Sorunum şu aslında, bir sınav formum var. Sorulardan bazıları çoktan seçmeli, bazıları ise klasik diye tabir ettiğimiz manuel doldurulacak.
Ben çoktan seçmeliler için combobox kullandım. bu comboboxların "value" kısmınada kayıt için lazım olacak değerleri atadım. Şöyleki : values="sinav_id,soru_id,cevap_id,cevap_deger" gibi.
Klasik olan sorularda ise textarea koydum. Bunların tamamı dizi ve cevap olduğu için isimler cevap[] şeklinde.
Sorun buradan sonra başlıyor.Formdan gelen bütün verileri kayıt etmek için yönlendirdiğim sayfada şu işlemi yaptırıyorum :
$results = array();
foreach ($_POST['cevap'] as $cevaplar)
{
$cevap_explode = explode(",", $cevaplar);
$results[] = array(
'value' => trim($cevap_explode[1]),
'id' => trim($cevap_explode[0]),
'sinav_id' => trim($cevap_explode[2]),
'bolum_id' => trim($cevap_explode[3]),
'soru_id' => trim($cevap_explode[4]),
'birey_id' => trim($cevap_explode[5]),
'kullanici_id' => trim($cevap_explode[6]),
'test_no' => trim($cevap_explode[7]),
'tarih' => trim($cevap_explode[8])
);
}
foreach($results as $result)
{
mysql_query("insert into CRM9001(CRM9107,CRM9106,CRM9102,CRM9103,CRM9105,CRM9109,CRM9108,CRM9110,CRM9111) values ('".$result['value']."','".$result['id']."','".$result['sinav_id']."','".$result['bolum_id']."','".$result['soru_id']."','".$result['birey_id']."','".$result['kullanici_id']."','".$result['test_no']."','".$result['tarih']."') ");
}comboboxta virgül ile ayırdığım bana lazım olan değerleri explode edip foreach ile sorunsuz kayıt ediyorum. İş burdan sonra farklı bir hal alıyor ve içinden çıkamıyorum bir türlü.Şimdi yukarıdaki kodla comboboxları alıyorum ancak textareaları alamıyorum. Çünkü textareaların değerleri kullanıcı tarafından manuel olarak girilecek, comboboxta olduğu gibi veritabanından çekilmeyecek. Bunun dışında diğer değerler var tabi. İyice karıştı sizin anlayacağınız. Aşağıyada formdaki kodlarımı yazıyorum.
<select name="cevap[]" id="cevap">
<option value="x">Lütfen Cevap Seçiniz</option>
<?include('module_includes/sessions.php')?>
<?php
while ($cevap_list = mysql_fetch_array($cevap_sorgu)) {
$birey_bilgi = mysql_query("select * from CRM3001 where CRM3102 LIKE '".$bireytc."'") or die("Hata Olustu!");
$birey_esle = mysql_fetch_array($birey_bilgi);
?>
<option value="<?PHP echo $cevap_list['CRM7101']; ?>,<?PHP echo $cevap_list['CRM7105']; ?>,<?PHP echo $testadi['CRM4101']; ?>,<?PHP echo $bolum_list['CRM5101']; ?>,<?PHP echo $soru_list['CRM6101']; ?>,<?PHP echo $birey_esle['CRM3101']; ?>,<?PHP echo $session_list['CRM1101']; ?>,<?PHP echo $test_numarasi; ?>,<?PHP echo $tarih; ?>"><?PHP echo $cevap_list['CRM7103']; ?></option>
<? } ?>
</select>
</div>
</div> <!-- .field-group -->
<p></p>
<?php
}
else
{
?>
<?php
while ($cevap_list = mysql_fetch_array($cevap_sorgu)) {
?>
<textarea name="cevap[]" id="cevap" rows="5" cols="100"></textarea>
<input type="text" name="sinavad[]" value="<?PHP echo $testadi['CRM4101']; ?>"><input type="text" name="bolum_name[]" value="<?PHP echo $bolum_list['CRM5101']; ?>"><input type="text" name="soru_name[]" value="<?PHP echo $soru_list['CRM6101']; ?>"><input type="text" name="birey_name[]" value="<?PHP echo $birey_esle['CRM3101']; ?>"><input type="text" name="kullanici_name[]" value="<?PHP echo $session_list['CRM1101']; ?>"><input type="text" name="test_no[]" value="<?PHP echo $test_numarasi; ?>"><input type="text" name="tarih[]" value="<?PHP echo $tarih; ?>"><input type="text" name="cevap_adi[]" value="<?PHP echo $cevap_list['CRM7101']; ?>">
<? } ?>formdaki kodlarda bu şekilde. Bir türlü beceremedim. Konu biraz uzun oldu farkındayım ama sizden rica gerçekten yardımcı olabilecek arkadaşlardan yardım bekliyorum. Günlerdir uğraşıyorum ancak bi sonuca ulaşamadım. Bu şekilde nasıl yapılacağını bilen yada farklı bir yöntemle de olur diyen arkadaşlardan yardım bekliyorum.
