首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有MySQL的PHP中的资源id #6错误

带有MySQL的PHP中的资源id #6错误
EN

Stack Overflow用户
提问于 2012-03-08 21:46:44
回答 2查看 21.1K关注 0票数 0

这是我正在制作的一个投票系统,这段代码向用户显示了他们可以从中挑选的问题列表:

代码语言:javascript
运行
复制
        <div class="main_questions">
            <p class="style1 style2"><strong>Select Your Question</strong></p>

<p class="style1">
            <form action="vote_list.php" method="post" name="form1" class="style1">
            <?php
                        $sql = "SELECT DISTINCT (question_tba) FROM question ORDER BY answer_id DESC";
                        $result = mysql_query($sql);
                        while($row = mysql_fetch_array($result)){
                            ?>
                            <p>
                                <?php echo $row['question_tba']; ?>
                                <input type="radio" name="questions" value="<?php echo $row['question_tba']; ?>">

                            </p>

                            <?php
                        }      
            ?>
            <input type="submit" name="submit" value="Vote">
            </p>
        </div>

然后,此代码应将选择的问题发布到此页面,以允许他们投票:

代码语言:javascript
运行
复制
<?php

include('core/initialise.inc.php');

$q = $_POST['question_tba'];

if (isset($_GET['vote'], $_GET['id'])){
    add_vote($_GET['id'], $_GET['vote'], $q);
    echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"0; URL=vote_logged.php\">";
}

?>

</div>
<div class="main_questions">
    <p class="style1 style2"><strong>Place Your Vote!</strong></p><?php
        foreach (get_answers($q) as $id => $answer){
            ?>
            <p>
            <?php echo $answer; ?>
            <a href="?vote=up&amp;id=<?php echo $id; ?>">Vote</a>
        </p>
        <?php
        }

        ?>
</div>

然后,当他们点击一个答案进行投票时,此页面上的函数应使用以下函数将所选答案的投票增加1:

代码语言:javascript
运行
复制
<?php

function get_answers($q){
    $q = $q;
    $sql = "SELECT answer_id, answer FROM question WHERE question_tba = '$q'";
    $result = mysql_query($sql);

    echo "$result";

    $answers = array();
    while (($row = mysql_fetch_assoc($result)) or die(mysql_error()))
    {                                                                         
        $answers[$row['answer_id']] = $row['answer'];
    }

    return $answers;
}

function add_vote($answer_id, $vote, $q2){
    $q2 = $q2;
    $answer_id = (int)$answer_id;
    $vote = '+';

    $sql = "UPDATE question SET answer_votes = answer_votes $vote 1 WHERE question_tba = $q2 AND answer_id = $answer_id";

    mysql_query($sql);

}

?>

然而,我的问题是,当我点击我想要投票的问题时,它只显示了资源id #6,而不是显示我可以选择投票的答案。有人能告诉我我的代码有什么问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-21 09:58:59

好了,我把这事解决了。事实证明,在发布单选按钮值时,您必须使用name="“而不是value="”非常简单的解决方案。

票数 0
EN

Stack Overflow用户

发布于 2012-03-08 21:49:23

$result是由mysql_query()调用返回的资源,而不是实际的行对象/数组。与在代码的其他区域使用mysql_fetch_assoc()提取数据的方式相同,如果您想要显示数据,则需要在echo之前执行此操作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9618604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档