类似系统的Javascript

类似系统的Javascript,javascript,php,social-media-like,Javascript,Php,Social Media Like,我有一个新闻提要,并为它创建了一个类似的系统。我的新闻提要和页面的类似系统部分有以下代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &l

我有一个新闻提要,并为它创建了一个类似的系统。我的新闻提要和页面的类似系统部分有以下代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Untitled Document</title>
        <link href="/local_home.css" rel="stylesheet" type="text/css" />
        <?php
            include '/head.php';
            include '/connect.php';
            include '/general.php';
        ?>
    </head>

    <body>
        <!-- BEGIN: Sticky Header -->
        <div id="top_container">
            <div id="header_container">
                <div id="header">
                    <a href="website.com" class="grand_button">website</a>
                </div>
            </div>
            <!-- END: Sticky Header -->
            <div class="feed_selector">
                <ul>
                    <li><a href="#">Community</a></li>
                    <li><a href="#">Local</a></li>
                    <li><a href="#">Global</a></li>
                </ul>
            </div>
        </div>
        <!-- BEGIN: Page Content -->
        <div id="container">
            <div id="content">
                <div class="select_box">
                    Feed Options
                </div>
                <!--- FEED CONTAINER ---!>
                <div class="feed_container">
                <h1>Local Feed</h1>
                    <div class="hr"></div>
                    <?php
                        $getnews = mysql_query("SELECT * FROM news ORDER BY post_id DESC") or die(mysql_error());
                        while ($row = mysql_fetch_assoc($getnews)) {
                            $id = $row['post_id'];
                            $title = $row['title'];
                            $body = $row['body'];
                            $date = $row['date'];
                            $likes = $row['post_likes'];
                            ?>
                                <div class="deals">
                                    <div class="title">
                                        <?php echo $title ?>
                                        <a class="like_button" href='#' onclick="like_add(' ,$id, ')">Like</a><br>
                                        <?php echo '<span class="like_button" id="post_', $id ,'_likes">', $likes, '</span>'?>
                                    </div>
                                    <br>
                                    <?php echo nl2br($body); ?>
                                    <br>
                                    <div class="date_time">
                                        <?php echo(time_ago($date)) ?>
                                    </div>
                                    <div class="hr"></div>
                                </div>
                            <?php
                        }
                    ?>
                </div>
            </div>
            <!-- END: Page Content -->

            <!-- BEGIN: Sticky Footer -->
            <div id="footer_container">
                <div id="footer">
                    Footer Content
                </div>
            </div>
        </div>
        <!-- END: Sticky Footer -->
        <script type="text/javascript" src="js/jquery.js"></script>
        <script type="text/javascript" src="js/like.js"></script>
    </body>
</html>
我有两个用于like_add和like_get的ajax文件,但我只是重复了正确的内容,以使这两个语句都能正常工作,并对其进行测试


这意味着我的JavaScript出现了一些问题,因为当我单击like按钮时,数字总是保持在零。我没有收到任何错误或警告,但由于一个奇怪的原因,我无法让javascript正常工作。我不熟悉javascript,但逻辑对我来说似乎都是正确的。我在第一段代码中没有正确连接javascript吗?

也许我忽略了一些东西,但我要说的是,您的第一个问题是针对错误的元素:

你给你的like一个id为“
post”、$id”、“likes”
,然后尝试更新
article+post\u id+”likes

$('#article_'+post_id+'_likes').text(data);
除此之外,php中的连接是通过。没有,所以我很惊讶这能起作用。 我觉得这样的一句话很可疑:

<?php echo '<span class="like_button" id="post_', $id ,'_likes">', $likes, '</span>'?>

为什么不这样做:

<span class="like_button" id="post_<?php echo $id; ?>_likes"><?php echo $likes; ?></span>

不要歧视禁用JavaScript的用户!首先,一个简单的表单就可以了:



这就是你的代码看起来的样子吗?它的后半部分只包含了相似的部分。如果能让你更容易理解的话,我可以把整件事都包括进去understand@Pointy整个代码都认为“提要容器”HTML注释不正确。HTML注释以
-->
结尾,而不是
-->。啊,我不知道我怎么会忽略了你发布的第一个问题。我应该已经张贴了两个你是正确的!但即使在那之后,代码也不能正常工作。这是一个正确的方向设置虽然!所以我非常感谢你!当按下like按钮时,like不会增加,但它们会显示正确的like数量。如果我在数据库中更改like数量,我会在两个回调函数中添加console.log(数据),以确保返回正确的信息。如果这些数字是正确的,并且它没有更新html,那么可能是您将侦听器放置在何处或如何将喜欢的内容输出到屏幕上的问题。但首先,确保数据库中的数字不断增加,并且在回调函数中返回正确的数字
使用
echo
,因为它接受的参数数量可变,并且只是连续地回显它们。所以你不需要连接。@barmar-我可以接受。我只是从来没见过有人那样做。尽管如此,还是没有理由像OP那样闯入PHP
<span class="like_button" id="post_<?php echo $id; ?>_likes"><?php echo $likes; ?></span>