• 02-09-2023, 02:16:14
    #1
    Merhaba,

    şöyle bir index.php sayfam var

    link

    bu sayfaya girince tüm ürünler başlığı ile tüm kategorilere ait tüm eklenmiş ürünleri listeliyor. Bu sayfa uzunluğunu çok fazla uzatıyor. Tüm ürünler adını kaldırıp siteye girdiğimizde başlangıçta sadece tatlılar görünsün istiyorum. Kişinin menüden seçimi ile değişmeye devam etsin.

    3 saat oldu hala uğraşıyorum bir yapamadım. PHP bilgim çok yok.

    chatgpt ile savaştık olmadı

    <?php
    include 'header.php';
    ?>
    <style>
        <?php
        $stook = $db->query("SELECT * FROM urun ", PDO::FETCH_ASSOC);
        if ( $stook->rowCount() ){
         foreach( $stook as $row ){
          if ($row["special"]==1){
            ?>
            .card<?php echo $row['id']; ?> {
    
              background-image: url(<?php echo $row['resim_yol']; ?>);
            }
    
            <?php
          }}} ?>
    
    
        </style>            
    
    <!-- Start menu-area Area -->
    <section class="menu-area section-gap" id="menu">
        <div class="container">
            <div class="row d-flex justify-content-center">
                <div class="menu-content pb-70 col-lg-8">
                    <div class="title text-center"> <br>
                    <!--    <h1 class="mb-10">fff</h1>
                        <p>Çevre dostu sisteme son derece aşık olanlar.</p> -->
                    </div>
                </div>
            </div>    
            <ul class="filter-wrap filters col-lg-12 no-padding">
                <li class="active" data-filter="*">Tüm Ürünler</li>
                <?php
                $kategorisor=$db->prepare("SELECT * FROM kategori ORDER BY sira ASC");
                $kategorisor->execute();
    
    
                while ($kategoricek=$kategorisor -> fetch(PDO::FETCH_ASSOC)) {
                    $urunsayisi = $db->prepare("SELECT COUNT(*) FROM urun WHERE tur = :tur");
                    $urunsayisi->execute(array('tur' => $kategoricek['ad']));
                    $sayi = $urunsayisi->fetchColumn();
    
                    if($sayi > 0) {
    
    
                        ?>
    
                        <li data-filter=".<?php echo str_replace(" ", "", $kategoricek['ad']); ?>"><?php echo $kategoricek['ad']; ?></li>
    
    
                    <?php }} ?>
                </ul>
    
                <div class="filters-content">
                    <div class="row grid">
                        <?php
                        $urunsor=$db->prepare("SELECT * FROM urun");
                        $urunsor->execute(array());
    
                        while ($uruncek=$urunsor -> fetch(PDO::FETCH_ASSOC)) {
    
                            ?>
                            <div class="col-md-6 all <?php echo str_replace(" ", "", $uruncek['tur']); ?>">
                            <div class="single-menu">
                                <div class="single-menu-daire"> <img width="100" height="100" src="<?php echo $uruncek['resim_yol']; ?>" alt=""></div>
                                <div class="title-wrap d-flex justify-content-between">
                                    <h4><?php echo $uruncek['baslik']; ?></h4>
                                    <h4 class="price"><?php echo $uruncek['fiyat']; ?> ₺</h4>
                                </div>            
                                <p>
                                    <?php echo $uruncek['detay']; ?>
                                </p>                                    
                            </div>                                                  
                        </div>
                        <?php } ?>
    
                    </div>
                </div>
    
            </div>
        </section>
        <!-- End menu-area Area -->                        
    
        
        <?php include 'footer.php'; ?>
  • Kabul Edilen Cevap
    • teklifsiz olarak bilgi paylaşayım javascripte document ready e veya onload a bunu ekle ---> $("li[data-filter='.TATLILAR']").click(); veya settimeout 500 e ekle...
  • 02-09-2023, 02:18:50
    #2
    Ücreti mukabilinde yardımcı olabilirim. Özel mesajla ulaşabilirsiniz.
  • 02-09-2023, 02:19:51
    #3
    ben yanlış anlamışım hocam

    $urunsayisi = $db->prepare("SELECT COUNT(*) FROM urun WHERE tur = :tur");

    41. Satıra müdahale ediceksiniz. Sıralama yaparken Tüm ürünler bölümünden sıralamaya başlayacaksınız ID si neyse onu yazıp eşitleyin.
  • 02-09-2023, 02:21:40
    #4
    eniyimagaza adlı üyeden alıntı: mesajı görüntüle
    69. Satırı kaldırıp bir deneyin hocam.
    yok hocam olmadı ürünlere ait başlıklar kalktı

    webwebweb adlı üyeden alıntı: mesajı görüntüle
    Ücreti mukabilinde yardımcı olabilirim. Özel mesajla ulaşabilirsiniz.
    Hocam yardım arıyordum bir yandan öğreneyim diye fakat çok uğraştırdı, fiyat teklifi alabilir miyim?
  • 02-09-2023, 02:37:21
    #5
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    teklifsiz olarak bilgi paylaşayım javascripte document ready e veya onload a bunu ekle ---> $("li[data-filter='.TATLILAR']").click(); veya settimeout 500 e ekle...
  • 02-09-2023, 02:48:03
    #6
    webwebweb adlı üyeden alıntı: mesajı görüntüle
    teklifsiz olarak bilgi paylaşayım javascripte document ready e veya onload a bunu ekle ---> $("li[data-filter='.TATLILAR']").click(); veya settimeout 500 e ekle...
    bu yöntemleri şimdi denediğimde tıklamayı yaptırdım. Tatlılar ile açılış yapıp menü arası geçiş yapıyorum.

    Ama şöyle ki tatlılar tıklanıyor, başka menü elemanına tıkladığımda ilk sefer boş görünüyor ürün listelemiyor daha sonraki tıklamamda ürün görünüyor sanki takılıyormuş gibi
  • 02-09-2023, 02:54:30
    #7
    Önceki önerimi silebilirsin, başka birşeyle çakışıyor olabilir. Şimdi gece gece tespit etmeyeyim
    Başka bir öneri: https://eskisehirwebtasarim.net/demo...o14/js/main.js
    dosyasında 75. VEYA 76. SATIR.
    var $grid = $(".grid").isotope({
    itemSelector: ".TATLILAR ",
    percentPosition: true,
    filter: ".TATLILAR",
    masonry: {
    columnWidth: ".all"
    }
    })

    Daha da olmazsa ücreti mukabilinden yardımcı olayım. Buradan test edemediğim için ancak bu önerileri sunabiliyorum.
  • 02-09-2023, 03:28:40
    #8
    window.onload = function() {  setTimeout(function() {    var tatliKategori = document.querySelector("li[data-filter='.TATLILAR']");    tatliKategori.click();  }, 1000); // 1000 milisaniye (1 saniye) gecikme ekleyin };
    Kod ile sorunu çözdük. Çakışmayı bulup giderince takılma sorunu kalmadı. Çok teşekkür ederim.