试图为我的HTML页面上显示的每个MySQL行制作“like”按钮

时间:2018-03-10 04:12:30

标签: php mysql

MySQL,PHP,HTML

所以,我正在尝试为我的每个MySQL行创建“like”按钮,这些按钮显示在我的html页面上。我创建了like按钮,它增加了值,但它增加了所有行的值,我需要它只增加它在我的html页面旁边的行的值。 (我知道我的代码很乱,没有多少使用php)

“like.php”页面 -

<?php

include "db_connect.php";

$sql = "UPDATE ideas_table SET Idea_Value = Idea_Value + 1";
$result = $mysqli->query($sql) or die('ERROR');

?>

及以下是一个关键字搜索页面,显示数据等值(当按下“喜欢”按钮时所有这些值都会增加)

<?php

include "db_connect.php";
$keywordfromform = $_GET["keyword"];

//search database
echo "<h2>Showing ideas with '$keywordfromform'</h2>";

$sql = "SELECT Idea_ID, Idea, Idea_Value, Idea_Time FROM ideas_table WHERE         
Idea LIKE '%". $keywordfromform ."%'";
$result = $mysqli->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
    echo
    // like button below
    "<form action='like.php'>
            <button type='submit'>Like</button>
    </form>".
    $row["Idea_Value"].
    " - Idea: ".
    $row["Idea"].
    "<br>";
}
} else {
    echo "0 results";
}

?>

再次,我只需要类似按钮(位于显示行旁边)仅影响该行。谢谢你的帮助!!!

2 个答案:

答案 0 :(得分:1)

您需要在提交Idea_ID时隐藏Form,请将此行放在提交按钮之前。

   <iinput type='hidden' name='Idea_ID' value='".$row["Idea_ID"]."'>

Like.php中的更新查询一样。

include "db_connect.php";

$idea_id=$_REQUEST['Idea_ID'];

$sql = "UPDATE ideas_table SET Idea_Value = Idea_Value + 1 where Idea_ID = ".$Idea_ID;

$result = $mysqli->query($sql) or die('ERROR');

答案 1 :(得分:0)

试试这个 的 like.php

<?php
include "db_connect.php";

$Idea_Value = $_POST['idea_value']+1;
$Idea_ID = $_POST['Idea_ID'];
$sql = "UPDATE ideas_table SET Idea_Value = $Idea_Value WHERE Idea_ID = '$Idea_ID'";
$result = $mysqli->query($sql) or die('ERROR');
?>

其他页面

<?php

include "db_connect.php";
$keywordfromform = $_GET["keyword"];

//search database
echo "<h2>Showing ideas with '$keywordfromform'</h2>";

$sql = "SELECT Idea_ID, Idea, Idea_Value, Idea_Time FROM ideas_table WHERE         
Idea LIKE '%". $keywordfromform ."%'";
$result = $mysqli->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
    echo
    "<form action='like.php'>
            <input type='hidden' name='".$row["Idea_ID"]."' value='".$row["Idea_Value"]."'/>
            <button type='submit'>Like</button>
    </form>".
    $row["Idea_Value"].
    " - Idea: ".
    $row["Idea"].
    "<br>";
}
} else {
    echo "0 results";
}

?>