Şimdi Ara

php mysql anket sorularını alt alta yazdırma sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
1.404
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • php ile anket hazırlıyorum.Benim sorunum mysqldan çekilen soru ve seçenekler alt alta olmadı yapamadım bir türlü.Sorular sayfa sayfa çıkıyor ben alt alta çıkmasını istiyorum bunu yapamadığım için diğer anket sorularını görmek için sonraki sayfa yazısına tıklanması gerekiyor ama ben tek sayfada bütün soru ve seçeneklerin çıkmasını istiyorum yardımcı olursanız çok sevinirim
     <?php 

    include("ayar.php");

    if($_POST["secenekler"] || $_POST["diger"])
    {
    $post_soru = $_POST["post_soru"];
    $post_secenek = $_POST["secenekler"];
    $kullanici_ip = $_SERVER['REMOTE_ADDR'];
    $post_diger = mysql_real_escape_string($_POST["diger"]);

    $turkce_karakterler = array("ç", "Ç", "ğ", "Ğ", "ı", "İ", "ö", "Ö", "ş", "Ş", "ü", "Ü", " ", "\"");
    $normal_karakterler = array("c", "C", "g", "G", "i", "I", "o", "O", "s", "S", "u", "U", "_", "");
    $post_diger_slug = strtolower(str_replace($turkce_karakterler, $normal_karakterler, $post_diger));

    $sql = mysql_query("select zaman from anket_kullananlar where ip = '$kullanici_ip' and soru = $post_soru");

    if(mysql_num_rows($sql) != 0 && (time() - strtotime(mysql_result($sql, 0, "zaman"))) >= 86400)
    {
    if($post_secenek == "diger" || $post_secenek == NULL)
    if($post_diger)
    mysql_query("insert into anket_secenekler(soru, secenek, secenek_slug, sira, puan) values($post_soru, '$post_diger', '$post_diger_slug', 1000, 1)");
    else
    $hatali = "Lütfen geçerli bir giriş yapınız.";
    else
    mysql_query("update anket_secenekler set puan = (puan + 1) where soru = $post_soru and secenek_slug = '$post_secenek'");
    if(!$hatali)
    {
    mysql_query("update anket_kullananlar set zaman = NOW() where soru = $post_soru and ip = '$kullanici_ip'");
    $basarili = "Oyunuz başarıyla kaydedilmiştir.";
    }
    }

    else if(mysql_num_rows($sql) == 0)
    {
    if($post_secenek == "diger" || $post_secenek == NULL)
    if($post_diger)
    mysql_query("insert into anket_secenekler(soru, secenek, secenek_slug, sira, puan) values($post_soru, '$post_diger', '$post_diger_slug', 1000, 1)");
    else
    $hatali = "Lütfen geçerli bir giriş yapınız.";
    else
    mysql_query("update anket_secenekler set puan = (puan + 1) where soru = $post_soru and secenek_slug = '$post_secenek'");
    if(!$hatali)
    {
    mysql_query("insert into anket_kullananlar(soru, ip, zaman) values($post_soru, '$kullanici_ip', NOW())");
    $basarili = "Oyunuz başarıyla kaydedilmiştir.";
    }
    }

    else
    $hatali = "Daha önce bu ankete oy vermişsiniz. Bir ankete günde sadece bir defa oy verebilirsiniz.";
    }


    // Ayarlar alınıyor

    $sql = mysql_query("select * from anket_ayar");
    while($dizi = mysql_fetch_assoc($sql))
    $ayar[$dizi["ayar"]] = $dizi["deger"];

    //Soru var mı?

    $toplam_soru_sayisi = mysql_num_rows(mysql_query("select id from anket_sorular"));

    ?>
    <img src="http://f1210.hizliresim.com/12/7/drdnq.jpg" alt="Osmangazi Üniversitesi" />


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Erdem Drupal Anket - <?php print $ayar["site_adi"]; ?></title>
    </head>


    <body>


    <div id="tutucu">

    <?php
    if($basarili){ ?>
    <div id="basarili"><?php print $basarili; ?></div>
    <?php }
    if($hatali){ ?>
    <div id="hatali"><?php print $hatali; ?></div>
    <?php } ?>


    <div id="ic_tutucu">

    <div id="soru">

    <?php
    if($toplam_soru_sayisi == 0)
    print "Aktif anket bulunmuyor.";

    else
    {

    while($get_soru = $_GET["soru"])
    $sql = mysql_query("select * from anket_sorular where id = $get_soru");


    {
    $sql = mysql_query("select * from anket_sorular order by rand() limit 0, 1");
    $get_soru = mysql_result($sql, 0, "id");
    }

    $diger_secenegi = mysql_result($sql, 0, "diger");
    print stripslashes(mysql_result($sql, 0, "soru"));
    }

    ?>

    </div>


    <div id="secenekler">
    <table cellspacing="5" style="margin-top:-15px;">
    <form method="post">

    <?php
    if($toplam_soru_sayisi == 0)
    print "Aktif anket bulunmuyor.<div id=\"alt\"><br><a href=\"admin/\">Yönetici Paneli</a>";

    else
    {
    $sql = mysql_query("select * from anket_secenekler where soru = $get_soru order by sira");
    while($dizi = mysql_fetch_assoc($sql))
    {
    ?>
    <label><input type="radio" name="secenekler" value="<?php print $dizi["secenek_slug"]; ?>" /><?php print stripslashes($dizi["secenek"]); ?></label></br>

    <?php }

    if($diger_secenegi == 1)
    {
    ?>

    <tr><td><label><input type="radio" name="secenekler" value="diger" />Diğer : </label><input type="text" name="diger" style="width:300px; border:1px solid #000;" /></td></tr>

    <?php } ?>

    <input type="hidden" name="post_soru" value="<?php print $get_soru; ?>" />
    <br />
    <br><tr><td><input type="submit" value="Gönder" style="border:1px solid #000;" /></td></tr></br>

    </form>

    </table>

    <div id="alt">

    <?php


    $ilk_sayfa = mysql_result(mysql_query("select id from anket_sorular order by id asc limit 1"), 0, "id");
    $son_sayfa = mysql_result(mysql_query("select id from anket_sorular order by id desc limit 1"), 0, "id");


    if($get_soru != $ilk_sayfa)
    {
    $onceki_sayfa = mysql_result(mysql_query("select id from anket_sorular where id < $get_soru order by id desc limit 1"), 0, "id");
    print "<a href=\"index.php?soru=$onceki_sayfa\" style=\"float:left;\" >önceki Soru</a>";
    }
    if($get_soru != $son_sayfa)
    {
    $sonraki_sayfa = mysql_result(mysql_query("select id from anket_sorular where id > $get_soru order by id asc limit 1"), 0, "id");
    print "<a href=\"index.php?soru=$sonraki_sayfa\" style=\"float:right;\" >Sonraki Soru</a>";
    }

    print "<br><a href=\"sonuclar.php?soru=$get_soru\">Sonuçlar</a><br><a href=\"admin/\">Yönetici Paneli</a>";
    }

    ?>

    </div>


    </div>


    </div>

    </div>

    </body>
    </html>








  • arkadaşlar yardım edebilecek yok mu? sorunum sadece index ile ilgili geri kalanı sorunsuz çalışıyor eğer ücretsiz yapmam derseniz detaylar için pm atarsanız sevinirim
  • Kod çok karmaşık gözüktüğü için pek inceleyemedim fakat DB'de her ankete farklı bir anketID veriyorsan sql statment'da GROUP BY tbl_pool.poolID ORDER BY tbl_pool.totalAnswerCount gibi bir sorgu yazarsan.

    Her ankete göre sorgun gruplanır ve cevapların tıklanma oranına göre'de sıralanır.

    Kod tarafında daha yorucu ve karmaşık olabilir bu yapıyı gerçeklemek, bu nedenle SQL tarafında çözersen daha iyi olur.
  • quote:

    Orijinalden alıntı: murder78

    php ile anket hazırlıyorum.Benim sorunum mysqldan çekilen soru ve seçenekler alt alta olmadı yapamadım bir türlü.Sorular sayfa sayfa çıkıyor ben alt alta çıkmasını istiyorum bunu yapamadığım için diğer anket sorularını görmek için sonraki sayfa yazısına tıklanması gerekiyor ama ben tek sayfada bütün soru ve seçeneklerin çıkmasını istiyorum yardımcı olursanız çok sevinirim
     <?php 

    include("ayar.php");

    if($_POST["secenekler"] || $_POST["diger"])
    {
    $post_soru = $_POST["post_soru"];
    $post_secenek = $_POST["secenekler"];
    $kullanici_ip = $_SERVER['REMOTE_ADDR'];
    $post_diger = mysql_real_escape_string($_POST["diger"]);

    $turkce_karakterler = array("ç", "Ç", "ğ", "�", "ı", "İ", "ö", "Ö", "ş", "�", "ü", "Ü", " ", "\"");
    $normal_karakterler = array("c", "C", "g", "G", "i", "I", "o", "O", "s", "S", "u", "U", "_", "");
    $post_diger_slug = strtolower(str_replace($turkce_karakterler, $normal_karakterler, $post_diger));

    $sql = mysql_query("select zaman from anket_kullananlar where ip = '$kullanici_ip' and soru = $post_soru");

    if(mysql_num_rows($sql) != 0 && (time() - strtotime(mysql_result($sql, 0, "zaman"))) >= 86400)
    {
    if($post_secenek == "diger" || $post_secenek == NULL)
    if($post_diger)
    mysql_query("insert into anket_secenekler(soru, secenek, secenek_slug, sira, puan) values($post_soru, '$post_diger', '$post_diger_slug', 1000, 1)");
    else
    $hatali = "Lütfen geçerli bir giriş yapınız.";
    else
    mysql_query("update anket_secenekler set puan = (puan + 1) where soru = $post_soru and secenek_slug = '$post_secenek'");
    if(!$hatali)
    {
    mysql_query("update anket_kullananlar set zaman = NOW() where soru = $post_soru and ip = '$kullanici_ip'");
    $basarili = "Oyunuz başarıyla kaydedilmiştir.";
    }
    }

    else if(mysql_num_rows($sql) == 0)
    {
    if($post_secenek == "diger" || $post_secenek == NULL)
    if($post_diger)
    mysql_query("insert into anket_secenekler(soru, secenek, secenek_slug, sira, puan) values($post_soru, '$post_diger', '$post_diger_slug', 1000, 1)");
    else
    $hatali = "Lütfen geçerli bir giriş yapınız.";
    else
    mysql_query("update anket_secenekler set puan = (puan + 1) where soru = $post_soru and secenek_slug = '$post_secenek'");
    if(!$hatali)
    {
    mysql_query("insert into anket_kullananlar(soru, ip, zaman) values($post_soru, '$kullanici_ip', NOW())");
    $basarili = "Oyunuz başarıyla kaydedilmiştir.";
    }
    }

    else
    $hatali = "Daha önce bu ankete oy vermişsiniz. Bir ankete günde sadece bir defa oy verebilirsiniz.";
    }


    // Ayarlar alınıyor

    $sql = mysql_query("select * from anket_ayar");
    while($dizi = mysql_fetch_assoc($sql))
    $ayar[$dizi["ayar"]] = $dizi["deger"];

    //Soru var mı?

    $toplam_soru_sayisi = mysql_num_rows(mysql_query("select id from anket_sorular"));

    ?>
    <img src="http://f1210.hizliresim.com/12/7/drdnq.jpg" alt="Osmangazi Üniversitesi" />


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Erdem Drupal Anket - <?php print $ayar["site_adi"]; ?></title>
    </head>


    <body>


    <div id="tutucu">

    <?php
    if($basarili){ ?>
    <div id="basarili"><?php print $basarili; ?></div>
    <?php }
    if($hatali){ ?>
    <div id="hatali"><?php print $hatali; ?></div>
    <?php } ?>


    <div id="ic_tutucu">

    <div id="soru">

    <?php
    if($toplam_soru_sayisi == 0)
    print "Aktif anket bulunmuyor.";

    else
    {

    while($get_soru = $_GET["soru"])
    $sql = mysql_query("select * from anket_sorular where id = $get_soru");


    {
    $sql = mysql_query("select * from anket_sorular order by rand() limit 0, 1");
    $get_soru = mysql_result($sql, 0, "id");
    }

    $diger_secenegi = mysql_result($sql, 0, "diger");
    print stripslashes(mysql_result($sql, 0, "soru"));
    }

    ?>

    </div>


    <div id="secenekler">
    <table cellspacing="5" style="margin-top:-15px;">
    <form method="post">

    <?php
    if($toplam_soru_sayisi == 0)
    print "Aktif anket bulunmuyor.<div id=\"alt\"><br><a href=\"admin/\">Yönetici Paneli</a>";

    else
    {
    $sql = mysql_query("select * from anket_secenekler where soru = $get_soru order by sira");
    while($dizi = mysql_fetch_assoc($sql))
    {
    ?>
    <label><input type="radio" name="secenekler" value="<?php print $dizi["secenek_slug"]; ?>" /><?php print stripslashes($dizi["secenek"]); ?></label></br>

    <?php }

    if($diger_secenegi == 1)
    {
    ?>

    <tr><td><label><input type="radio" name="secenekler" value="diger" />Diğer : </label><input type="text" name="diger" style="width:300px; border:1px solid #000;" /></td></tr>

    <?php } ?>

    <input type="hidden" name="post_soru" value="<?php print $get_soru; ?>" />
    <br />
    <br><tr><td><input type="submit" value="Gönder" style="border:1px solid #000;" /></td></tr></br>

    </form>

    </table>

    <div id="alt">

    <?php


    $ilk_sayfa = mysql_result(mysql_query("select id from anket_sorular order by id asc limit 1"), 0, "id");
    $son_sayfa = mysql_result(mysql_query("select id from anket_sorular order by id desc limit 1"), 0, "id");


    if($get_soru != $ilk_sayfa)
    {
    $onceki_sayfa = mysql_result(mysql_query("select id from anket_sorular where id < $get_soru order by id desc limit 1"), 0, "id");
    print "<a href=\"index.php?soru=$onceki_sayfa\" style=\"float:left;\" >önceki Soru</a>";
    }
    if($get_soru != $son_sayfa)
    {
    $sonraki_sayfa = mysql_result(mysql_query("select id from anket_sorular where id > $get_soru order by id asc limit 1"), 0, "id");
    print "<a href=\"index.php?soru=$sonraki_sayfa\" style=\"float:right;\" >Sonraki Soru</a>";
    }

    print "<br><a href=\"sonuclar.php?soru=$get_soru\">Sonuçlar</a><br><a href=\"admin/\">Yönetici Paneli</a>";
    }

    ?>

    </div>


    </div>


    </div>

    </div>

    </body>
    </html>



    o.degirmenci[dıgıdıkdıgıdık]msn.com

    eklerseniz yardımcı olayım.




  • quote:

    Orijinalden alıntı: Romansanta

    quote:

    Orijinalden alıntı: murder78

    php ile anket hazırlıyorum.Benim sorunum mysqldan çekilen soru ve seçenekler alt alta olmadı yapamadım bir türlü.Sorular sayfa sayfa çıkıyor ben alt alta çıkmasını istiyorum bunu yapamadığım için diğer anket sorularını görmek için sonraki sayfa yazısına tıklanması gerekiyor ama ben tek sayfada bütün soru ve seçeneklerin çıkmasını istiyorum yardımcı olursanız çok sevinirim
     <?php 

    include("ayar.php");

    if($_POST["secenekler"] || $_POST["diger"])
    {
    $post_soru = $_POST["post_soru"];
    $post_secenek = $_POST["secenekler"];
    $kullanici_ip = $_SERVER['REMOTE_ADDR'];
    $post_diger = mysql_real_escape_string($_POST["diger"]);

    $turkce_karakterler = array("ç", "Ç", "ğ", "�", "ı", "İ", "ö", "Ö", "ş", "�", "ü", "Ü", " ", "\"");
    $normal_karakterler = array("c", "C", "g", "G", "i", "I", "o", "O", "s", "S", "u", "U", "_", "");
    $post_diger_slug = strtolower(str_replace($turkce_karakterler, $normal_karakterler, $post_diger));

    $sql = mysql_query("select zaman from anket_kullananlar where ip = '$kullanici_ip' and soru = $post_soru");

    if(mysql_num_rows($sql) != 0 && (time() - strtotime(mysql_result($sql, 0, "zaman"))) >= 86400)
    {
    if($post_secenek == "diger" || $post_secenek == NULL)
    if($post_diger)
    mysql_query("insert into anket_secenekler(soru, secenek, secenek_slug, sira, puan) values($post_soru, '$post_diger', '$post_diger_slug', 1000, 1)");
    else
    $hatali = "Lütfen geçerli bir giriş yapınız.";
    else
    mysql_query("update anket_secenekler set puan = (puan + 1) where soru = $post_soru and secenek_slug = '$post_secenek'");
    if(!$hatali)
    {
    mysql_query("update anket_kullananlar set zaman = NOW() where soru = $post_soru and ip = '$kullanici_ip'");
    $basarili = "Oyunuz başarıyla kaydedilmiştir.";
    }
    }

    else if(mysql_num_rows($sql) == 0)
    {
    if($post_secenek == "diger" || $post_secenek == NULL)
    if($post_diger)
    mysql_query("insert into anket_secenekler(soru, secenek, secenek_slug, sira, puan) values($post_soru, '$post_diger', '$post_diger_slug', 1000, 1)");
    else
    $hatali = "Lütfen geçerli bir giriş yapınız.";
    else
    mysql_query("update anket_secenekler set puan = (puan + 1) where soru = $post_soru and secenek_slug = '$post_secenek'");
    if(!$hatali)
    {
    mysql_query("insert into anket_kullananlar(soru, ip, zaman) values($post_soru, '$kullanici_ip', NOW())");
    $basarili = "Oyunuz başarıyla kaydedilmiştir.";
    }
    }

    else
    $hatali = "Daha önce bu ankete oy vermişsiniz. Bir ankete günde sadece bir defa oy verebilirsiniz.";
    }


    // Ayarlar alınıyor

    $sql = mysql_query("select * from anket_ayar");
    while($dizi = mysql_fetch_assoc($sql))
    $ayar[$dizi["ayar"]] = $dizi["deger"];

    //Soru var mı?

    $toplam_soru_sayisi = mysql_num_rows(mysql_query("select id from anket_sorular"));

    ?>
    <img src="http://f1210.hizliresim.com/12/7/drdnq.jpg" alt="Osmangazi Üniversitesi" />


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Erdem Drupal Anket - <?php print $ayar["site_adi"]; ?></title>
    </head>


    <body>


    <div id="tutucu">

    <?php
    if($basarili){ ?>
    <div id="basarili"><?php print $basarili; ?></div>
    <?php }
    if($hatali){ ?>
    <div id="hatali"><?php print $hatali; ?></div>
    <?php } ?>


    <div id="ic_tutucu">

    <div id="soru">

    <?php
    if($toplam_soru_sayisi == 0)
    print "Aktif anket bulunmuyor.";

    else
    {

    while($get_soru = $_GET["soru"])
    $sql = mysql_query("select * from anket_sorular where id = $get_soru");


    {
    $sql = mysql_query("select * from anket_sorular order by rand() limit 0, 1");
    $get_soru = mysql_result($sql, 0, "id");
    }

    $diger_secenegi = mysql_result($sql, 0, "diger");
    print stripslashes(mysql_result($sql, 0, "soru"));
    }

    ?>

    </div>


    <div id="secenekler">
    <table cellspacing="5" style="margin-top:-15px;">
    <form method="post">

    <?php
    if($toplam_soru_sayisi == 0)
    print "Aktif anket bulunmuyor.<div id=\"alt\"><br><a href=\"admin/\">Yönetici Paneli</a>";

    else
    {
    $sql = mysql_query("select * from anket_secenekler where soru = $get_soru order by sira");
    while($dizi = mysql_fetch_assoc($sql))
    {
    ?>
    <label><input type="radio" name="secenekler" value="<?php print $dizi["secenek_slug"]; ?>" /><?php print stripslashes($dizi["secenek"]); ?></label></br>

    <?php }

    if($diger_secenegi == 1)
    {
    ?>

    <tr><td><label><input type="radio" name="secenekler" value="diger" />Diğer : </label><input type="text" name="diger" style="width:300px; border:1px solid #000;" /></td></tr>

    <?php } ?>

    <input type="hidden" name="post_soru" value="<?php print $get_soru; ?>" />
    <br />
    <br><tr><td><input type="submit" value="Gönder" style="border:1px solid #000;" /></td></tr></br>

    </form>

    </table>

    <div id="alt">

    <?php


    $ilk_sayfa = mysql_result(mysql_query("select id from anket_sorular order by id asc limit 1"), 0, "id");
    $son_sayfa = mysql_result(mysql_query("select id from anket_sorular order by id desc limit 1"), 0, "id");


    if($get_soru != $ilk_sayfa)
    {
    $onceki_sayfa = mysql_result(mysql_query("select id from anket_sorular where id < $get_soru order by id desc limit 1"), 0, "id");
    print "<a href=\"index.php?soru=$onceki_sayfa\" style=\"float:left;\" >önceki Soru</a>";
    }
    if($get_soru != $son_sayfa)
    {
    $sonraki_sayfa = mysql_result(mysql_query("select id from anket_sorular where id > $get_soru order by id asc limit 1"), 0, "id");
    print "<a href=\"index.php?soru=$sonraki_sayfa\" style=\"float:right;\" >Sonraki Soru</a>";
    }

    print "<br><a href=\"sonuclar.php?soru=$get_soru\">Sonuçlar</a><br><a href=\"admin/\">Yönetici Paneli</a>";
    }

    ?>

    </div>


    </div>


    </div>

    </div>

    </body>
    </html>



    o.degirmenci[dıgıdıkdıgıdık]msn.com

    eklerseniz yardımcı olayım.

    mail attım




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.