我在HTML Bootstrap中有4个按钮,在PHP中有一个函数(带参数的函数)。我需要的是:
如果用户单击该按钮,它会在PHP中向函数发送特殊参数。我不知道是不是错了,但我认为这可以用Ajax ...
我的代码HTML:
<button class="btn btn-success btn-sm" id="btn1">b1</button>
<button class="btn btn-primary btn-sm" id="btn2">b2</button>
<button class="btn btn-warning btn-sm" id="btn3">b3</button>
<button class="btn btn-danger btn-sm" id="btn4">b4</button>
我的PHP功能:
function get_request_to_table($status) {
include 'db.php';
if($status == "ARGUMENT1") {
$sql="SELECT * FROM myTable WHERE user='".$_SESSION['valid_user']."' ORDER BY id DESC";
$result=mysqli_query($conn,$sql);
}
if($status == "ARGUMENT2") {
$sql="SELECT * FROM myTable WHERE user='".$_SESSION['valid_user']."' ORDER BY id DESC";
$result=mysqli_query($conn,$sql);
}
而且我真的不想用HTML格式制作它......
答案 0 :(得分:2)
首先在每个按钮上设置数据属性。例如
<button data-myAttr="ARGUMENT1" class="btn btn-success btn-sm" id="btn1">b1</button>
接下来在脚本中通过Arg1 = $("#btn1").attr('data-myAttr');
获取data-myAttr并将其传递给您的php函数。
$.ajax({
type: "POST",
url: "PHP_PATH",
data: {status: Arg1 },
success: function () {} });
并通过PHP函数中的$ _POST ['status']获取它。
答案 1 :(得分:0)
你的逻辑有点令人困惑。您知道php
将在 JavaScript
之前执行,对吗?您是否计划预先运行所有sql
选择语句?
如果您仍在使用Ajax
,也可以创建生成php
个原始{1}}片段的html
个网页,并使用Ajax
来获取结果。
datagenerator.php
<?php
$query ="SELECT * FROM myTable WHERE user='".$_SESSION['valid_user']."' ORDER BY id DESC";
$result = conn($query);
if (($result)||(mysql_errno == 0))
{
echo "<table width='100%'><tr>";
if (mysql_num_rows($result)>0)
{
//loop thru the field names to print the correct headers
$i = 0;
while ($i < mysql_num_fields($result))
{
echo "<th>". mysql_field_name($result, $i) . "</th>";
$i++;
}
echo "</tr>";
//display the data
while ($rows = mysql_fetch_array($result,MYSQL_ASSOC))
{
echo "<tr>";
foreach ($rows as $data)
{
echo "<td align='center'>". $data . "</td>";
}
}
}else{
echo "<tr><td colspan='" . ($i+1) . "'>No Results found!</td></tr>";
}
echo "</table>";
}else{
echo "Error in running query :". mysql_error();
}
?>
Ajax Call
$.post( "datagenerator.php", { status: "ARGUMENT1" })
.done(function( data ) {
$('#yourContainer').html(data);
});
答案 2 :(得分:0)
致电
<button class="btn btn-success btn-sm" onclick="sendStatus('success')" id="btn1">b1</button>
<button class="btn btn-primary btn-sm" onclick="sendStatus('primary')" id="btn2">b2</button>
<button class="btn btn-warning btn-sm" onclick="sendStatus('warning')" id="btn3">b3</button>
<button class="btn btn-danger btn-sm" onclick="sendStatus('danger')" id="btn4">b4</button>
使用JQuery,您可以使用ajax函数
function sendStatus(status) {
$.ajax({
method: "POST",
url: "yourphpfile.php",
data: { status: status }
}).done(function( msg ) {
alert("Data Saved:" + msg );
});
}
现在你可以在你的php文件中使用$ _POST [&#34; status&#34;]。