v2.5.2
Giriş yap

Veritabanı ile siteye veri gönderme (arama ile)

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

Merhabalar, nasılsınız ?

Arama yapıldığında (search?q= tarzında) veritabına girdiğim bilgiler o kelime ile eşleştiğinde sitemde çıksın istiyorum.
Peki nasıl ?

Google örneği :

Google gibi türkiye yazıldığında ben; (sadece örnek anlatmak istedim benzer)
1- sadece veritabanı tabloya resim linki ile yazdığımda gözükecek.
2- tabloya yazı yazdığımda gözükecek yazı
3- ve son olarak yazdığım tablodaki başlık.

Bunu nasıl yapabilirim. Yazılıma yeni giriyorum. Arama ile nasıl yapılacağını gerçekten bilmiyorum.

Şu an böyle tablo oluşturdum ancak ne gibi fikrim var veya yapacak bilmiyorum :(

Böyle kaldı ;

Değerli yardımlarınızı bekliyorum efendim.

istek61
434 gün önce

bu database.php olsun

<?php

$username = "root";  // VERİ TABANI KULLANICI ADINIZ
$pass = "12345678";  // VERİ TABANI ŞİFRENİZ
$database = "yazarlar";  // HANGİ DATABASE YE BAĞLANMAK İSTİYORSANIZ ONUN ADI

try{
    $db = new PDO("mysql:hosst=localhost; dbname=$database;",$username,$pass);
}catch (PDOException $e){
    echo $e->getMessage();
};

Bu da bahsettigim ajax ile php üzerinden sorgu alabilen index.php dosyan olsun

<!doctype html>
<html lang="tr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <!-- BOOTSTRAP -->
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"
          integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">

    <title>Arama Motoru </title>
</head>
<body>

<div class="container mt-5">
    <div class="row">
        <div class="col-md-12 alert alert-primary text-center">
            Yazar Bulma Platformu
        </div>
    </div>

    <div class="row">
        <div class="form-group">
            <div class="col-md-12">
                <label for="">Yazar Adı veya Soyadı Giriniz</label>
                <input type="text" class="form-control yazar">
            </div>
        </div>
    </div>

    <!-- YAZARLAR BURADA LİSTELENECEK -->
    <div class="row mt-3">
        <table class="table">
            <thead>
            <tr>
                <th scope="col">#</th>
                <th scope="col">Yazar Adı</th>
                <th scope="col">Yazar Soyadı</th>
            </tr>
            </thead>
            <tbody id="yazarListele">
            </tbody>
        </table>
    </div>
</div>

<!-- JQUERY -->
<script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk="
        crossorigin="anonymous"></script>
<script>
    $(".yazar").keyup(function () {
        var kelime = $(this).val();
        if (kelime == ""){
            document.getElementById("yazarListele").innerHTML = "";
        }else{
            $.ajax({
                url: "islem.php",
                type: "POST",
                data: {
                    kelime: kelime
                },
                success: function (e) {
                    var data = JSON.parse(e);
                    var element = "";
                    document.getElementById("yazarListele").innerHTML = "";
                    data.forEach(function (item) {
                        element += "<tr>";
                        element += "<td>" + item.yazarno + "</td>";
                        element += "<td>" + item.yazarad + "</td>";
                        element += "<td>" + item.yazarsoyad + "</td>";
                        element += "</tr>";
                    });

                    document.getElementById("yazarListele").innerHTML = element;
                }
            });
        }
    });
</script>
</body>
</html>

buda bilgicek.php dosyan olsun

<?php

require_once 'database.php';

if (isset($_POST['kelime'])){
    $data = $_POST['kelime'];

    $yazarlar = $db->prepare("SELECT * FROM yazar WHERE yazarad LIKE :kelime OR yazarsoyad LIKE :kelime ");
    $yazarlar->execute(array(
         ":kelime" => '%'.$data.'%'
     ));
    $yazar_cek = $yazarlar->fetchAll(PDO::FETCH_ASSOC);

    echo json_encode($yazar_cek);
}

?>

şimdi sen bu bilgiler eşliğinde önce kendi database ine göre bunu uyarla basit birkaç veriyi süz.
ondan sonra diğer verileri nasıl kullanman gerektiğini anlayacaksın.