Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
796
Tıklama
0
Öne Çıkarma
Php Mysql While Listeleme
S
11 yıl
Er
Konu Sahibi

merhaba arkadaşlar. benim ozet ve sorular adında iki tablom var. ozet tablosundaki sınav 1 e ait 20 satırı alıp yine ozet tablosunda 2 numaralı sınava ait olacak şekilde eklemek istiyorum. bunu do while ile yapıyorum ancak iki while kullanmam gerekiyor bu da sayısız döngü oluşturuyor. tablo ve kodlar aşağıdadır.

not: yeni özeti ozet tablosuna insert ederken sorular tablosundan 20 sorunun id sini alarak yine aynı insert e ozet tablosundaki ozet alanını eklemek istiyorum. Aynı zamanda özet sayısı da 20.


$sql_urunn = mysql_query("select * from ozet WHERE sinavid=$_GET[Sinav1]");
$urunn = mysql_fetch_array($sql_urunn);
do {



$ozet = $urunn["ozet"];
mysql_query("INSERT INTO ozet (soruid,sinavid,ozet) VALUES ('$soruid','$_GET[Sinav2]','$ozet')");


} while ( $urunn = mysql_fetch_array($sql_urunn) );



Aşağıdaki tablomu da aynı alana katmak istiyorum

$sql_urunn = mysql_query("select * from sorular WHERE sinavid=$_GET[Sinav2]");
$urunn = mysql_fetch_array($sql_urunn);



O
11 yıl
Teğmen

Kendini açıklamakta biraz sıkıntı yaşamışsın sanırım, tablo yapılarını ve örnek verileri buraya koyarsan daha kolay yardımcı olabiliriz.

Ben anladığım kadarıyla şöyle mi diye bi sorayım...

tablo : ozet

soruid, sinavid, ozet

tablo : sorular
id, x, y, z

20 soru eklerken öncelikle soruyu ekleyeceksin daha sonra da o eklediğin yeni sorunun ID'sini alıp ona bir özet ekleyeceksin?

bunu yapmak istiyorsan eğer önce döngü içerisinde soruyu eklemelisin ardından $soruid = mysql_insert_id(); diyerek eklediğin sorunun id'sini alıp ardından bu ID'ye göre bir özet eklersin.


Bu mesaja 1 cevap geldi.
S
11 yıl
Er
Konu Sahibi

Hocam Şu şekilde çözdüm. ilgin için teşekkürler

 
$Sinav1 = $_GET["Sinav1"];
$Sinav2 = $_GET["Sinav2"];

$sinavidA = $Sinav2;

$arrayA = array();
$a = mysql_query("select * from sorular where sinavid=$sinavidA");
$i = 0;
while ($b = mysql_fetch_object($a)) {
$i++;
$arrayA[$i] = $b->soruid;
}


$sinavidB = $Sinav1;

$arrayB = array();
$a = mysql_query("select * from ozet where sinavid=$sinavidB");
$i = 0;
while ($b = mysql_fetch_object($a)) {
$i++;
$arrayB[$i] = $b->ozet;
}


$sql = array();
$i = 0;
foreach($arrayA as $soruid => $sinavid) {
$i++;
$sql[$i] = '('.$sinavid.', '.$soruid.', '.$arrayB[$i].')';
mysql_query("INSERT INTO ozet (sinavid, soruid, ozet) VALUES ('$Sinav2','$arrayA[$i]','$arrayB[$i]')");

}



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.