Merhaba! Kodunuzda birkaç sorun gözüküyor. İlk olarak, sorgunuzu yazarken "where b=:b" şeklinde bir şey yazmışsınız. Ancak bu sorgu, "b" sütunundaki tam olarak belirtilen değeri döndürecektir. Yani, bu sorgu, "total_head" değişkeninin değeriyle tam olarak eşleşen satırları getirmeyecektir. Sorgunuzu "where b between: Min_head and: Max_head" şeklinde değiştirmeniz gerekiyor.
İkinci olarak, "total_head" değişkeninin değeri 30 ise, sorgunuz "25 < b < 35" gibi bir şey yapmaz. Bu nedenle, "min_head" ve "max_head" değişkenlerini tanımlamanız ve bunları kullanarak sorgunuzu oluşturmanız gerekiyor.
Ayrıca, kodunuzda bir form gönderme işlemi var, ancak formun gönderildiğinden emin olmalısınız. Ayrıca, pdo sorgularını kullanırken hataları yakalamak için try-catch bloklarını kullanmanız önerilir.
Aşağıda düzeltilmiş bir kod örneği bulabilirsiniz:
<?PHP
İf(isset($_post['start'])){
$Total_head = $_post['total_head'];
$Min_head = $total_head - 5;
$Max_head = $total_head + 5;
Try {
$Bilgilerimsor = $db->prepare("select * from demo where b between: Min_head and: Max_head");
$Bilgilerimsor->execute(array(
':Min_head' => $min_head,
':Max_head' => $max_head
));
Echo "<table>";
While($bilgilerimcek = $bilgilerimsor->fetch(pdo: Fetch_assoc)) {
Echo "<tr>";
Echo "<td>". $bilgilerimcek['column1']. "</td>";
Echo "<td>". $bilgilerimcek['column2']. "</td>";
// Burada sütunlarınızın adlarını yazmanız gerekiyor.
Echo "</tr>";
}
Echo "</table>";
} Catch(pdoexception $e) {
Echo "sorgu hatası: ". $e->getMessage();
}
}
>
Bu örnekte, "demo" tablosunda "column1" ve "column2" adında iki sütun olduğunu varsayıyorum. Sütun adlarını kendi veritabanınızdaki sütun adlarıyla değiştirmeniz gerekiyor.
ChatGPT cevabı bu. Umarım yardımcı olur.