从索引页面运行mysql查询

时间:2018-04-10 20:30:58

标签: php html mysql

我的localhost上有一个index.php,我想在这里放几个按钮来运行不同的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按钮执行此操作?这是最适合这项任务的方式吗?注意:我只在本地发布。感谢。

2 个答案:

答案 0 :(得分:0)

我找到了问题的ajax解决方案。它不是很整洁,但很有效。我愿意接受任何更短的方式来完成这项任务,如果你分享,我将不胜感激。谢谢。以下是解决方案的来源:http://javascript-coder.com/tutorials/re-introduction-to-ajax.phtml

因此,对于每个按钮,需要使用相应的Id重复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>

答案 1 :(得分:-1)

根据您想要做什么,您还可以使用查询字符串来打开/关闭您希望用户查看的查询/数据。只需在onclick事件中设置参数,您就可以根据需要轻松地将查询字符串添加到按钮中的URL:

<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 
   // 
}