按下 link 时更新 PHP 中的数据库字段
Updating database field in PHP when link is pressed
我的页面列出了 MySQL table 中的所有行,并将它们作为链接放在单独的 div 中。
while($row = mysqli_fetch_array($result))
{
echo "<a href='projects/" . $row['dir'] . "'><div>";
echo "<h2>" . $row['name'] . "</h2>";
echo "<p>Created: " . $row['date_created'] . "</p>";
echo "<p>Last opened: " . $row['date_last_opened'] . "</p>";
echo "<p>" . $row['description'] . "</p>";
echo "</div></a>";
}
当我单击一个框 (div) 时,它会打开该特定项目。我需要的是在我点击一个项目时将项目的 'date_last_opened' 字段更新为当前日期。 table 中对应的列的类型为 'date'.
感谢任何能提供帮助的人。
简单的方法是使用 Jquery 和 AJAX:
首先在 while 循环中为您的 link 添加点击功能,如下所示:
echo "<a href='projects/" . $row['dir'] . "' onclick='update(".$row['name'].")';><div>";
并在您的 JS 文件中使用 Jquery Ajax:
function update(name){
var now = new Date();
var dateToInsert = now.format("dd/M/yy h:mm tt");//or whatever format you need
var projectName = name;
$.ajax({
type: "POST",
url: "update.php",
data: { date: dateToInsert, name: projectName}
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
}
和你的update.php:
if(isset($_POST['date']) && $_POST['name']){
$sql = "update yourTable set date ='".$_POST['date']."' where name= '".$_POST['name']."'";
//Rest of the code to execute query
}
else{
echo "AJAX call failed to send post variables";
}
我的页面列出了 MySQL table 中的所有行,并将它们作为链接放在单独的 div 中。
while($row = mysqli_fetch_array($result))
{
echo "<a href='projects/" . $row['dir'] . "'><div>";
echo "<h2>" . $row['name'] . "</h2>";
echo "<p>Created: " . $row['date_created'] . "</p>";
echo "<p>Last opened: " . $row['date_last_opened'] . "</p>";
echo "<p>" . $row['description'] . "</p>";
echo "</div></a>";
}
当我单击一个框 (div) 时,它会打开该特定项目。我需要的是在我点击一个项目时将项目的 'date_last_opened' 字段更新为当前日期。 table 中对应的列的类型为 'date'.
感谢任何能提供帮助的人。
简单的方法是使用 Jquery 和 AJAX:
首先在 while 循环中为您的 link 添加点击功能,如下所示:
echo "<a href='projects/" . $row['dir'] . "' onclick='update(".$row['name'].")';><div>";
并在您的 JS 文件中使用 Jquery Ajax:
function update(name){
var now = new Date();
var dateToInsert = now.format("dd/M/yy h:mm tt");//or whatever format you need
var projectName = name;
$.ajax({
type: "POST",
url: "update.php",
data: { date: dateToInsert, name: projectName}
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
}
和你的update.php:
if(isset($_POST['date']) && $_POST['name']){
$sql = "update yourTable set date ='".$_POST['date']."' where name= '".$_POST['name']."'";
//Rest of the code to execute query
}
else{
echo "AJAX call failed to send post variables";
}