脚本包含与每个mysql获取结果相似和不同的选项

时间:2012-09-08 07:29:30

标签: php mysql pdo

while($info = mysql_fetch_array( $result )) 
{ 
    //Outputs the data
    Echo "<b>".$info['name'] . " </b> :-<br>"; 
    include('db.php');
    $postid = 1;
    $data = mysql_fetch_object(mysql_query('SELECT  `like` , `unlike` FROM posts WHERE id=" '.$postid.' "  '));
    Echo "<html><body><a href='javascript:;' onclick='doAction($postid,like);'>Like (<span id='<?php echo $postid;?>_likes'>$data->like</span>)</a></html></body>";
    Echo "<html><body><a href='javascript:;' onclick='doAction($postid,unlike);'>Unlike (<span id='<?php echo $postid;?>_unlikes'>$data->unlike</span>)</a></html></body>";
}  

在上面的脚本中,我为每个提取的结果添加了likeunlike选项。

我得到以下结果:like (0)unlike (0)

每件事都很完美。唯一的问题是它在点击时不会增加。

请帮帮我。

它在下面显示的简单代码中工作得很完美:

<html>
    <head>
        <script src="http://code.jquery.com/jquery-1.3.2.min.js"></script>
        <script>
            function doAction(postid,type){
                $.post('doAjax.php' , {postid:postid, type:type}, function(data){
                    $('#'+postid+'_'+type+'s').text(data);
                });
            }
        </script>
    </head>
    <body>
        <?php
            include('db.php');
            $postid = 1;

            $data = mysql_fetch_object( mysql_query( 'SELECT  `like` , `unlike` FROM posts WHERE id= " ' . $postid . ' " ' ) );
        ?>
        <p>hello</p>
        <a href="javascript:;" onclick="doAction('<?php echo $postid; ?>','like');">Like (<span id="<?php echo $postid; ?>_likes"><?php echo $data->like; ?></span>)</a>
        <a href="javascript:;" onclick="doAction('<?php echo $postid; ?>','unlike');">Unlike    (<span id="<?php echo $postid; ?>_unlikes"><?php echo $data->unlike; ?></span>)</a>
    </body>
</html> 

对于上面显示的脚本,我还想使用PDO代替mysql_fetch

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试用“

”替换2行“Echo&lt; html ...&gt;”
echo "<div><a href='javascript:;' onclick='doAction($postid,like);'>Like (<span id='{$postid}_likes'>{$data->like}</span>)</a></div>";
echo "<div><a href='javascript:;' onclick='doAction($postid,unlike);'>Unlike (<span id='{$postid}_unlikes'>{$data->unlike}</span>)</a></div>";

其他问题: - 避免使用mysql_query,按建议使用PDO

- 循环内的查询将导致性能不佳。你应该有一个获取信息和喜欢的查询(使用JOIN)。在循环内部显示每个信息的相似内容。