猿问

使用php中的触发器执行查询而不重新加载页面

我有这样的数据


This is the data in the table :

id | parent_id | name   |

---+-----------+--------|

  1|       NULL|    ROOT|

  2|          1| Item 1 |

  3|          1| Item 2 |

  4|          1| Item 3 |

  5|          1| Item 4 |

  6|          2| Item 5 |

  7|          2| Item 6 |

  8|          3| Item 7 |

然后我的sql语句是这样的


$conn = new mysqli('localhost', 'root', '', 'my_db');

$id = 1;

$result = $conn->query("SELECT a.id, a.parent_id, a.name FROM table_name a where a.parent_id = $id");


如果我执行,数据将显示如下


id | parent_id | name   |

---+-----------+--------|

  2|          1| Item 1 |

  3|          1| Item 2 |

  4|          1| Item 3 |

  5|          1| Item 4 |

然后,我将数据显示为按钮标签为“data['name']”的按钮


<?php

foreach($result as $row) { ?>

    <button type="button" class="btn btn-sm" onclick="showID('<?= $row['id'] ?>')">

        <?= $row['name'] ?>

    </button>

<?php

    } 

?>

怎么可能,如果我单击特定数据,那么数据将根据我单击的数据进行更改。


也就是说,如果我单击特定数据,变量 $id 将根据我单击的数据的 id 而改变,就像一棵树。


例如,根据查询,显示的数据是

Item 1

Item 2

Item 3

Item 4

因为它们有 parent_id = 1

然后如果我单击或选择“Item 2”,显示的数据应该是

Item 5

Item 6

因为它们有parent_id 是 = 2 基于其父母的 id。


如何在不重新加载页面的情况下做到这一点?谢谢


catspeake
浏览 111回答 1
1回答

慕慕森

在您的 javascript 文件中,您可以通过 ajax 完成此操作。function showID(id){&nbsp; &nbsp;$.ajax({&nbsp; &nbsp; &nbsp;type: 'POST',&nbsp; &nbsp; &nbsp; &nbsp; url: 'function.php',&nbsp; &nbsp; &nbsp; &nbsp; data: {'id' : id},&nbsp; &nbsp; &nbsp; &nbsp; success: function (result) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $('#tblbody').html(result);&nbsp; &nbsp; &nbsp; &nbsp; }})}并且您必须返回具有给定结果的 HTML。“#tblbody”是你的 tbody id
随时随地看视频慕课网APP
我要回答