داخل این فایل ما میایم به دیتابیسمون متصل میشیم و عبارتی که کاربر جست و جو کرده و توسط ایجکس به این فایل رسیده رو داخل جدول مربوط به لیست موبایلها سرچ میکنیم که اگر عبارت شبیهش وجود داشت نتیجه رو برگردونه و در فایل html ما نمایش داده بشه و اومدیم توسط یک حلقه یک نتیجه بصورت html برگردوندیم که ظاهر بهتری داشته باشه.
دقت کنید که پروژه رو روی لوکال هاست اجرا کنید و در پوشه htdocs استفاده بشه چون درخواست ایجکس باید ارسال بشه و به خطای دسترسی نخورید.
<?php
// اتصال به دیتابیس و جستجو
$servername = "نام_سرور";
$username = "نام_کاربری";
$password = "رمز_عبور";
$dbname = "نام_دیتابیس";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("اتصال به دیتابیس ناموفق بود: " . $conn->connect_error);
}
$searchTerm = $_POST['searchTerm'];
// اجرای کوئری جستجو
$sql = "SELECT * FROM mobiles WHERE mobile_name LIKE '%$searchTerm%'";
$result = $conn->query($sql);
// نمایش نتایج
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<p>" . $row['mobile_name'] . "</p>";
}
} else {
echo "موبایلی یافت نشد.";
}
$conn->close();
?>
احمدرضا فاطمی کیا۰۷ دی ۱۴۰۲، ۱۹:۲۶
سلام شرمنده شما کدهای فرم جستجو برام فرستادین من اونا رو کپی کردم گفتم خروجی کار چطور میشه من فقط دیتابیسها رو ست کردم ولی برای من خطا داد
ممنون میشم بگین کجا مشکل دارم اونارو اصلاح کنم .
حامد زالوند۰۸ دی ۱۴۰۲، ۱۰:۱۴
سلام شرمنده شما کدهای فرم جستجو برام فرستادین من اونا رو کپی کردم گفتم خروجی کار چطور میشه من فقط دیتابیسها رو ست کردم ولی برای من خطا داد
ممنون میشم بگین کجا مشکل دارم اونارو اصلاح کنم .
حامد زالوند۰۸ دی ۱۴۰۲، ۱۰:۱۴
حامد زالوند۰۸ دی ۱۴۰۲، ۱۰:۱۵
متوجه نشدم
به چه خطایی میخورید؟
دیتابیس و جدول رو ساختید؟
از کدتون هم اسکرین بدید.
احمدرضا فاطمی کیا۰۸ دی ۱۴۰۲، ۱۱:۴۰
شرمنده تو این جلسه آقای آوند دیتابیس ایران ساخته بود اونو استفاده کردم اگه ببینی ست کردم . ولی اونجا اجرای کوئری هست باید اونو چطوری قرار بدم .
کدی که شما دادین کپی کردم فقط دیتابیس ست کردم . ولی اسم شهر مینویسم مینویسه شهری یافت نشد .
<?php
$conn = new mysqli("localhost", "root", "","iran");
if ($conn->connect_error) {
die("اتصال به دیتابیس ناموفق بود: " . $conn->connect_error);
}
$searchTerm = $_POST['searchTerm'];
// اجرای کوئری جستجو
$sql = "SELECT * FROM province WHERE '' LIKE '%$searchTerm%'";
$result = $conn->query($sql);
// نمایش نتایج
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<p>" . $row[''] . "</p>";
}
} else {
echo ";شهری یافت نشد.";
}
$conn->close();
?>
حامد زالوند۰۸ دی ۱۴۰۲، ۱۵:۴۸
کوئری sql اشتباه نوشتید و فیلدی که باید توش سرچ بشه نزدید:
مقدار name رو با فیلدی که نام استانها هست در دیتابیستون تغییر بدید.
SELECT * FROM province WHERE name LIKE '%$searchTerm%'";