我的php文件中有2个函数。 1从我的数据库中生成随机图像。 1对图片投票(酷或不酷)。这是一个小项目,因此我的数据库中没有很多行。最大约10-15。
我对随机图像的功能:
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'] ).'"/>';
}
我的投票功能(酷或不酷):
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代码中做错了。
答案 0 :(得分:0)
请查找更新的代码
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);
return $result;
}
你的代码在另一个php文件中:
<?php
$image = new Image();
$result= $image->randomImage();
echo '<img src="data:image/jpeg;base64,'.base64_encode($result['foto'] ).'"/>';
?>
<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']);
}
您的投票功能(酷或不酷):
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();
}
除此之外,我认为一切都很好。