PHP+;HTML表格:从表格的每个单元格激发适当的MySql查询
标题不是最合适的,但这是我能想到的最好的。请随意建议编辑 摘要: 我来自安卓开发公司,在那里我经常显示数据库中各种项目的网格。在那里,我可以使用PHP+;HTML表格:从表格的每个单元格激发适当的MySql查询,php,html,mysql,Php,Html,Mysql,标题不是最合适的,但这是我能想到的最好的。请随意建议编辑 摘要: 我来自安卓开发公司,在那里我经常显示数据库中各种项目的网格。在那里,我可以使用onClickListener()和位置获取用户单击的RecyclerView项(第一、第二、第三..),并可以继续操作 设置: 我是web开发新手,到目前为止,我已经成功地创建了一个HTML表,并且正在启动适当的查询以从数据库中获取项目。然后,我在每个表单元中显示来自数据库的这些数据。数据由图像链接(来自同一目录中的文件夹)和有关该图像的其他文本数据组
onClickListener()
和位置
获取用户单击的RecyclerView
项(第一、第二、第三..),并可以继续操作
设置:
我是web开发新手,到目前为止,我已经成功地创建了一个HTML
表,并且正在启动适当的查询以从数据库中获取项目。然后,我在每个表单元中显示来自数据库的这些数据。数据由图像链接(来自同一目录中的文件夹)和有关该图像的其他文本数据组成。我的桌子看起来像这样
问题:
我想在表的每个单元格中添加一个选项,如Accept
,这样当用户单击该单元格时,就会触发一个查询,将数据库中该项的布尔值isAccepted
设置为true。我可以管理查询部分,但我面临的问题是如何在php脚本中设置它
我应该考虑什么?
如果我没有现成的代码,那绝对没问题。我想知道要使用什么技术,如果可能的话,还想知道指导教程的链接。我希望它可以做到只用PHP和HTML
我的php脚本:
<table id="customers">
<?php
$MAX_COLS = 5;
$query = "select * FROM `complaints`";
$result = mysqli_query($conn,$query);
$i = 0;
while($row = mysqli_fetch_row($result)){
if($i % $MAX_COLS == 0){
echo "<tr>";
}
echo "<td>";
echo "<img src='SCB2/Images/temp2.jpg' alt='Sample image' style='width:200px;height:200px;' >";
echo "<br>"."Image ID: ".$row[0];
echo "<br>"."Latitude: ".$row[2];
echo "<br>"."Longitude: ".$row[3];
echo "<br>"."Zip: ".$row[4];
echo "<br>"."Done by: ".$row[8];
echo "<td>";
$i++;
if($i % $MAX_COLS == 0){
echo "</tr>";
}
}
?>
</table>
您可以将链接添加到输出的HTML:
echo "<td>";
// ...
echo "<br><a href='/some/path/to/accept.php?imageid={$row[0]}'>Accept</a>";
echo "<td>";
显然,您应该检查是否允许用户接受图像。
不是有效的HTML。它应该是
,或者干脆是
。还有,为什么要这样连接字符串?您可以一次性回显所有内容:“
图像ID:{$row[0]}”
@SverriM.Olsen此串联是否有任何错误?我在学习一个在线教程,并按照我的指示去做。在所有方面都有效browsers@newUser没有什么特别的“错误”,但是你不需要把很多字符串连在一起,当你可以把它当作一个字符串。@ Svrim.OLSEN,我一定会考虑。关于主要问题有什么帮助吗?谢谢你澄清。我将尝试实现这一点。嗯,在不刷新页面的情况下,我是否可以在每个图像下添加一个字段,其中文本从未接受
更改为接受
?您必须编写一些Javascript才能做到这一点。我相信关于StackOverflow的问题已经很多了。使用右上角的搜索框。
// /some/path/to/accept.php
// Get the image id from the query string
$imageid = filter_input(INPUT_GET, 'imageid', FILTER_VALIDATE_INT);
try {
// Create a database connection
$db = new PDO(
'mysql:dbname=databaseName;host=localhost',
'username', 'pa55w0rd',
array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
);
// Create a prepared statement and bind the image id to it
$stmt = $db->prepare('UPDATE complaints SET isAccepted = 1 WHERE Id = :id');
$stmt->bindValue(':id', $imageid, PDO::PARAM_INT);
// Execute the statement
if ($stmt->execute()) {
die('SUCCESS!');
} else {
die($stmt->error);
}
}
catch (\PDOException $e) {
die('PDO Exception: ' . $e->getMessage());
}