PHP变量内部函数,使用外部函数

时间:2014-11-23 19:55:30

标签: php mysql function

我有一个简单的问题,我似乎无法开始工作。

我的网站有3个不同的照片库页面。每个图库都有一排带图片的缩略图。 单击其中一张图片将使其显示在放大图像的新页面中。 发生这种情况时,您可以从category1或2或3移动到fotoinfo1.php 2或3,具体取决于您点击的照片属于哪个类别。

fotoinfo页面包含费率/评论系统。现在我要做的就是这样做,以便我可以评价每张图片,无论哪个类别。只有一个rate.php文件,我连接到所有3个fotoinfo.php页面。 (按POST /按钮,它还可以保存我数据库中给出的费率/等级。)

我已经创建了一个选择评级的功能,以及它应该在哪个数据库中(rating1,2,3) 现在我想要为网站评分图片进行刷新,从而更新平均等级/费率文本。 但不知怎的,我无法解决它,所以它重新指向正确的图片。我尝试用if语句和其他几种方法来做这件事但是我要么总是去第一个fotoinfo.page但是从来没有去过我目前所在的那个。

这是代码:

session_start();
$foto_ID = $_POST['foto_ID'];
$rating = $_POST['rating'];
$category = $_POST['category'];
$gebruikersnaam = $_SESSION['gebruikersnaam']; 
function rates($rate, $gebruikersnaam, $foto_ID, $rating)
{   
    global $conn;
    $query = "INSERT INTO `i268296_studie`.`$rate`(`username_ID`,`foto_ID`,`rating`) VALUES ('$gebruikersnaam','$foto_ID','$rating')";
    $result = mysqli_query($conn, $query) or die("query error " . mysqli_error($conn) );
    return $rate;
}

if (basename(__FILE__) == "rating.php")
{
    rates("Rating", $gebruikersnaam, $foto_ID, $rating);
    $rate = "Rating";
}

if (basename(__FILE__) == "rating.php")
{
    rates("Rating2", $gebruikersnaam, $foto_ID, $rating);
    $rate = "Rating2";      
}

if (basename(__FILE__) == "rating.php")
{
    $rate = rates("Rating3", $gebruikersnaam, $foto_ID, $rating);
    $rate = "Rating3";
}

    if ($rate == "Rating")
    {
        header("Location: fotoinfo.php?foto_ID=" . $foto_ID); 
    }

    if ($rate == "Rating2")
    {
        header("Location: fotoinfo2.php?foto_ID=" . $foto_ID); 
    }

    if ($rate == "Rating3")
    {
        header("Location: fotoinfo3.php?foto_ID=" . $foto_ID); 
    }

在if语句的第一行中,我试图检查我是否在fotoinfo1,2或3上,然后添加/重定向。但是第二次点击我的费率按钮我不再在fotopinfo页面上,而是在这个rating.php里面(那里有标题("位置")所以在评价后我会回到原始图片。然后我添加了第二个if语句(以及函数中的$ rate和全局/ return $ rate),希望这可以解决它,因为我会阻止我在我的所有3个头文件中使用rating.php因为我想检查查询中$ rate的选择,并根据结果(Rating1,2或3)重定向到fotoinfo1,2或3.但它似乎不起作用。我要么不在函数内部+内部正确地调用或使用我的变量,要么......我的整个思维方式背后都是错误的。

我希望我能正确地解释我的问题,我是新来的,所以如果有什么我可以改变来帮助你们,帮助我更好,不要害怕告诉我: )

编辑: 与fotoinfo.php页面评级相关的代码

$query = "SELECT FORMAT(AVG(`rating`),2) AS 'rating' FROM `Rating` WHERE `foto_ID` = '$foto_ID' "; 
    $result = mysqli_query($conn, $query) or die("query error " . mysqli_error($conn) );
    $rating = mysqli_fetch_assoc($result); //get database result

            <form method="post" action="rating.php"  enctype="multipart/form-data">
                <input type="hidden" name="foto_ID" value="<?php echo $foto['foto_ID']; ?>">
                <label for="rating"> Grade this picture!: </label>
                <input type="radio" name="rating" value="1">1
                <input type="radio" name="rating" value="2">2
                <input type="radio" name="rating" value="3">3
                <input type="radio" name="rating" value="4">4
                <input type="radio" name="rating" value="5">5
                <br><br>
                <input type="submit" name="submit" value="Submit grade!">
                <br><br>
                Avarage grade: <?php echo $rating['rating']; ?>
            </form> 

0 个答案:

没有答案