PHP + HTML表格:从表格

时间:2016-03-26 06:59:42

标签: php html mysql

标题不是最合适的,但这是我能想到的最好的。随意提出编辑。

要点:

我来自Android开发,我使用RecyclerView来显示数据库中各种项目的网格。在那里,我可以使用onClickListener()Position来获取用户点击的RecyclerView(第一,第二,第三......)并可以继续操作。

设置:

我是Web开发的新手,到目前为止我已经设法创建了一个HTML表,我正在触发相应的查询以从数据库中获取项目。然后我在每个表格单元格中显示来自数据库的这些数据。数据包括图像链接(来自同一目录中的文件夹)和有关该图像的其他文本数据。我的表看起来像这样。 Click here

问题:

我想在表格的每个单元格中添加Accept等选项,以便当用户点击该选项时,会触发查询以设置该项目的布尔isAccepted 在DB中为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>

1 个答案:

答案 0 :(得分:2)

您可以添加指向输出的HTML的链接:

echo "<td>";
// ...
echo "<br><a href='/some/path/to/accept.php?imageid={$row[0]}'>Accept</a>";
echo "<td>";

然后在接受文件中你可以处理它:

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

您显然应该进行一些检查,允许用户接受图像。