Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
2
Cevap
799
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);

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



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.