• 24-02-2023, 09:58:00
    #1
    Merhaba Arkadaşlar ,

    Ürünler adlı sayfam var bu sayfada var olan bütün ürünler listeleniyor. Fakat bu işimi görmüyor. Bu sayfada ürünleri kategorisine göre listelemek istiyorum. Nasıl yapabilirim yardımcı olur musunuz.
    ürünler sayfası php dosyası aşağıda
    <?php
      $page_title = 'Stoktaki Ürünler';
      require_once('includes/load.php');
      // Checkin What level user has permission to view this page
       page_require_level(2);
      $products = join_product_table();
    ?>
    <?php include_once('layouts/header.php'); ?>
      <div class="row">
         <div class="col-md-12">
           <?php echo display_msg($msg); ?>
         </div>
        <div class="col-md-12">
          <div class="panel panel-default">
            <div class="panel-heading clearfix">
             <div class="pull-right">
               <a href="add_product.php" class="btn btn-primary">Yeni Ekle</a>
             </div>
            </div>
            <div class="panel-body">
              <table class="table table-bordered">
                <thead>
                  <tr>
                    <th class="text-center" style="width: 50px;">#</th>
                    <th> Resim</th>
                    <th> Ürün Adı </th>
                    <th class="text-center" style="width: 10%;"> Kategorisi </th>
                    <th class="text-center" style="width: 10%;"> Stok Adeti </th>
                    <th class="text-center" style="width: 10%;"> Alış Fiyatı </th>
                    <th class="text-center" style="width: 10%;"> Satış Fiyatı  </th>
                    <th class="text-center" style="width: 10%;"> Ekleme Tarihi </th>
                    <th class="text-center" style="width: 100px;"> Aksiyon </th>
                  </tr>
                </thead>
                <tbody>
                    
                  <?php foreach ($products as $product):?>
                  <tr>
                    <td class="text-center"><?php echo count_id();?></td>
                    <td>
                      <?php if($product['media_id'] === '0'): ?>
                        <img class="img-avatar img-circle" src="uploads/products/no_image.jpg" alt="">
                      <?php else: ?>
                      <img class="img-avatar img-circle" src="uploads/products/<?php echo $product['image']; ?>" alt="">
                    <?php endif; ?>
                    </td>
                    <td> <?php echo remove_junk($product['name']); ?></td>
                    <td class="text-center"> <?php echo remove_junk($product['categorie']); ?></td>
                    <td class="text-center"> <?php echo remove_junk($product['quantity']); ?></td>
                    <td class="text-center"> <?php echo remove_junk($product['buy_price']); ?></td>
                    <td class="text-center"> <?php echo remove_junk($product['sale_price']); ?></td>
                    <td class="text-center"> <?php echo read_date($product['date']); ?></td>
                    <td class="text-center">
                      <div class="btn-group">
                        <a href="edit_product.php?id=<?php echo (int)$product['id'];?>" class="btn btn-info btn-xs"  title="Edit" data-toggle="tooltip">
                          <span class="glyphicon glyphicon-edit"></span>
                        </a>
                        <a href="delete_product.php?id=<?php echo (int)$product['id'];?>" class="btn btn-danger btn-xs"  title="Delete" data-toggle="tooltip">
                          <span class="glyphicon glyphicon-trash"></span>
                        </a>
                      </div>
                    </td>
                  </tr>
                 <?php endforeach; ?>
                </tbody>
              </tabel>
            </div>
          </div>
        </div>
      </div>
      <?php include_once('layouts/footer.php'); ?>
    Ürünler ve Kategoriler veritabanı



    Teşekkürler...
  • 24-02-2023, 11:17:46
    #2
    bu sorun değil özellik isteme. siz bi başlayın yapmaya, takıldığınız yeri sorun tamamını değil.
  • 24-02-2023, 11:27:05
    #3
    trgino adlı üyeden alıntı: mesajı görüntüle
    bu sorun değil özellik isteme. siz bi başlayın yapmaya, takıldığınız yeri sorun tamamını değil.
    Takıldığım yeri soruyorum. Araştırdım ama uygun şekilde nasıl yapacağımı çözemedim. Yani bilmediğim bir olay, bilen birinden 'DESTEK' almak için bu konu açtım.
  • 24-02-2023, 11:42:57
    #4
    Sql sorgusunu da paylaşırsanız daha kolay yardımcı olabiliriz
  • 24-02-2023, 11:54:59
    #5
    Alıntı
    Fonksiyon kodlarınız içerisindeki join_product_table adlı fonksiyonu aşağıdaki gibi güncelleyin;
    function join_product_table($cid = 0){
           global $db;
           $sql  =" SELECT p.id,p.name,p.quantity,p.buy_price,p.sale_price,p.media_id,p.date,c.name";
           $sql  .=" AS categorie,m.file_name AS image";
           $sql  .=" FROM products p";
           $sql  .=" LEFT JOIN categories c ON c.id = p.categorie_id";
           $sql  .=" LEFT JOIN media m ON m.id = p.media_id";
           if ($cid) $sql .= " WHERE p.categorie_id = " . $cid;
           $sql  .=" ORDER BY p.id ASC";
           return find_by_sql($sql);
    
        }
    Alıntı
    Ardından ürün listeleme sayfasındaki üst kısmı şu şekilde güncelleyin;
    <?php
    $page_title = 'Stoktaki Ürünler';
      require_once('includes/load.php');
      // Checkin What level user has permission to view this page
       page_require_level(2);
      $cid = (int) (isset($_REQUEST['cid']) ? $_GET['cid'] : 0);
      $products = join_product_table($cid);
    Alıntı
    Son olarak yeni ekle butonun yer aldığı yere kategori listesini selectbox olarak yazdırıp seçilene göre ürünlerin getirilmesini sağlayalım;
    <div class="pull-right">
                <div>
                    <?php
                        $sql = 'SELECT `id`, `name` FROM `categories` ORDER BY `name` ASC';
                        $categories = find_by_sql($sql);
                        echo '<select onchange="if (this.value) window.location.href=\'?cid=\' + this.value;">';
                        foreach ($categories as $category) {
                            echo '<option value="' . $category['id'] . '">' . $category['id'] . '</option>';
                        }
                        echo '</select>';
                    ?>
                </div>
               <a href="add_product.php" class="btn btn-primary">Yeni Ekle</a>
             </div>
  • 24-02-2023, 13:19:22
    #6
    QuarkChain adlı üyeden alıntı: mesajı görüntüle
    function join_product_table($cid = 0){
           global $db;
           $sql  =" SELECT p.id,p.name,p.quantity,p.buy_price,p.sale_price,p.media_id,p.date,c.name";
           $sql  .=" AS categorie,m.file_name AS image";
           $sql  .=" FROM products p";
           $sql  .=" LEFT JOIN categories c ON c.id = p.categorie_id";
           $sql  .=" LEFT JOIN media m ON m.id = p.media_id";
           if ($cid) $sql .= " WHERE p.categorie_id = " . $cid;
           $sql  .=" ORDER BY p.id ASC";
           return find_by_sql($sql);
    
        }
    <?php
    $page_title = 'Stoktaki Ürünler';
      require_once('includes/load.php');
      // Checkin What level user has permission to view this page
       page_require_level(2);
      $cid = (int) (isset($_REQUEST['cid']) ? $_GET['cid'] : 0);
      $products = join_product_table($cid);
    <div class="pull-right">
                <div>
                    <?php
                        $sql = 'SELECT `id`, `name` FROM `categories` ORDER BY `name` ASC';
                        $categories = find_by_sql($sql);
                        echo '<select onchange="if (this.value) window.location.href=\'?cid=\' + this.value;">';
                        foreach ($categories as $category) {
                            echo '<option value="' . $category['id'] . '">' . $category['id'] . '</option>';
                        }
                        echo '</select>';
                    ?>
                </div>
               <a href="add_product.php" class="btn btn-primary">Yeni Ekle</a>
             </div>
    Çok teşekkür ederim halloldu sayenizde Fakat şöyle bir durum oluyor selectboxta kategori idleri görünüyor kategori isimlerinin gözükmesini için güncelleyince fonksiyon çalışmıyor.
  • 24-02-2023, 14:01:19
    #7
    echo '<option value="' . $category['id'] . '">' . $category['name'] . '</option>';
    Sadece iç kısımdakini name yapacaksınız bu şekilde hata mı veriyor?
  • 24-02-2023, 14:04:50
    #8
    QuarkChain adlı üyeden alıntı: mesajı görüntüle
    echo '<option value="' . $category['id'] . '">' . $category['name'] . '</option>';
    Sadece iç kısımdakini name yapacaksınız bu şekilde hata mı veriyor?
    evet sayfada kategori isimleri geliyor ama fonksiyon olarak bir değişiklik olmuyor yani ürünler listelenmiyor
  • 24-02-2023, 14:05:39
    #9
    Sayfa doğru yönleniyor mu? Yani URL kısmını kontrol ediyor musunuz?
    Seçtiğinizde x.php?cid=1 oluyor mu