sql >> データベース >  >> RDS >> Mysql

php-ユーザーがお気に入りの投稿を行えるようにする

    PHP

    <?php
    session_start();
    require_once('connection.php');
    
    mysql_select_db($database_connection, $connection);
    $query_favorite = "SELECT username, post_id FROM favorite";
    $favorite = mysql_query($query_favorite, $connection) or die(mysql_error());
    $row_favorite = mysql_fetch_assoc($favorite);
    $totalRows_favorite = mysql_num_rows($favorite);
    
    if(in_array($_POST['id'], $row_favorite))
    {
       //is already favourited, run a query to remove that row from the db, so it won't be favorited anymore
    
    }
    else
    {
       //post is not favourited already, run a query to add a new favourite to the db.
    }
    
    ?>
    

    HTML

    <a href="#" class="favourite" data-id="<?php echo $post_id; ?>">Favourite</a>
    

    jQuery

    $(document).ready(function() {
        $('.favourite').on('click', null, function() {
            var _this = $(this);
            var post_id = _this.data('id');
            $.ajax({
              type     : 'POST',
              url      : '/file.php',
              dataType : 'json',
              data     : 'id='+ post_id,
              complete : function(data) {
                   if(_this.siblings('.typcn-star-outline'))
                   {
                     _this.html('<span class="typcn typcn-star-full-outline"></span>Favourite');
                   }
                   else
                   {
                     _this.html('<span class="typcn typcn-star-outline"></span>Favourited');
                   }
                }
            });
        });
    });
    

    また、PHPではmysql_ *関数が非推奨になり、安全に使用できないことに注意してください(SQLインジェクション攻撃を許可します)。 PDOの詳細については、こちらをご覧ください: http://code.tutsplus.com/tutorials/why-you-should-be-using-phps-pdo-for-database-access--net-12059




    1. rake db:create-照合の問題

    2. その場でテーブルを作成するためのデータベース設計

    3. SQLServer2008-数値を含む文字列による順序

    4. 別のテーブルに行を挿入するようにMySQLトリガーをプログラムするにはどうすればよいですか?