我的页面列出了MySQL表中的所有行,并将它们作为链接放在单独的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)时,它会打开该特定项目。我需要的是更新&#39; date_last_opened&#39;当我点击一个项目到当前日期的项目字段。表格中的列类型为&#39; date&#39;。
感谢任何可以提供帮助的人。
答案 0 :(得分:1)
简单的方法是使用Jquery和AJAX:
首先在while循环中添加点击功能到你的链接:
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";
}