با سلام و احترام . من تمرین رو حل کردم اما چند تا مشکل کوچولو داره .
اول اینکه برای پیدا کردن تبریز حرف ت رو بزنم پیدا میکنه حرف ب رو هم بزنم بعدش پیدا میکنه تبر هم بزنم پیدا میکنه اما به محض اینکه میزنم تبری پیدا نمی کنه ؟ یه چی دیگم هست اگر همونی که پیدا میکنه رو کپی کنم و بزنم تبریز رو پیدا میکنه . برای کندوان هم همه شهرها بغیر از کندوان رو میاره ؟
دوم اینکه حالتی که پیش فرض صفحه فرم رو تنظیم میکنی که به صفحه بعدی نره اگر اینتر بزنم بعد از اینکه پیدا کرد میره به صفحه ای که فرم داره بهش اشاره میکنه (اصل تمرین مشکلی نداره و به محض اینکه تایپ کنم میاره اتومات زیر اینپوت سرچ)
<?php
sleep(1);
$city = $_POST["city"];
list($host, $database, $user, $pass) = ["localhost", "test", "root", ""];
try {
//connect
$db = new PDO("mysql:host=$host;dbname=$database;charset=utf8mb4", $user, $pass);
//Convert errors to EXCEPTION
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//echo "Successfully connected ." . PHP_EOL;
} catch (PDOException $e) {
echo "PDO Error : Faile to connect : " . $e->getMessage();
exit();
}
$sql = "SELECT * FROM `city` WHERE name LIKE '%$city%'";
$stmt = $db->prepare($sql);
$stmt->execute();
if (!empty($city)) {
while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "<pre>";
echo $result["name"];
echo "</pre>";
}
}
<script>
$(document).ready(function() {
var form = $('#cityForm');
var input = $('#city');
var resultTag = $('#ajax-result');
input.on("keyup", function(event) {
resultTag.html('<img src="1474.gif">');
event.preventDefault();
$.ajax({
url: form.attr('action'),
method: form.attr('method'),
data: form.serialize(),
success: function(response) {
resultTag.html(response);
}
});
});
});
</script>
</head>
<body style="text-align: center; direction:rtl;">
<div class="container">
<div class="row">
<div class="col">
</div>
<div class="col">
<form action="connect.php" method="post" id="cityForm">
<label for="fname">نام شهر:</label><br>
<div class="uk-margin">
<div class="uk-inline">
<span class="uk-form-icon uk-form-icon-flip" uk-icon="icon: search"></span>
<input class="uk-textarea uk-input" type="search" id="city" name="city"><br>
</div>
</div>
<div id="ajax-result"></div>
</form>
</div>
<div class="col">
</div>
</div>
</div>