v2.5.2
Giriş yap

PHP listeleme işlemi

muzman
577 defa görüntülendi ve 1 kişi tarafından değerlendirildi

MErhaba bir sorunum var ve bilgi eksikliğinden çözemiyorum.
buna benzer bir soru sormustum ama gene yapamadım kusura bakmayın şimdi benim böyle bir kodum var

<section class="property-grid grid">
    <div class="container">
      <div class="row">
        <div class="col-sm-12">
          <div class="grid-option">
            <form>
              <select class="custom-select" id="secim" onchange="getir()">
                <option selected>Tümü</option>
                <option value="1" >Satılık ev</option>
                <option value="2">Kiralık ev</option>
                <option value="3">Satılık arsa</option>
              </select>
              
            </form>
          </div>
        </div>
           <?php $sinif->arsailan(); ?>
        <?php $sinif->evilan(); ?>
    </div>
  </section>

ben bu kodda select box her değiştiğinde
php ile aldıgım ilanları listelemek istiyorum nasıl yapabilirm bunu

coder
1149 gün önce

Tekrar merhaba.
Bir örnek yapmaya çalıştım.

Veritabanı yapımız.

ilan_kategoriler tablosu

kategori_id (int)kategori_baslik (varchar)
1Satılık Ev
2Kiralık Ev
3Satılık Arsa

ilanlar tablosu

ilan_id (int)ilan_kategori_id (int)ilan_baslik (varchar)
11Satılık Ev 1
21Satılık Ev 2
32Kiralık Ev 1
42Kiralık Ev 2
53Satılık Arsa 1
63Satılık Arsa 2

baglan.php

<?php

// DATABASE ADI = ilansitesi

try {
    $db = new PDO("mysql:host=localhost;dbname=ilansitesi;charset=utf8","root","");
} catch (PDOException $e) {
    exit('Bağlantı sağlanamadı!<br>'.$e->getMessage());
}

index.php

<?php include("baglan.php"); ?> <!-- VERİTABANI BAĞLANTI DOSYASI-->

<!doctype html>
<html lang="en">
<head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">

    <!-- JQUERY-->
    <script src="https://code.jquery.com/jquery-3.6.0.js"></script>
    
	<!-- AJAX DOSYAMIZ-->
    <script src="Ajax.js"></script>
    
    <title>İlan Sitesi</title>

</head>
<body>

	<section class="container">
		<div class="row d-flex justify-content-center">
			<div class="col-sm-12">
				<form>
					<?php
					$kategoriBul = $db->prepare("SELECT * FROM ilan_kategoriler");
					$kategoriBul->execute();
					$kategoriler = $kategoriBul->fetchAll(PDO::FETCH_ASSOC);
					?>

					<select class="custom-select" id="ilan-kategori">
						<option selected value="0">Tümü</option>
						<?php foreach ($kategoriler as $kategori): ?>
							<option value="<?php echo $kategori["kategori_id"]; ?>" ><?php echo $kategori["kategori_baslik"]; ?></option>
						<?php endforeach; ?>
					</select>
				</form>
			</div>
		</div>

		<div class="row d-flex justify-content-center mt-4" id="ilanlar"></div>

	</section>

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>

</body>
</html>

Ajax.js

$(document).ready(function(){
    $("#ilanlar").hide();
    $(document).on('change', '#ilan-kategori', function() {
        var ilanKategori_id = $(this).val();

        $.ajax({
            url: "ilanlar.php",
            type: "POST",
            data: {"ilanKategori":ilanKategori_id},
            success: function(result){
                $("#ilanlar").show();
                $("#ilanlar").html(result);
            }
        });

    });
});

ilanlar.php

<?php
include("baglan.php");

if($_POST){
    
    $kategori_id = $_POST["ilanKategori"];

    $sql = "SELECT * FROM ";

    if($kategori_id == 0){
        $sql .= "ilanlar";
    }else{
        $sql .= "ilanlar WHERE ilan_kategori_id = :kategori_id";
    }

    $ilanBul = $db->prepare($sql);
    if($kategori_id == 0){ $ilanBul->execute(); }else{ $ilanBul->execute([":kategori_id" => $kategori_id]); }
    $ilanlar = $ilanBul->fetchAll(PDO::FETCH_ASSOC);

    foreach ($ilanlar as $ilan): ?>

        <div class="col-sm-12 col-md-4 col-lg-3">
            <div class="card box-shadow mb-4">
                <img class="card-img-top img-thumbnail border-white" src="img/resim.jpg" alt="<?php echo $ilan["ilan_baslik"]; ?>">
                <div class="card-body">
                    <h5 class="card-title display-4" style="font-size: 24px"><b><?php echo $ilan["ilan_baslik"]; ?></b></h5>
                    <div class="d-flex justify-content-between align-items-center">
                        <a href="#" class="btn btn-info btn-sm btn-block">İlanı Gör</a>
                    </div>
                </div>
            </div>
        </div>
    
	<?php
	endforeach;
}