比在同一页面上使用两种表单更好的执行SQL查询的方法

时间:2019-03-11 14:21:34

标签: php sql

我的用户有一些书。

书籍分为不同的类别,并且在主要类别内有子类别。

我希望用户可以看到所选主要类别的书籍的显示,此刻通过使用简单的操作表单即可正常工作。 但是,我希望用户在选择主类别后也能够访问子类别。

我无法访问该子类别,因为如果我为该子类别创建了第二个动作表单,由于所有这些动作都必须在同一页面上查看,因此第二个动作表单会干扰第一个动作表单。

这是我的操作表单的摘录

while($row = mysqli_fetch_array($resultcats)) {
    $jada = $row['category'];

    while($row = mysqli_fetch_array($resultfag)) {

        echo '<div class="categories">';

        echo ' <button class="fagbutton" name="fag-submitted" value="'.$row['name'].'"'.$row['name'].'>'.$row['name'].'</button><br>';
        echo '</div>';
    }

?>


</form>

然后,我使用类似的方法为我的sql搜索查询获取变量,以在单击的类别下显示特定的书。

if(isset($_POST['fag-submitted'])) {
    $fag = $_POST["fag-submitted"];

我没有我尝试过的第二个行动表格的代码,由于无法使用我的第二个行动表格的代码,因为所有代码都在同一页面上,因此它干扰了我的第一个行动表格,因此我最终删除了它。但是到目前为止,我所做的正是这样。子类别的第二个操作表单。

总结一下;

我的用户单击一个主类别-使用显示的操作表单可以很好地工作。 然后,我的用户可以选择一个子类别。这是行不通的。我无法使它与操作表单一起使用,因为我已经在页面上使用了一个用于主类别的操作表单。 所有这些都必须在同一页面上完成。

1 个答案:

答案 0 :(得分:0)

我发现该解决方案正在使用AJAX。

对于我的特定问题,这是我想出的解决问题的代码:

<script type="text/javascript">
  $(document).ready(function() {
    $('#categories .catbutton').each(function() {
      $(this).click(function(){
var category = $("#catbutton").val();
$.ajax({
  type: "POST",
  url: "demo.php",
  data: category,
  cache: false,
  success: function(result){
$("#display").html(result);
}
});

return false;

});
});
});