• 13-03-2024, 00:15:38
    #1
    Merhaba Arkadaşlar
    site içi arama motorumda aramayı, ayrı ayrı arama yaptığımda çalışmıyor, bu konuda yardımcı olabilirmisiniz.

    $bul = '';
    $son = '';
    if (isset($_POST['aramayap'])){
        $post = $_POST['aramayap'];
    
        if(isset($_POST['status']) && !empty($_POST['status'])){
            $bul .= ' AND edrm="'.$_POST['status'].'" ';
        }
        if(isset($_POST['rctgory']) && !empty($_POST['rctgory'])){
            $bul .= ' AND emkat="'.$_POST['rctgory'].'" ';
        }
        if (isset($_POST['klm'])){
            $bul .= ' AND (baslik LIKE "%'.$_POST['klm'].'%" OR ilano="'.$_POST['klm'].'")';
        }
        $_SESSION['aramayap'] = $_POST;
        $_SESSION['bul'] = $bul;
        $_SESSION['son'] = $son;
    }
    
    $getir = $db->prepare("SELECT * FROM siteilanlar WHERE aktif=? $bul $son");
    $getir->execute(array("1"));
  • 13-03-2024, 15:54:39
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Selamlar, aramayı ayrı ayrı derken neyi kastediyorsunuz acaba?
  • 13-03-2024, 16:56:08
    #3
    Sinyor_Ridak adlı üyeden alıntı: mesajı görüntüle
    Selamlar, aramayı ayrı ayrı derken neyi kastediyorsunuz acaba?
    Merhaba Hocam
    mesela diğer seçenekleri seçmedim, sadece kelime olarak aramak istiyorum veya status olarak aramak istedim
  • 13-03-2024, 17:49:01
    #4
    Selamlar.

    <?php
    
    $kelime = '';
    $filtreler = '';
    
    
    if (isset($_POST['aramayap'])) {
      $post = $_POST['aramayap'];
    
    
      if (isset($_POST['klm']) && !empty($_POST['klm'])) {
        $kelime = $_POST['klm'];
      }
    
    
      if (isset($_POST['status']) && !empty($_POST['status'])) {
        $filtreler .= ' AND edrm="'.$_POST['status'].'" ';
      }
      if (isset($_POST['rctgory']) && !empty($_POST['rctgory'])) {
        $filtreler .= ' AND emkat="'.$_POST['rctgory'].'" ';
      }
    
    
      $_SESSION['aramayap'] = $post;
      $_SESSION['kelime'] = $kelime;
      $_SESSION['filtreler'] = $filtreler;
    }
    
    
    $sorguKelime = "SELECT * FROM siteilanlar WHERE aktif=? AND (baslik LIKE '%$kelime%' OR ilano='$kelime')";
    $sorguFiltreli = $sorguKelime . $filtreler;
    
    
    if (empty($kelime)) {
      $getir = $db->prepare($sorguFiltreli);
      $getir->execute(array("1"));
    } else {
      $getir = $db->prepare($sorguKelime);
      $getir->execute(array("1"));
    }
    
    
    while ($ilan = $getir->fetch(PDO::FETCH_ASSOC)) {
      // ... ilan bilgilerini gösteren kodlar ...
    }
    
    ?>
    klm sorgu esnasında sizin kodda filtreye göre sınırlandırıyor, and operatörüyle biraz daha tüm koşullara bağladım.
    Kodu deneyebilirsiniz.
  • 14-03-2024, 00:45:14
    #5
    Sinyor_Ridak adlı üyeden alıntı: mesajı görüntüle
    Selamlar.

    <?php
    
    $kelime = '';
    $filtreler = '';
    
    
    if (isset($_POST['aramayap'])) {
      $post = $_POST['aramayap'];
    
    
      if (isset($_POST['klm']) && !empty($_POST['klm'])) {
        $kelime = $_POST['klm'];
      }
    
    
      if (isset($_POST['status']) && !empty($_POST['status'])) {
        $filtreler .= ' AND edrm="'.$_POST['status'].'" ';
      }
      if (isset($_POST['rctgory']) && !empty($_POST['rctgory'])) {
        $filtreler .= ' AND emkat="'.$_POST['rctgory'].'" ';
      }
    
    
      $_SESSION['aramayap'] = $post;
      $_SESSION['kelime'] = $kelime;
      $_SESSION['filtreler'] = $filtreler;
    }
    
    
    $sorguKelime = "SELECT * FROM siteilanlar WHERE aktif=? AND (baslik LIKE '%$kelime%' OR ilano='$kelime')";
    $sorguFiltreli = $sorguKelime . $filtreler;
    
    
    if (empty($kelime)) {
      $getir = $db->prepare($sorguFiltreli);
      $getir->execute(array("1"));
    } else {
      $getir = $db->prepare($sorguKelime);
      $getir->execute(array("1"));
    }
    
    
    while ($ilan = $getir->fetch(PDO::FETCH_ASSOC)) {
      // ... ilan bilgilerini gösteren kodlar ...
    }
    
    ?>
    klm sorgu esnasında sizin kodda filtreye göre sınırlandırıyor, and operatörüyle biraz daha tüm koşullara bağladım.
    Kodu deneyebilirsiniz.
    Merhaba Hocam
    bu kısım geliyor
    if (isset($_POST['klm']) && !empty($_POST['klm'])) { $kelime = $_POST['klm']; }

    bunlar gelmiyor Hocam
    if (isset($_POST['status']) && !empty($_POST['status'])) {
    $filtreler .= ' AND edrm="'.$_POST['status'].'" ';
    }
    if (isset($_POST['rctgory']) && !empty($_POST['rctgory'])) {
    $filtreler .= ' AND emkat="'.$_POST['rctgory'].'" ';
    }