• 11-10-2024, 10:54:29
    #1
    Merhabalar,
    PHP projem için form sayfamda 1 adet select / option kullanmaktayım. Kullanmış olduğum select / option' da veritabanından kullanıcıları çekerek seçim yaptırmaktayım. Formu dolduran kişi Select / Option' da kendi kullanıcını çekemez olarak ayarlanmıştır. İstediğim şu, 2 adet deneme kullanıcım var, bu 2 adet deneme kullanıcısı bu Select / Option listesinde gizlemek (hariç tutmak) istiyorum. Kısaca formu dolduran kişi, kendi kullanıcısından hariç 2 adet deneme kullanıcısını bu listede görüntüleyemesin ve seçemesin. Desteğiniz için teşekkür ederim.
    Kullanıcı İsmi = Deneme Kullanıcı
    kul_id=2
    Kullanıcı İsmi = Deneme Kullanıcı2
    kul_id=3

    <?php
    // Oturum açan kullanıcının bilgilerini $_SESSION üzerinden alınmaktadır
    session_start();
    $oturum_kullanici = $_SESSION['kul_isim']; // Oturum açan kullanıcının ismi
    // Kullanıcıları veritabanından çekme işlemi
    $kullanici = $db->prepare("SELECT * FROM kullanicilar");
    $kullanici->execute();
    ?>
    <div class="form-row">
    <div class="form-group col-md-4"></div>
    <div class="form-group col-md-4">
    <label>İzin kullandığım süre içerisinde bu görevi yürütecek kişi:</label>
    <select required name="ilgilikisi" class="form-control selectpicker" data-live-search="true" data-actions-box="true">
    <?php
    // Kullanıcıları listelerken, oturum açan kullanıcı hariç diğerlerini göster
    while ($kullanicicek = $kullanici->fetch(PDO::FETCH_ASSOC)) {
    if ($kullanicicek['kul_isim'] != $oturum_kullanici) { // Oturum açan kullanıcıyı atla
    ?>
    <option value="<?php echo $kullanicicek['kul_isim']; ?>"><?php echo $kullanicicek['kul_isim']; ?></option>
    <?php
    }
    }
    ?>
    </select>
  • 11-10-2024, 10:59:38
    #2
    <?php
    // Oturum açan kullanıcının bilgilerini $_SESSION üzerinden alınmaktadır
    session_start();
    $oturum_kullanici = $_SESSION['kul_isim']; // Oturum açan kullanıcının ismi
    
    // Kullanıcıları veritabanından çekme işlemi
    $kullanici = $db->prepare("SELECT * FROM kullanicilar");
    $kullanici->execute();
    ?>
    
    <div class="form-row">
        <div class="form-group col-md-4"></div>
        <div class="form-group col-md-4">
            <label>İzin kullandığım süre içerisinde bu görevi yürütecek kişi:</label>
            <select required name="ilgilikisi" class="form-control selectpicker" data-live-search="true" data-actions-box="true">
                <?php
                while ($kullanicicek = $kullanici->fetch(PDO::FETCH_ASSOC)) {
                    if ($kullanicicek['kul_isim'] != $oturum_kullanici && $kullanicicek['kul_id'] != 2 && $kullanicicek['kul_id'] != 3) {
                        ?>
                        <option value="<?php echo $kullanicicek['kul_isim']; ?>"><?php echo $kullanicicek['kul_isim']; ?></option>
                        <?php
                    }
                }
                ?>
            </select>
        </div>
    </div>
  • 11-10-2024, 11:09:01
    #3
    Kurumsal PLUS
    Sql de hariç tutma komutu var NOT IN, bununla yapabilirsin. Kullanıcının kendi id değerini session ile alırsın, deneme kullanıcılarının id lerini de manuel olarak sorguna yazabilirsin. Eğer deneme kullanıcıları değişiyor ise sürekli onlara tabloda özel bir sütun verip, orada ki 1-0 değerlerine göre sorgu yazabilirsin belki.

    Örneğin;
    $kullanici = $db->prepare("SELECT * FROM kullanicilar WHERE kul_id != :oturum_kullanici AND kul_id NOT IN (2, 3)");
    veya if sorgusu ile id leri hariç te tutabilirsin. Bence sorgu üzerinde hariç tutmayı deneyebilirsin.
  • 11-10-2024, 11:29:45
    #4
    webcolic adlı üyeden alıntı: mesajı görüntüle
    Sql de hariç tutma komutu var NOT IN, bununla yapabilirsin. Kullanıcının kendi id değerini session ile alırsın, deneme kullanıcılarının id lerini de manuel olarak sorguna yazabilirsin. Eğer deneme kullanıcıları değişiyor ise sürekli onlara tabloda özel bir sütun verip, orada ki 1-0 değerlerine göre sorgu yazabilirsin belki.

    Örneğin;
    $kullanici = $db->prepare("SELECT * FROM kullanicilar WHERE kul_id != :oturum_kullanici AND kul_id NOT IN (2, 3)");
    veya if sorgusu ile id leri hariç te tutabilirsin. Bence sorgu üzerinde hariç tutmayı deneyebilirsin.
    Desteğiniz için çok teşekkür ederim hocam
  • 11-10-2024, 11:30:32
    #5
    dinarbey adlı üyeden alıntı: mesajı görüntüle
    <?php
    // Oturum açan kullanıcının bilgilerini $_SESSION üzerinden alınmaktadır
    session_start();
    $oturum_kullanici = $_SESSION['kul_isim']; // Oturum açan kullanıcının ismi
    
    // Kullanıcıları veritabanından çekme işlemi
    $kullanici = $db->prepare("SELECT * FROM kullanicilar");
    $kullanici->execute();
    ?>
    
    <div class="form-row">
        <div class="form-group col-md-4"></div>
        <div class="form-group col-md-4">
            <label>İzin kullandığım süre içerisinde bu görevi yürütecek kişi:</label>
            <select required name="ilgilikisi" class="form-control selectpicker" data-live-search="true" data-actions-box="true">
                <?php
                while ($kullanicicek = $kullanici->fetch(PDO::FETCH_ASSOC)) {
                    if ($kullanicicek['kul_isim'] != $oturum_kullanici && $kullanicicek['kul_id'] != 2 && $kullanicicek['kul_id'] != 3) {
                        ?>
                        <option value="<?php echo $kullanicicek['kul_isim']; ?>"><?php echo $kullanicicek['kul_isim']; ?></option>
                        <?php
                    }
                }
                ?>
            </select>
        </div>
    </div>
    Desteğiniz için çok teşekkür ederim hocam. İletmiş olduğunuz gibi sorunumu çözdüm.
  • 11-10-2024, 11:38:40
    #6
    Gold üye
    Tam güvenli olsun dersen arka tarafta işlem yaparken, yani postu karşılarken de kontrol ettirmen gerek. Ön yüzden düzenlenebilir çünkü.