使 echo 结果可点击并 运行 新查询
Make echo result clickable and run new query
我已经在网上搜索了几个小时,但我仍然无法弄明白。
所以我现在问你们:
好的,我有 ha 网站和一个 MS SQL 服务器,(loalhost),我希望这个功能可以工作:
首先:我 运行 查询打印出我数据库中的所有客户(在 table 中):`
$searchq = $_POST['search'];
$resultArray = array();
$sql = "SELECT * FROM Costumers WHERE firstname LIKE '%".$searchq."%' ";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt == false){
die( print_r(sqlsrv_errors(), tue) );
}
然后我将结果打印在 table:
echo "<table border='1'>";
echo "<tr><th>CustomerID</th><th>Firstname</th><th>Lastname</th><th>Tlf</th><th>Email</th><th>Productnr</th><th>Address</th></tr>";
while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_BOTH))
{
$resultArray[] = $row;
echo "<tr>";
echo "<td>" . $row[0] . "</td>";
echo "<td>" . $row[1] . "</td>";
echo "<td>" . $row[2] . "</td>";
echo "<td>" . $row[3] . "</td>";
echo "<td>" . $row[4] . "</td>";
echo "<td>" . $row[5] . "</td>";
echo "<td>" . $row[6] . "</td>";
echo "</tr>";
}
echo "</table>";
我制作了一个数组列表,这样我就可以在后面的代码中使用变量 "row[x]".. 不知道这是否必要但是..
第二:
我现在希望这些行可以点击,所以如果你点击 table 中的客户,你现在将 运行 一个新查询:
$sql = "SELECT * FROM Products WHERE Costumers = '".$resultArray[0]['']."' ";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt == false){
die( print_r(sqlsrv_errors(), tue) );
}
echo "<table border='1'>";
echo "<tr><th>CustomerID</th><th>Firstname</th><th>Lastname</th><th>Tlf</th><th>Email</th><th>Productnr</th><th>Address</th></tr>";
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) )
{
echo "<tr>";
echo "<td>" . $row[0] . "</td>";
echo "<td>" . $row[1] . "</td>";
echo "<td>" . $row[2] . "</td>";
echo "<td>" . $row[3] . "</td>";
echo "</tr>";
}
echo "</table>";
它现在应该打印出所有包含与我单击的相同 CosuterID 的产品。
我发现我需要使用 som AJAX,但我无法让它工作。有人可以帮助我吗?我真的需要这个来工作!
谢谢:)
在td上设置onClick功能
这里还包括最新的 Jquery 文件
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<?php
echo "<table border='1'>";
echo "<tr><th>CustomerID</th><th>Firstname</th><th>Lastname</th><th>Tlf</th><th>Email</th><th>Productnr</th><th>Address</th></tr>";
while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_BOTH))
{
$resultArray[] = $row;
echo "<tr>";
echo "<td onClick='lodaproduct(" . $row[0] . ")'>" . $row[0] . "</td>";
echo "<td>" . $row[1] . "</td>";
echo "<td>" . $row[2] . "</td>";
echo "<td>" . $row[3] . "</td>";
echo "<td>" . $row[4] . "</td>";
echo "<td>" . $row[5] . "</td>";
echo "<td>" . $row[6] . "</td>";
echo "</tr>";
}
//Set another row column to show the out put from ajax.php page
echo "<tr><td id='costumersdata'></td></tr>";
echo "</table>";
?>
<script>
function lodaproduct(Costumers){
$.post("ajax.php?Costumers="+Costumers,
function(data){
$("#costumersdata").html(data);
});
}
</script>
在您的 ajax.php 页面上
<?php
$sql = "SELECT * FROM Products WHERE Costumers = '".$_POST['Costumers']."' ";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt == false){
die( print_r(sqlsrv_errors(), tue) );
}
echo "<table border='1'>";
echo "<tr><th>CustomerID</th><th>Firstname</th><th>Lastname</th><th>Tlf</th><th>Email</th><th>Productnr</th><th>Address</th></tr>";
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) )
{
echo "<tr>";
echo "<td>" . $row[0] . "</td>";
echo "<td>" . $row[1] . "</td>";
echo "<td>" . $row[2] . "</td>";
echo "<td>" . $row[3] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
我正在逐步说明,因此您可以按照以下方式操作:
- 接下来创建一个列,用于调用 AJAX 点击方法。
- 将客户 ID 传递给 AJAX 函数
- AJAX 调用会将客户 ID 发送到指定的控制器
- 控制器/文件将获取客户 ID 和 return JSON 中所需的数据。
- AJAX 函数获取 returned JSON 并相应地填充它。
我已经在网上搜索了几个小时,但我仍然无法弄明白。
所以我现在问你们:
好的,我有 ha 网站和一个 MS SQL 服务器,(loalhost),我希望这个功能可以工作:
首先:我 运行 查询打印出我数据库中的所有客户(在 table 中):`
$searchq = $_POST['search'];
$resultArray = array();
$sql = "SELECT * FROM Costumers WHERE firstname LIKE '%".$searchq."%' ";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt == false){
die( print_r(sqlsrv_errors(), tue) );
}
然后我将结果打印在 table:
echo "<table border='1'>";
echo "<tr><th>CustomerID</th><th>Firstname</th><th>Lastname</th><th>Tlf</th><th>Email</th><th>Productnr</th><th>Address</th></tr>";
while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_BOTH))
{
$resultArray[] = $row;
echo "<tr>";
echo "<td>" . $row[0] . "</td>";
echo "<td>" . $row[1] . "</td>";
echo "<td>" . $row[2] . "</td>";
echo "<td>" . $row[3] . "</td>";
echo "<td>" . $row[4] . "</td>";
echo "<td>" . $row[5] . "</td>";
echo "<td>" . $row[6] . "</td>";
echo "</tr>";
}
echo "</table>";
我制作了一个数组列表,这样我就可以在后面的代码中使用变量 "row[x]".. 不知道这是否必要但是..
第二: 我现在希望这些行可以点击,所以如果你点击 table 中的客户,你现在将 运行 一个新查询:
$sql = "SELECT * FROM Products WHERE Costumers = '".$resultArray[0]['']."' ";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt == false){
die( print_r(sqlsrv_errors(), tue) );
}
echo "<table border='1'>";
echo "<tr><th>CustomerID</th><th>Firstname</th><th>Lastname</th><th>Tlf</th><th>Email</th><th>Productnr</th><th>Address</th></tr>";
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) )
{
echo "<tr>";
echo "<td>" . $row[0] . "</td>";
echo "<td>" . $row[1] . "</td>";
echo "<td>" . $row[2] . "</td>";
echo "<td>" . $row[3] . "</td>";
echo "</tr>";
}
echo "</table>";
它现在应该打印出所有包含与我单击的相同 CosuterID 的产品。
我发现我需要使用 som AJAX,但我无法让它工作。有人可以帮助我吗?我真的需要这个来工作!
谢谢:)
在td上设置onClick功能 这里还包括最新的 Jquery 文件
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<?php
echo "<table border='1'>";
echo "<tr><th>CustomerID</th><th>Firstname</th><th>Lastname</th><th>Tlf</th><th>Email</th><th>Productnr</th><th>Address</th></tr>";
while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_BOTH))
{
$resultArray[] = $row;
echo "<tr>";
echo "<td onClick='lodaproduct(" . $row[0] . ")'>" . $row[0] . "</td>";
echo "<td>" . $row[1] . "</td>";
echo "<td>" . $row[2] . "</td>";
echo "<td>" . $row[3] . "</td>";
echo "<td>" . $row[4] . "</td>";
echo "<td>" . $row[5] . "</td>";
echo "<td>" . $row[6] . "</td>";
echo "</tr>";
}
//Set another row column to show the out put from ajax.php page
echo "<tr><td id='costumersdata'></td></tr>";
echo "</table>";
?>
<script>
function lodaproduct(Costumers){
$.post("ajax.php?Costumers="+Costumers,
function(data){
$("#costumersdata").html(data);
});
}
</script>
在您的 ajax.php 页面上
<?php
$sql = "SELECT * FROM Products WHERE Costumers = '".$_POST['Costumers']."' ";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt == false){
die( print_r(sqlsrv_errors(), tue) );
}
echo "<table border='1'>";
echo "<tr><th>CustomerID</th><th>Firstname</th><th>Lastname</th><th>Tlf</th><th>Email</th><th>Productnr</th><th>Address</th></tr>";
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) )
{
echo "<tr>";
echo "<td>" . $row[0] . "</td>";
echo "<td>" . $row[1] . "</td>";
echo "<td>" . $row[2] . "</td>";
echo "<td>" . $row[3] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
我正在逐步说明,因此您可以按照以下方式操作:
- 接下来创建一个列,用于调用 AJAX 点击方法。
- 将客户 ID 传递给 AJAX 函数
- AJAX 调用会将客户 ID 发送到指定的控制器
- 控制器/文件将获取客户 ID 和 return JSON 中所需的数据。
- AJAX 函数获取 returned JSON 并相应地填充它。