$sql = "SELECT `ID`,`SaveName`, `CourseNumber`, `FormType`, `POSTString`, `DateModified` FROM `SavedFormsTable` WHERE 1";
$result = mysqli_query($con,$sql);
echo "<table border='1'>
<tr>
<th>Save File Name</th>
<th>Course Number</th>
<th>Date Modified</th>
<th>Load Old Form</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['SaveName'] . "</td>";
echo "<td>" . $row['CourseNumber'] . "</td>";
echo "<td>" . $row['DateModified'] . "</td>";
echo '<td><button type="button" onclick="LoadFormJS('.$row['ID'].');">Load Form!</button>';
echo "</tr>";
}
echo "</table>";
我的问题是从底部的第4行。在HTML <button>
我正在尝试创建一个按钮在HTML表格中,单击该按钮将调用PHP函数。但我必须回显HTML才能从mySQL数据库创建表。
我需要调用的PHP函数:
function LoadFormPHP($ID){
$con=mysqli_connect("","User636626","EasyPassword","pansyc5_SavedForms");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = sprintf("SELECT `POSTString` FROM `SavedFormsTable` WHERE `ID`=%d",$ID);
$result = mysqli_query($con,$sql);
$row = mysqli_fetch_array($result);
//mysql_close($con);
$_POST = unserialize(base64_decode($row["POSTString"]));
}
JS函数我尝试(并且失败)从以下函数调用PHP函数:
<script>
function LoadFormJS(ID){
alert(ID);
<?php LoadFormPHP(ID) ?>
}
</script>
答案 0 :(得分:1)
您只有一些语法问题 -
echo '<td><button type="button" onclick="LoadForm(' .$row['ID'] .')">Load Form!</button>';
调用PHP函数可以做的是用一个隐藏输入的表单来包围你的按钮,以保存$ row ['ID']的值。单击该按钮将在该点加载正确的表单,您可以放弃内联JS以支持表单操作。
答案 1 :(得分:1)
你不能将html(客户端)和php(服务器端)混合在一起。对于这种情况,AJAX是一个很好的工具。 onclick可以包含对javascript函数的请求,该函数将请求发送回您的服务器,并返回所需的HTML。