Я искал в Интернете несколько часов, но до сих пор не могу понять.
Итак, я сейчас прошу вас, ребята:
Хорошо, у меня есть веб-сайт и сервер MS SQL (loalhost), и я хочу, чтобы эта функция работала:
Во-первых: я запускаю запрос, чтобы распечатать всех клиентов в моей базе данных (в таблице): `
$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) );
}
Затем я печатаю результат в таблице:
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]» позже в коде .. не знаю, является ли это необходимым, но ..
Во-вторых:
Теперь я хочу, чтобы по этим строкам можно было кликать, поэтому, если вы щелкнете по клиенту из таблицы, вы запустите новый запрос:
$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, что и тот, на который я нажал.
Я понял, что мне нужно использовать сом AJAX, но я просто не могу заставить его работать … Есть ли здесь кто-то, кто может мне помочь? Мне действительно нужно это работать!
Спасибо 🙂
Установить функцию 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>";
?>
Я ставлю пошаговые инструкции, чтобы вы могли следовать следующим образом: