2016-04-02 18 views
0

私の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コードで何か間違っていると思う。

+0

ここで '$ result ['fotoid'];' set? – Mihai

+0

あなたは@Mihaiをどういう意味ですか –

+0

私は 'value =" <?php echo $ result ['fotoid']; 'はあなたのHTMLでnullになると思います。デバッグ目的でハードコードしてください – Mihai

答えて

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

その他それから私はすべてがOKだと思う。

+0

ありがとう、これは魅力的なように働いた! –

関連する問題