所以我很久以前遇到了一些麻烦。作为一名学生,我相对较新的编程,因此我经常访问这些网站寻求帮助。我的问题是如何通过按下按钮为数据库增加价值。对我来说,这里的问题是该按钮具有要打印的javavscript功能。所以换句话说,我希望按钮有2个功能,一个打印页面(我已经拥有)和一个为数据库增加价值的功能。将值添加到数据库的目的是让人们可以看到它之前已经打印过。
所以我要求的是如何提供按钮2功能(一个是Javascript)并向人们显示按钮被使用(在这种情况下,它已被打印)。非常感谢所有帮助。
我的代码如下:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "depits";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Query the database
$resultSet = $conn->query("SELECT * FROM orders");
// Count the returned rows
if($resultSet->num_rows != 0){
// Turn the results into an Array
while($rows = $resultSet->fetch_assoc())
{
$id = $rows['id'];
$naam = $rows['naam'];
$achternaam = $rows['achternaam'];
$email = $rows['email'];
$telefoon = $rows['telefoon'];
$bestelling = $rows['bestelling'];
echo "<p>Name: $naam $achternaam<br />Email: $email<br />Telefoon: $telefoon<br /> Bestelling: $bestelling<br /> <a href='delete.php?del=$id'>Delete</a> <input type='button' onclick='window.print()' value='Print Table' /> </p>";
}
// Display the results
}else{
echo "Geen bestellingen";
}
?>
答案 0 :(得分:1)
这将获得2个任务:
window.print()
。在该javascript函数中,您再次执行window.print()
,然后在逻辑中执行下一步:将数据发送到PHP。
使用ajax,你可以实现这个目标。
使用函数中的参数,您可以传递当前行的ID,这需要传递给PHP。
答案 1 :(得分:0)
Ok你可以通过很多方法来实现它,但这就是我将如何做到这一点:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "depits";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Query the database
$resultSet = $conn->query("SELECT * FROM orders");
// Count the returned rows
if($resultSet->num_rows != 0){
// Turn the results into an Array
while($rows = $resultSet->fetch_assoc())
{
$id = $rows['id'];
$naam = $rows['naam'];
$achternaam = $rows['achternaam'];
$email = $rows['email'];
$telefoon = $rows['telefoon'];
$bestelling = $rows['bestelling'];
//first you call a custom javascript function after the 'onclick'. I believe you'll have to pass a variable as an argument (like $id).
echo "<p>Name: $naam $achternaam<br />Email: $email<br />Telefoon: $telefoon<br /> Bestelling: $bestelling<br /> <a href='delete.php?del=$id'>Delete</a> <input type='button' onclick='print_table($id)' value='Print Table' /> </p>";
}
// Display the results
}else{
echo "Geen bestellingen";
}
?>
然后你在页面的标题中写下这个函数
<script>
function print_table(id)
{
//print your document
window.print();
//send your data
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","http://www.domaine.com/directories/printed_table.php?id=" + id;
xmlhttp.send();
}
</script>
然后您将文件print_table.php写入存储1
(如果已打印)或0
(如果未打印)。我不懂德语,所以我不知道你在哪里存储你的打印变量,但它是这样的:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "depits";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Query the database
$id = $_GET['id'];
$resultSet = $conn->query("UPDATE `orders` SET `printed` = 1 WHERE `id` = `$id`");
?>
这应该有效。只是要小心并检查$ _GET ['id'],然后才能将其用于安全目的。就像你可以使用php函数is_int()。根据您需要的安全级别,您可能希望更多地保护此代码。