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());
}