Сделайте эхо-результат кликабельным и выполните новый запрос

Я искал в Интернете несколько часов, но до сих пор не могу понять.

Итак, я сейчас прошу вас, ребята:

Хорошо, у меня есть веб-сайт и сервер 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, но я просто не могу заставить его работать … Есть ли здесь кто-то, кто может мне помочь? Мне действительно нужно это работать!

Спасибо 🙂

0

Решение

Установить функцию 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>";
?>
0

Другие решения

Я ставлю пошаговые инструкции, чтобы вы могли следовать следующим образом:

  1. Затем создайте столбец, который будет использоваться для вызова метода AJAX при нажатии.
  2. Передайте идентификатор клиента этой функции AJAX
  3. AJAX call отправит идентификатор клиента указанному контроллеру
  4. Контроллер / Файл получит идентификатор клиента и вернет необходимые данные в формате JSON.
  5. Функция AJAX получает возвращенный JSON и заполняет его соответствующим образом.
0