Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Öğeler istediğim gibi sıralanm

Konu, 'Web Programlama' kısmında webandyazilimprofesor tarafından paylaşıldı.

  1. webandyazilimprofesor

    webandyazilimprofesor Üye

    Kayıt:
    2 Eylül 2017
    Mesajlar:
    130
    Beğenilen Mesajlar:
    3
    Şehir:
    Ankara
    Merhaba,

    arkadaşlar verileri veritabanından çekerek test gibi bir şey yapmak istiyorum.

    Kodlar şu şekilde :

    Kod:
    <?php
    $testad = filter_input(INPUT_GET, "test");
    
    $testcek = $baglanti -> prepare("select * from test where baslik = ?");
    $testcek -> bindParam(1, $testad);
    $testcek -> execute();
    
    $i = 0;
    
    ?>
    
    <div id="testler">
    
    <?php
    
    foreach ($testcek as $testbilgi) {
    
    $i++;
    
    $taciklama = $testbilgi["testaciklama"];
    $c1 = $testbilgi["cevap1"];
    $c2 = $testbilgi["cevap2"];
    $c3 = $testbilgi["cevap3"];
    $c4 = $testbilgi["cevap4"];
    $dogrucevap = $testbilgi["cevap"];
    
    $formad = "form".$i;
    
    $radioname = "radio".$i;
    
    $cradioa = "ra".$i;
    $cradiob = "rb".$i;
    $cradioc = "rc".$i;
    $cradiod = "rd".$i;
    
    $aciklamatop = 1 * $i;
    
    $atop = 150 * $i;
    $btop = 200 * $i;
    $ctop = 250 * $i;
    $dtop = 300 * $i;
    
    ?>
    <label style="position: absolute;top: <?php echo($aciklamatop); ?> px;left: px;"><?php echo($taciklama); ?></label>
    
    <label style="position: absolute;top: <?php echo($atop); ?> px;left: px;">a) <?php echo($c1); ?></label>
    
    <label style="position: absolute;top: <?php echo($btop); ?> px;left: px;">b) <?php echo($c2); ?></label>
    
    <label style="position: absolute;top: <?php echo($ctop); ?> px;left: px;">c) <?php echo($c3); ?></label>
    
    <label style="position: absolute;top: <?php echo($dtop); ?> px;left: px;">d) <?php echo($c4); ?></label>
    
    <form action="" method="post" name="<?php echo($formad); ?>">
    
    <input type="radio" class="<?php echo($cradioa); ?>" name="<?php echo($radioname); ?>" value="a">
    <input type="radio" class="<?php echo($cradiob); ?>" name="<?php echo($radioname); ?>" value="b">
    <input type="radio" class="<?php echo($cradioc); ?>" name="<?php echo($radioname); ?>" value="c">
    <input type="radio" class="<?php echo($cradiod); ?>" name="<?php echo($radioname); ?>" value="d">
    <input type="submit" class="gonderb<?php echo($i); ?>" name="gonder<?php echo($i); ?>" value="Gönder">
    
    </form>
    
    <?php
    
    if (isset($_POST["gonder<?php echo($i); ?>"])) {
    
    $seciliradio = filter_input(INPUT_POST, $radioname);
    
    if ($seciliradio == $dogrucevap) {
    echo "Doğru cevap";
    }else{
    echo "Yanlış cevap";
    }
    
    }
    
    }
    
    ?>
    
    </div>
    
    <style type="text/css">
    
    #testler{
    position: absolute;
    top: 225px;
    left: 25px;
    }
    
    </style>
    Aslında kodda php kodu daha çok :) ama bizi öğelerin yerleştirilmesi ilgilendirdiği için bizi numaralar ve i değişkeni ilgilendiriyor. O da her döngü çalıştığında çalışıyor.

    Öğeler şöyle oluyor :

    Ekran Görüntüsü (812).png

    Arkadaşlar normalde böyle görünmemesi lazım. Onlara top değeri verdim :

    Kod:
    $atop = 150 * $i;
    $btop = 200 * $i;
    $ctop = 250 * $i;
    $dtop = 300 * $i;
    
    Normalde şıkların alt alta görünmesini istiyorum.

    Bu sorunu nasıl çözebilirim?

    Yardımınıza ihtiyacım var.
     
  2. Yilmazx

    Yilmazx Üye

    Kayıt:
    16 Haziran 2017
    Mesajlar:
    28
    Beğenilen Mesajlar:
    10
    Şehir:
    istanbul
    <br> kullansan :)
     
    dinlex bunu beğendi.
  3. izmiralem

    izmiralem Aktif Üye

    Kayıt:
    7 Şubat 2010
    Mesajlar:
    290
    Beğenilen Mesajlar:
    32
    Meslek:
    Bilgisayar Teknik Servis Hizmt.
    Şehir:
    izmir
    Merhaba, <label> etiketlerine position: absolute; vermeniz doğru olmamış bundan kaynaklı. Mümkün olduğunca absolute kullanmayın, onun kullanılması gereken yerler bu tür durumlar değil.

    Kod:
    #testler{ float:left; width:250px;}
    #testler label{ float:left; width:100%; margin-right:10px; margin-bottom:10px; }
    
    <div id="testler">
    <label>a)</label>
    <label>b)</label>
    <label>c)</label>
    <label>d)</label>
    </div>
    Bu şekilde yaptığınızda alt alta duracaktır.