0

私はphpとmysqlが初めてなので、間違っていたらごめんなさい。私のサイトには、メンバーが他のユーザーに与えるレビューを一覧表示するページがあります。

基本的に、データベースで承認して削除しました。つまり、ユーザーがレビューを送信した後、表示される前にユーザーがレビューする必要があります。

ユーザーが承認済みの画像をクリックすると、承認済みの画像が承認され、承認済み_review.phpに移動し、データベースの値を0から1に更新するSQLコードがあります。

削除の場合もまったく同じように機能するはずですが、承認された列を更新する代わりに、削除されたものを更新することは明らかです。

私が試したコードが機能していません。かなり長い間これに取り組んできましたが、理解できません。

誰かが私が間違っているところを教えてもらえますか?

コードは次のとおりです。

<?php
    $reviews_set = get_pending_reviews();
    while ($reviews = mysql_fetch_array($reviews_set)) {    
?>
<p>&nbsp;</p>
<div class="pending-review-content">
<?php 
    $date = $reviews['date_added'];
?>
    <div class="prof-content-pend-reviews" id="reviews">
        <div class="message_pic"><?php echo "<a href=\"profile.php?id={$reviews['from_user_id']}\">
        <img width=\"50px\" height=\"50px\" src=\"data/photos/{$reviews['from_user_id']}/_default.jpg\" /></a>";?>
    </div>

    <div class="reviews-date"><? echo "$date"; ?></div>
    <div class="reviews-from">
        <?php echo "<a href=\"profile.php?id={$reviews['from_user_id']}\">{$reviews['display_name']}"; ?>
        </a> Wrote:
    </div>
    <div class="reviews-content">
        <?php echo "{$reviews['content']}"; ?>
    </div>
</div>
<div class="reviews-approve">    
    <a href="includes/approved_review.php"><img src="assets/img/icons/tick.png" width="30" height="25" /></a></div>
    <div class="reviews-delete">
    <a href="includes/delete_review.php"><img src="assets/img/icons/cross.png" width="30" height="25" /></a>
</div>

<? } ?>

approval_review.php 関数:

<?
    $sql = "UPDATE  `playtime`.`ptb_reviews` SET  `approved` =  '1' WHERE `ptb_reviews`.`id` =".$_SESSION['user_id']."";

    echo "<div class=\"infobox1\">review approved.</div>";

?>
4

2 に答える 2

0

rrrfusco の投稿を少し編集

// or die for details if mysql_query won't work correct
$r = mysql_query($sql) or die (mysql_error()); 
于 2012-12-15T17:58:45.550 に答える
0

あなたのアプローチは論理的に思えます。レビューをループした後、目盛りをクリックするか、PNG を削除して更新または削除します。

だから、approved_review.php

<?php 

//you are missing the connection to your mysql database...
$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$sql = "UPDATE  `playtime`.`ptb_reviews` SET  `approved` =  '1' WHERE `ptb_reviews`.`id` =".$_SESSION['user_id']."";

//execute the mysql query
$r = mysql_query($sql);


if (!mysql_error())
{
    echo "<div class=\"infobox1\">Review Approved.</div>";
}

?>
于 2012-12-15T17:48:28.297 に答える