私のPHPファイルには2つの関数があります。 1私のデータベースからランダムなイメージを生成する。 1(涼しいまたは冷たい)写真に投票する。私のデータベースにはたくさんの行がないので、少しプロジェクトです。約10-15最大。ボタンを押してもデータベースの列が更新されない
ランダム画像のためのMy機能:
public function randomImage(){
$con = new Database();
$con->connect();
$sql = 'SELECT * FROM fotos order by RAND() LIMIT 1';
$sth = $con->myconn->query($sql);
$result = mysqli_fetch_array($sth);
echo '<img src="data:image/jpeg;base64,'.base64_encode($result['foto']).'"/>';
}
(クールクールかどうか)、投票のためのMy機能:
public function voteImage($fotoid){
$con = new Database();
$con->connect();
$sql = 'UPDATE fotos SET cool = cool + 1 WHERE fotoid=?';
$stmt = $con->myconn->prepare($sql);
$stmt->bind_param('i', $fotoid);
$stmt->execute();
$stmt->close();
}
他のPHPファイルで、私のコード:
<?php
$image = new Image();
$image->randomImage();
?>
<form action="opdracht2.php" method="post" name="cool">
<input type="submit" value="Cool" name="cool" />
<input type="submit" value="Niet Cool" name="ncool" />
<input type="hidden" name="fotoid" value="<?php echo $result['fotoid']; ?>" />
</form>
<?php
if(isset($_POST['cool']))
{
$voteimage = new Image();
$voteimage->voteImage($_POST['fotoid']);
}
私は何が間違っているのか分かりません。エラーメッセージはありません。ボタンクールが押されているとき、ページはリフレッシュされますが、何も起こりません。それはページをロードするだけですが、データベースではクールな列は1で更新されません。データベース内のクエリをテストすると、更新されます。だから私はPHPコードで何か間違っていると思う。
ここで '$ result ['fotoid'];' set? – Mihai
あなたは@Mihaiをどういう意味ですか –
私は 'value =" <?php echo $ result ['fotoid']; 'はあなたのHTMLでnullになると思います。デバッグ目的でハードコードしてください – Mihai