• 13-10-2014, 12:34:45
    #1
    Herkese merhaba,

    Bir proje için php, js ,ajax ,mysql kullanarak 3 aşamalı bir anket tasarlamam gerekiyor.
    Aşamalı derken ilerlemeli anketten bahsediyorum. Mesela ankette 12 soru var, ziyaretçi siteye gelip üye olduktan sonra ankete yönleniyor. İlk sayfada 4 soru cevaplayıp devam et diyor ve 2. sayfadaki 4 soru geliyor. Sonra aynı mantıkla devam et diyor ve 3. sayfadaki 4 soruyu da cevaplayıp anketi bitiriyor.

    Böyle bir anketi nasıl yapabilirim ? Çok fazla ajax bilgim mevcut değil. Bir de şöyle birşey var. mesela ilk sayfadaki 4 soruyu cevaplayıp anketi kapatsa bile o cevapları veritabanına kaydedebilmeliyim.

    Sanırım derdimi anlatabildim. Yardımcı olanlara şimdiden teşekkür ederim.
  • 13-10-2014, 12:46:41
    #2
    Merhaba,

    Eğer böyle aşamalı bir anket düşünüyorsan muhtemelen ilk 4 sorunun cevaplarına göre diğer aşamalardaki sorular değişiklik gösterecektir. Bunun için zaten her aşamada cevapları veritabanına kayıt etmelisin. Basit bir şekilde anlatmak gerekirse oluşturman gereken anket tabloların şu şekilde olabilir.

    soru tablosu
    soruId
    soru
    aciklama
    asama

    şıklar tablosu
    sikId
    soruId
    sik
    dogru

    cevaplar tablosu
    cevapId
    soruId
    sikId
    ip
    time

    Tabloları bu şekilde oluşturduktan sonra, php ile anket sorularını asama=1 koşulu ile çekersin. Her cevabı $.ajax ile veritabanına anında kayıt edersin. Devam dediğinde cevaplarına bagli olarak çeşitli koşullarla asama=2 sorularını ekrana yazarsın. Devam dediğinde aynı şekilde asama=3 sorularını ekrana basarsın.
  • 13-10-2014, 14:57:53
    #3
    ChuckyFun adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Eğer böyle aşamalı bir anket düşünüyorsan muhtemelen ilk 4 sorunun cevaplarına göre diğer aşamalardaki sorular değişiklik gösterecektir. Bunun için zaten her aşamada cevapları veritabanına kayıt etmelisin. Basit bir şekilde anlatmak gerekirse oluşturman gereken anket tabloların şu şekilde olabilir.

    soru tablosu
    soruId
    soru
    aciklama
    asama

    şıklar tablosu
    sikId
    soruId
    sik
    dogru

    cevaplar tablosu
    cevapId
    soruId
    sikId
    ip
    time

    Tabloları bu şekilde oluşturduktan sonra, php ile anket sorularını asama=1 koşulu ile çekersin. Her cevabı $.ajax ile veritabanına anında kayıt edersin. Devam dediğinde cevaplarına bagli olarak çeşitli koşullarla asama=2 sorularını ekrana yazarsın. Devam dediğinde aynı şekilde asama=3 sorularını ekrana basarsın.
    Öncelikle cevabınız için teşekkürler.

    Her sayfa için ayrı mysql tablosu yapmaya karar verdim. 3 ayrı sayfa yerine aslında tek sayfada gizleyerek yapmak nasıl olur acaba ?

    Yani şöyle ilk anketi yaptı kullanıcı, devama tıkladı ve ilk anket hidden oldu, ikinci anket açıldı. İkinci anketi doldurdu, devama bastı ve ikinci anket hidden oldu ve 3.anket açıldı gibi. Bu tarz bir olay döngüsü yapılabilir mi ajax ile?
  • 13-10-2014, 15:32:13
    #4
    yapılabilir hocam örnek olarak buraya bakabilirsiniz.
    http://responsiweb.com/themes/previe...rm-wizard.html
  • 13-10-2014, 16:22:24
    #5
    Gayet tabi yapılabilir. $("#anket1").hide(); $("#anket2").show(); jQuery ile halledersiniz.
  • 13-10-2014, 18:04:27
    #6
    wizz adlı üyeden alıntı: mesajı görüntüle
    yapılabilir hocam örnek olarak buraya bakabilirsiniz.
    http://responsiweb.com/themes/previe...rm-wizard.html
    Bootstrap ile geçiş yapılıyor sanırım hocam burada. tam istediğim değil gibi.

    ChuckyFun adlı üyeden alıntı: mesajı görüntüle
    Gayet tabi yapılabilir. $("#anket1").hide(); $("#anket2").show(); jQuery ile halledersiniz.
    Teşekkürler. Deneyeceğim bakalım bugün inşallah yapabilirim
  • 13-10-2014, 22:57:36
    #7
    bootsrap taki mantıkta aynı hocam hide show değişen bişey yok