gpt4 book ai didi

javascript - 使用 AJAX 在 PHP 页面上动态显示 SQL 查询

转载 作者:行者123 更新时间:2023-11-29 02:57:07 25 4
gpt4 key购买 nike

基本上,我想在点击某个元素后检索某个产品。我使用 AJAX 传递变量,使用 PHP 显示 SQL 查询。我将在 WHERE 语句中使用产品 ID 来检索和显示正确的产品。

到目前为止,这是我的部分代码:

<html>
<head>
<title>Left Frame</title>
<link href='http://fonts.googleapis.com/css?family=Indie+Flower' rel='stylesheet' type='text/css'>
<link href="stylesheets/main.css" rel="stylesheet" type="text/css">
<script src="javascripts/jquery-1.11.2.js">
</script>
</head>

<body>
<div class="container">

<div id="bottomHalf">
<img id="blank" src="assets/bottom_half.png" style= "z-index: 5" >
<img src="assets/frosen_food.png"
usemap="#Map2"
border="0"
id="frozen"
style="z-index: 0;
visibility:hidden;" >

<map name="Map2">
<area shape="rect" coords="7,95,126,146" alt="Hamburger Patties" href="#" id="hamburgerPatties">

</div>
</div>
<script language="javascript">

$("#hamburgerPatties").click(function(){
var hamburgerPatties = "1002";
$.ajax({
type:"GET",
url: "topRightFrame.php",
data: "variable1=" + encodeURIComponent(hamburgerPatties),
success: function(){
//display something if it succeeds
alert( hamburgerPatties );
}
});
});

</script>
</body>
</html>

我的部分 PHP 代码:

<?php

$product_id =(int)$_GET['variable1'];
$servername = "************";
$username = "************";
$password = "*************";
$dbname = "poti";
$tableName = "products";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM $tableName ";
$result = $conn->query($sql);

// Display all products on the database
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Product ID: " . $row["product_id"]. " - Product Name: " . $row["product_name"]. " Unit Price:" . $row["unit_price"]. "<br>";
}
} else {
echo "0 results";
}

// Display product I clicked on the other frame
if (isset($GET['variable1'])) {

$sql = "SELECT * FROM $tableName WHERE product_id = " . $_GET['variable1'];
$result = $conn->query($sql);

if ($result) {
echo '<table>';

while ($row = $result->fetch_assoc())
{
echo '<tr>';
echo '<td>', "Product ID: " . $row["product_id"]. " - Product Name: " . $row["product_name"]. " Unit Price:" . $row["unit_price"]. "<br>";
echo '</tr>';
}
echo '</table>';
}
}
$conn->close();
?>

我可以展示所有的产品。但是从 ifsset 语句开始,代码就不再有效了。我没有收到任何错误消息或任何信息。我该如何解决这个问题?我是 PHP 的新手。

编辑:好的,当我对产品 ID 进行硬编码时,我设法获得了我想要的产品。现在我需要使用 javascript 获取这个变量。

最佳答案

您的 if 语句中存在语法错误。

当你设置if时,你应该将语句括在大括号中:

代替 if something : 执行 if(something): 然后以 endif; 结束(当使用 冒号 :)

// Display product I clicked on the other frame
if (isset($GET['variable1'])):
$query = "SELECT * FROM $tableName WHERE product_id = " . $_GET['variable1'];
$result = mysqli_query($conn, $query);
if ($result):
echo '<table>';
while ($row = $result->fetch_assoc()) {
echo '<tr>';
echo '<td>', $row['product_id'], '</td>'; // and others
echo '</tr>';
}
echo '</table>';
endif;
endif;

或者,使用 {} 大括号代替冒号 :

// Display product I clicked on the other frame
if (isset($GET['variable1'])){
$query = "SELECT * FROM $tableName WHERE product_id = " . $_GET['variable1'];
$result = mysqli_query($conn, $query);
if ($result){
echo '<table>';
while ($row = $result->fetch_assoc()) {
echo '<tr>';
echo '<td>', $row['product_id'], '</td>'; // and others
echo '</tr>';
}
echo '</table>';
}
}

关于javascript - 使用 AJAX 在 PHP 页面上动态显示 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29586916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com