Вставить несколько идентификаторов в запрос MySQL?

Я пытаюсь сделать функцию "нравится / не нравится" для веб-сайта. Я сделал один рабочий, который связан с таблицей базы данных под названием "сообщения".

В таблице 'posts' есть 4 столбца с именами id, name, like, в отличие.

Моя проблема в том, что теперь я хочу использовать тот же код, но использовать его в другой таблице, называемой "место проведения". Эта таблица имеет те же 4 столбца, но они называются vID, Location, как, в отличие от. И таблица 'место встречи' имеет несколько идентификаторов VID вместо одного идентификатора, такого как таблица 'posts'.

Не можете понять, что делать?


    <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){
                //if(isNaN(parseFloat(data))){
                    //alert(data);
                //}else{
                    $('#'+postid+'_'+type+'s').text(data);
                });
            }
        //}
    </script>
</head>
<body>
    <?php

        include('db.php'); // including database connection
        $postid= 1;
        $data = mysql_fetch_object(mysql_query('SELECT `like`, `unlike` from     posts WHERE id ="'.$postid.'"'));  

    ?>
    <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>


   <?php

include('db.php');

if($_POST['postid'] !='' && $_POST['type'] != ''){

        if($_POST['type']=='like'){
            mysql_query(' UPDATE posts SET `like`=`like`+1 WHERE id="'.(int)$_POST['postid'].'"');
            $num = mysql_fetch_row(mysql_query(' SELECT `like` FROM  posts WHERE id="'.(int)$_POST['postid'].'" LIMIT 1'));
        }elseif($_POST['type']=='unlike'){
            mysql_query(' UPDATE posts SET `unlike`=`unlike`+1 WHERE id="'.(int)$_POST['postid'].'"');
            $num = mysql_fetch_row(mysql_query(' SELECT `unlike` FROM  posts WHERE id="'.(int)$_POST['postid'].'" LIMIT 1'));
        }
                     echo $num[0];
                    (int)$_POST['postid'].'","'.$_SERVER['REMOTE_ADDR'].'")');
    }
      ?>    

1 ответ

Решение

Я не уверен, что понимаю вашу проблему. Если это генерировать кнопки из данных в таблице "место проведения", вы можете попробовать что-то вроде этого:

<?php

$query = "SELECT * from venue";

if ($result = $mysqli->query($query)) {

    while ($obj = $result->fetch_object()) {
?>      
    <a href="javascript:;" onclick="doAction('<?php echo $obj->id;?>','like');">Like (<span id="<?php echo $obj->id;?>_likes"><?php echo $obj->like;?></span>)</a>
    <a href="javascript:;" onclick="doAction('<?php echo $obj->id;?>','unlike');">Unlike (<span id="<?php echo $obj->id;?>_unlikes"><?php echo $obj->unlike;?></span>)</a>
<?php
    }

    $result->close();
}
?>

а также mysql_fetch_object устарела, вы должны использовать mysqli_fetch_object ( http://php.net/manual/en/function.mysql-fetch-object.php)

Другие вопросы по тегам