私はphpとmysqlが初めてなので、これはとても簡単だと思います!
クリックされたボタンに応じて、特定のエントリを増やしたいと思います。私が抱えている問題は、どのエントリをphp経由でインクリメントするかをmysqlに伝える方法がわからないことです。
while ループを使用してテーブルを表示し、各行の最後に name = $row[id] value = $row[likes] のボタンを追加しています。名前が単なる単語の場合は問題ありませんが、それが含まれる行に応じて異なる必要があります(自動インクリメントの行IDを使用していますが、表示されませんが存在します) .
私の .html:
$host="xxx";
$username="xxx";
$password="xxx";
$db_name="xxx";
$tbl_name="blog";
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$result = mysql_query("SELECT * FROM $tbl_name ORDER BY id DESC");
echo "<table id='blog'>
<tr>
<th>Update</th>
<th>Likes</th>
</tr>";
while($row = mysql_fetch_array($result)) {
echo "<tr>";
echo "<td id='entry'>" . $row['entry'] . "</td>";
echo "<td id='like'>" . "<form action ='likes.php' method ='post'>" . "<input type='submit' name='$row[id]' value='$row[likes]' />" . "</form>" . "</td>";
echo "</tr>"; }
echo "</table>";
mysql_close($con);
?>
私の.php:
<?php
$con = mysql_connect("xxx","xxx","xxx");
if (!$con) {
die('Could not connect: ' . mysql_error()); }
mysql_select_db("xxx", $con);
if(mysql_query("UPDATE blog SET likes = likes +1 WHERE id = '$_POST[$id]'")) {
header('location:blog.php'); }
else {
echo "Error: " . mysql_error(); }
mysql_close($con);
?>
私がしたいのは、HTMLドキュメントの 'input name = $row[id]' を WHERE id = $_POST[id] にリンクして、ボタンのクリックでいいね数を増やすことだけです。
前もって感謝します!!