Hi Team
I am experience small issue when performing search, on php script i get undefined variable searchTerm' line 19. How do i solve this issue? Also how do make users when seeing retrieve data to use search.php page as new page? The current page its affecting design/.
// jquery file
$(document).ready(function() {
$('#search-form').submit(function(event) {
event.preventDefault(); // Prevent the form from submitting normally
var searchQuery = $('#search-input').val(); // Get the user's search query
$.ajax({
url: 'search.php', // The PHP script that will handle the search
type: 'POST',
data: {
data: 'search=' + searchQuery,
},
success: function(response) {
// Display the search results on the page
$('#search-results').html(response);
},
error: function() {
alert('An error occurred while searching. Please try again later.');
}
});
});
});
// php file
<?php
// Connect to the database
require_once('dbconn.php');
// Get the search term from the form
if (isset($_POST['search'])) {
$searchTerm = $_POST['search'];
// rest of your code that uses $searchTerm variable goes here
} else {
// handle the case where the $_GET['search'] variable is not set
}
// Prepare the query
$stmt = $pdo->prepare("SELECT * FROM products WHERE product_name LIKE :searchTerm");
// Bind the search term to the query
$stmt->bindValue(':searchTerm', '%'.$searchTerm.'%', PDO::PARAM_STR);
// Execute the query
$stmt->execute();
// Fetch the results
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<?php if (!empty($results)): ?>
<div class="container">
<h2>Search Results</h2>
<table class="table table-striped">
<thead>
<tr>
<th>Product Name</th>
<th>Description</th>
<th>Quantity</th>
<th>Price</th>
<th>Discount</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<?php foreach ($results as $result): ?>
<tr>
<td><?php echo $result['product_name']; ?></td>
<td><?php echo $result['product_desc']; ?></td>
<td><?php echo $result['quantity']; ?></td>
<td><?php echo $result['unit_price']; ?></td>
<td><?php echo $result['discount']; ?></td>
<td><?php echo $result['total']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<?php else: ?>
<p>No results found.</p>
<?php endif; ?>