• 05-02-2024, 15:43:29
    #1
    merhaba arkadaslar

    $getDbPacksx = $spexcon->query("SELECT * FROM pakets");
    
    foreach ($getDbPacksx as $pac) {
        $item_id = htmlspecialchars($pac['id']);
    echo"$item_id paketler";
    }
    paketleri soyle listeliyorum.

    mesala 10 adet paket var.

    uye bunlardan 2 isini almis.

    $sorgu = $spexcon->query("SELECT * FROM repacks WHERE user='".$user_name."' ");

    aldigi urunler bu tablede tutuyorum.

    yapmak istedigim sey su . urunlere girdiginde bu uye 2 adet urun almissa o urunlerin karsisina

    echo"$item_id paketler - bu paketi daha once aldiniz";

    yazmasini istiyorum bi turlu ayarliyamadim yardimci ola bilicek arkadaslara simdiden tesekkurler
  • Kabul Edilen Cevap
    • 1 Beğeni
      $getDbPacksx = $spexcon->query("SELECT * FROM pakets");
      
      if ($getDbPacksx) {
          while ($pac = $getDbPacksx->fetch_assoc()) {
              $item_id = htmlspecialchars($pac['id']);
              echo "$item_id paketler";
      
              $sorgu = $spexcon->query("SELECT * FROM repacks WHERE user='".$user_name."' AND item_id='".$pac['id']."'");
      
              if ($sorgu && $sorgu->num_rows > 0) {
                  echo " - Bu paketi daha önce aldınız";
              }
              
              echo "<br>";
          }
      } else {
          echo "Veritabanından paketler alınamadı";
      }
  • 05-02-2024, 15:48:03
    #2
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    $getDbPacksx = $spexcon->query("SELECT * FROM pakets");
    
    if ($getDbPacksx) {
        while ($pac = $getDbPacksx->fetch_assoc()) {
            $item_id = htmlspecialchars($pac['id']);
            echo "$item_id paketler";
    
            $sorgu = $spexcon->query("SELECT * FROM repacks WHERE user='".$user_name."' AND item_id='".$pac['id']."'");
    
            if ($sorgu && $sorgu->num_rows > 0) {
                echo " - Bu paketi daha önce aldınız";
            }
            
            echo "<br>";
        }
    } else {
        echo "Veritabanından paketler alınamadı";
    }
    • DigitalHistory
    DigitalHistory bunu beğendi.
    1 kişi bunu beğendi.
  • 05-02-2024, 15:48:46
    #3
    / İlk sorgu ile paketleri çek
    $getDbPacksx = $spexcon->query("SELECT * FROM pakets");
    
    // Her bir paket için kontrol yap
    foreach ($getDbPacksx as $pac) {
        $item_id = htmlspecialchars($pac['id']);
    
        // Kullanıcının aldığı paketleri kontrol et
        $sorgu = $spexcon->query("SELECT * FROM repacks WHERE user='".$user_name."' AND package_id='".$pac['id']."'");
    
        // Eğer kullanıcı bu paketi daha önce almışsa
        if ($sorgu->rowCount() > 0) {
            echo "$item_id paketler - Bu paketi daha önce aldınız";
        } else {
            echo "$item_id paketler";
        }
    }
  • 05-02-2024, 15:52:02
    #4
    <?php
    
    
    // İlk sorgu: Tüm paketleri al
    $getDbPacksx = $spexcon->query("SELECT * FROM pakets");
    
    // İkinci sorgu: Kullanıcının repacks tablosundaki kayıtlarını al
    $sorgu = $spexcon->query("SELECT * FROM repacks WHERE user='".$user_name."' ");
    
    // $pakets_id'leri depolamak için boş bir dizi oluştur
    $pakets_ids = array();
    
    // İkinci sorgudan gelen her bir kayıt için
    while ($row = $sorgu->fetch_assoc()) {
        // repacks tablosundaki pakets_id'yi diziye ekle
        $pakets_ids[] = $row['pakets_id'];
    }
    
    // Tüm paketlerin bulunduğu sorgudan gelen her bir kayıt için
    while ($pack_row = $getDbPacksx->fetch_assoc()) {
        // Eğer pakets_id repacks tablosundaki kayıtlarda bulunuyorsa
        if (in_array($pack_row['id'], $pakets_ids)) {
            echo "Paket alınmıştır: " . $pack_row['paket_adi'] . "<br>";
        }
    }
    ?>
  • 05-02-2024, 15:58:00
    #5
    Herkesin eline emegine salik

    Misafir; tam istedigim gibi calisti ellerinize salik

    @mellon; @sheeflamarck;Allah razi olsun zaman ayirdiniz. tesekkurler