v2.5.2
Giriş yap

iki farklı tabloyu birleştirip search işlemi yapma

hqkqn
350 defa görüntülendi

pdo ile iki farklı tabloyu birleştirip
search inputa girilen değeri
arama işlemi yapma hakkında yardım lütfen.

Cevap yaz
Cevaplar (4)
h4ckdr0
739 gün önce
<?php

/* 
PDO ile veritabanı bağlantısını kur
'users' tablosundaki 'id' değeriyle ve 'posts' tablosundaki 'user_id' değeri eşleşen verileri çek
search inputa girilen değeri ilişkili tabloların 'name' ve 'title' alanlarına göre ara
*/

// Veritabanı bağlantısı
try {
    $db = new PDO("mysql:host=localhost;dbname=database;charset=utf8", "root", "");
} catch ( PDOException $e ){
    print $e->getMessage();
}

// search inputa girilen değeri al
$search = $_GET['search'];

// Verileri çek
$statement = $db->prepare("SELECT * FROM users LEFT JOIN posts ON users.id = posts.user_id WHERE users.name LIKE ? OR posts.title LIKE ?");
$statement->execute(["%$search%", "%$search%"]);
$results = $statement->fetchAll(PDO::FETCH_ASSOC);

// Verileri ekrana yazdır
foreach ($results as $result) {
    echo $result['name'] . ' - ' . $result['title'] . '<br>';
}

Ornek olarak boyle bir sey ariyorsunuz anladigim kadariyla

hqkqn
733 gün önce

teşekkürler h4ckdr0
demekki okunup geçilecek bir soru değilmiş..

abdullahx
749 gün önce

Yeterli veri sağlamamışsınız, tabloların sütunları nedir hangilerinde arama yapılacak vs. Sorunuz bu haliyle sadece okunup geçilecek bir soru

holdfast
749 gün önce

SQL Join ve Like nedir öğrenin. İyi günler.