У меня есть index.php на моем localhost, и я бы хотел поместить несколько кнопок для запуска различных запросов sql здесь. Запросы будут такими:
<table class="table1">
<tr>
<th>Date</th>
<th>Model</th>
<th>Type</th>
<th>InProduction</th>
<th>Price</th>
<th>Range</th>
<th>MaxSpeed</th>
<th>HP</th>
<th>Country</th>
<th>EType</th>
<th>Make</th>
<th>MPG</th>
<th>Seats</th>
</tr>
<?php
include ("config.php");
$sql = "SELECT Date, Model, Type, InProduction, Price, Range, MaxSpeed, HP, Country, EType, Make, MPG, Seats FROM Auto order by Date DESC";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$counter = 0;
while($row = $result->fetch_assoc())
{
echo "<tr><td>" . $row["Date"]."</td><td>" . $row["Model"] . "</td><td>"
. $row["Type"]. "</td><td>". $row["InProduction"]. "</td><td>". $row["Price"]. "</td><td>".$row["Range"]. "</td><td>". $row["MaxSpeed"].
"</td><td>". $row["HP"]."</td><td>". $row["Country"]."</td><td>". $row["Etype"]."</td><td>". $row["Make"]. "</td><td>". $row["MPG"].
"</td><td>". $row["Seats"]."</td></tr>";
$counter++;
if($counter % 33 == 0) { ?>
</table>
<table class="table1">
<tr>
<th>Date</th>
<th>Model</th>
<th>Type</th>
<th>InProduction</th>
<th>Price</th>
<th>Range</th>
<th>MaxSpeed</th>
<th>HP</th>
<th>Country</th>
<th>EType</th>
<th>Make</th>
<th>MPG</th>
<th>Seats</th>
</tr>
<?php }
}
echo "</table>";
} else { echo "0 results"; }
$conn->close();
?>
</table>
Здесь я включил все параметры, которые будут отображаться на странице. Вместо этого я хотел бы использовать различные параметры в каждом запросе. Таким образом, с каждым нажатием кнопки, я буду видеть различные параметры, перечисленные как таблица на индексной странице. Поэтому я планирую создать несколько php файлов, чтобы перечислять различные параметры, и запускать их одним нажатием кнопки на index.php. Как я могу сделать это с помощью кнопки onclick? и является ли это наиболее подходящим способом для этой задачи? Примечание. Я опубликую это только локально. Благодарю.
Я нашел решение ajax проблемы. Это не очень аккуратно и коротко, но оно работает. Я открыт для любого более короткого пути для достижения этой задачи, я был бы признателен, если вы поделитесь. Благодарю. Вот источник решения: http://javascript-coder.com/tutorials/re-introduction-to-ajax.phtml
Поэтому для каждой кнопки код ajax необходимо повторить с соответствующими идентификаторами.
HTML:
<div id="querydiv"> </div>
<button id='actbutton1'>query1</button>
AJAX:
<script>
document.getElementById('actbutton1').onclick=function()
{
var xhr = new XMLHttpRequest();
xhr.open("GET", "query1.php", true);
xhr.onreadystatechange = function ()
{
if (xhr.readyState==4 && xhr.status==200)
{
document.getElementById("querydiv").innerHTML=xhr.responseText;
}
}
xhr.send();
}
</script>
В зависимости от того, что именно вы хотите сделать, вы также можете просто использовать строку запроса для включения/выключения того, какие запросы/данные вы хотите видеть. Вы можете легко добавить строку запроса к URL-адресу кнопкой, как хотите, просто установив параметр в событие onclick:
<button onclick="location.url = '/mypage.php?show=firstdata';">Button1</button>
Переключатель запросов в PHP может выглядеть следующим образом:
if($_GET['show'] == "firstdata") {
//
// the first type query here
//
}elseif($_GET['show'] == "seconddata") {
//
// the second type query here
//
}