标题可能看起来很模糊,抱歉我真的不知道怎么说出我的问题。
我正在尝试在按下按钮时为PHP变量分配按钮类的值。有点像这样:
<input id="button-id" class="button-1" type="button" onclick="<?php $variable=class of button-id; // Assign the variable here ?>"
显然语法错误,因为我不知道该怎么做,或者是否可能。
我需要这个的原因是因为我正在做一个MySQL查询,它依赖于$variable
这样:
$query = "SELECT * FROM table WHERE name='{$variable}'";
由于查询的用途,这需要像这样。
感谢您的帮助。
答案 0 :(得分:0)
简而言之:你不能这样做。
您可能想要做的是使用隐藏字段通过提交表单将数据传递给PHP脚本。例如:
<form method="post" action="form.php">
<input type="hidden" name="variable" value="button-1" />
<input type="submit" class="button" />
</form>
您的form.php
文件看起来像这样:
<?php
$user = 'example';
$pass = 'example';
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// use a prepared statement!
$stmt = $dbh->prepare("SELECT * FROM table WHERE name = ?");
// the user input is automatically quoted, so no risk of SQL injection
if ($stmt->execute(array($_POST['variable']))) {
while ($row = $stmt->fetch()) {
print_r($row);
}
}
当然,您可能希望将它们存储在变量中以供以后使用,而不是在那里打印查询结果。请注意,您还可以将脚本合并到与表单相同的页面上。
答案 1 :(得分:-1)
嗯,试试这个:我使用Jquery将按钮类传递给Ajax请求,该请求转到下面的php文件。
编辑:确保正确解析和过滤数据以防止注入攻击。这只是告诉你可以将html类传递给PHP。
HTML文件
<html>
<head>
<script type="text/javascript">
// Assign your button an on click event using jquery
$('#button-id').click(function(){
//Store our current elements class value
var buttonclass = $(this).attr("class");
//Create an ajax request that goes to aphp file and will receive your class value
$.ajax({
url: 'ajaxfile.php?buttonclass='+buttonclass,
success:function(data){
alert(data);
}
});
});
</script>
</head>
<body>
<input id="button-id" class="button-1" type="button" />
</body>
</html>
PHP文件
<?php
$pdo = new PDO("mysql:dbname=newdbnaem;host=1.1.1.1:1111", "owner", "passwordlulz");
$buttonclass = $_GET['buttonclass'];
$query = $pdo->prepare("SELECT * FROM table WHERE name = :name");
$query->execute(array(':name' => $buttonclass));
?>
Success
<?php exit(0);
?>
希望这有帮助!