ホームページ バックエンド開発 PHPチュートリアル php+jQuery+Ajaxを使用して同様の効果を実現する方法

php+jQuery+Ajaxを使用して同様の効果を実現する方法

Jun 20, 2016 pm 01:01 PM
PHPのスキル

php+jQuery+Ajax で同様の効果を実現する方法、

例の形式で、php と jQuery の ajax 非リフレッシュ送信を組み合わせて同様の機能を実装する具体的な手順と関連テクニックを詳細に紹介します。

困っている友達は参考にしてください

php+jQuery+Ajax は次のように同様の効果を実現します。

データベース設計

最初に 2 つのテーブルを用意します。pic テーブルには、ユーザーが「いいね!」をクリックした後の IP データを記録する、写真に対応する名前、パス、「いいね!」の総数などの写真情報が保存されます。

CREATE TABLE IF NOT EXISTS `pic` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `pic_name` varchar(60) NOT NULL,
 `pic_url` varchar(60) NOT NULL,
 `love` int(11) NOT NULL DEFAULT '0',
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `pic_ip` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `pic_id` int(11) NOT NULL,
 `ip` varchar(40) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

ログイン後にコピー

index.php

index.phpでは、PHPを通じてpic table内の画像情報を読み込んで表示し、CSSと組み合わせてページの表示効果を高めています。

<?php
   include_once("connect.php");
   $sql = mysql_query("select * from pic");
   while($row=mysql_fetch_array($sql)){
     $pic_id = $row['id'];
     $pic_name = $row['pic_name'];
     $pic_url = $row['pic_url'];
     $love = $row['love'];
   ?>
   <li><img src="images/<?php echo $pic_url;?>" alt="<?php echo $pic_name;?>"><p><a href="#"
title="赞"class="img_on" rel="<?php echo $pic_id;?>"><?php echo $love;?></a></p></li>
<?php }?>

ログイン後にコピー

CSS では、マウスが赤いハート ボタンに近づいたり遠ざかったりする動的な効果を定義し、ボタンを配置します。

.list{width:760px; margin:20px auto}
.list li{float:left; width:360px; height:280px; margin:10px; position:relative}
.list li p{position:absolute; top:0; left:0; width:360px; height:24px; line-height:24px;
background:#000; opacity:.8;filter:alpha(opacity=80);}
.list li p a{padding-left:30px; height:24px; background:url(images/heart.png) no-repeat
4px -1px;color:#fff; font-weight:bold; font-size:14px}
.list li p a:hover{background-position:4px -25px;text-decoration:none}

ログイン後にコピー

jQuery コード

ユーザーが気に入った画像の赤いハートのボタンをクリックすると、Ajax リクエストがバックグラウンドの love.php に送信され、リクエストの応答が成功すると、元の値が更新されます。

$(function(){
  $("p a").click(function(){
    var love = $(this);
    var id = love.attr("rel"); //对应id
    love.fadeOut(300); //渐隐效果
    $.ajax({
      type:"POST",
      url:"love.php",
      data:"id="+id,
      cache:false, //不缓存此页面
      success:function(data){
        love.html(data);
        love.fadeIn(300); //渐显效果
      }
    });
    return false;
  });
});

ログイン後にコピー

love.php

バックグラウンドの love.php はフロントエンドから ajax リクエストを受け取り、送信された画像 ID 値に基づいて IP テーブルを検索し、ユーザーの IP のクリック記録があるかどうかを確認します。それ以外の場合は、次のようにしてください:

1. 画像テーブル内の対応する画像愛フィールドの値を更新し、値に 1 を加算します。
2. ユーザーが繰り返しクリックすることを防ぐために、ユーザーの IP 情報を pic_ip テーブルに書き込みます。
3. 更新されたいいねの値、つまり写真にいいねをしたユーザーの合計数を取得し、その合計をフロントエンド ページに出力します。

include_once("connect.php"); //连接数据库
$ip = get_client_ip(); //获取用户IP
$id = $_POST['id'];
if(!isset($id) || empty($id)) exit;
$ip_sql=mysql_query("select ip from pic_ip where pic_id='$id' and ip='$ip'");
$count=mysql_num_rows($ip_sql);
if($count==0){ //如果没有记录
  $sql = "update pic set love=love+1 where id='$id'"; //更新数据
  mysql_query( $sql);
  $sql_in = "insert into pic_ip (pic_id,ip) values ('$id','$ip')"; //写入数据
  mysql_query( $sql_in);
  $result = mysql_query("select love from pic where id='$id'");
  $row = mysql_fetch_array($result);
  $love = $row['love']; //获取赞数值
  echo $love;
}else{
  echo "赞过了..";
}

ログイン後にコピー

私がアップロードした添付ファイルのデータベース SQL では、UTF8 でエンコードされたテスト データベースを直接作成し、そこに SQL ファイルをインポートできます。 connect.php 内のデータベース接続情報を変更するだけです。

概要:

実際には、これは ajax リクエストを送信することを意味します。たとえば、製品に「いいね!」をしたい場合などです。製品テーブルには count フィールドが必要です。このフィールドに +1 リクエストを送信します

成功した場合は、現在の番号を返します。次にページを変更すると

になります。
function Zan( goodsId, a ){
  $.post( "/goods/zan/"+goodsId, null,function( ret ){
     if( ret.status == 'ok' )
      $(a).html( ret.zannum);
     else
      alert( ret.data );
  },'json' );
}

ログイン後にコピー

この記事が PHP を学習するすべての人に役立つことを願っています。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP でのファイルのアップロードおよびダウンロード手法の詳細な説明 PHP でのファイルのアップロードおよびダウンロード手法の詳細な説明 Jun 25, 2023 pm 05:57 PM

PHP は、Web サイト開発で広く使用されている非常に人気のあるサーバー側プログラミング言語です。中でもファイルのアップロードとダウンロードはWebサイトでよく使われる機能の1つであり、PHPはこれらの機能を実現するための機能や技術を豊富に提供しています。この記事では、ウェブサイトをより効率的に開発できるように、PHP でのファイルのアップロードとダウンロードのテクニックを詳しく紹介します。ファイルのアップロード ファイルのアップロードとは、ローカル コンピュータからリモート サーバーにファイルを送信することを指し、ファイルをアップロードした後、これらのファイルを保存、処理、表示できます。 PHPの場合

PHP Kuaishou API インターフェース呼び出しスキル: インターフェースから返されたエラー情報の処理方法 PHP Kuaishou API インターフェース呼び出しスキル: インターフェースから返されたエラー情報の処理方法 Jul 20, 2023 pm 11:22 PM

PHP Kuaishou API インターフェイス呼び出しのヒント: インターフェイスから返されるエラー情報の処理方法 PHP を使用して Kuaishou API インターフェイスを呼び出すと、インターフェイスがエラーを返す状況がよく発生します。処理インターフェイスから返されたエラー情報については、アプリケーションの安定性とユーザー エクスペリエンスを向上させるために、適切な処理とフィードバックを提供する必要があります。この記事では、インターフェイスから返されるエラー情報を処理するためのいくつかの手法を紹介し、対応するコード例を示します。 try-catch を使用して例外をキャッチします。API インターフェイスを呼び出すときに、いくつかの例外エラーが発生する場合があります。

PHPにおけるページング技術のフレームワークへの応用方法を詳しく解説 PHPにおけるページング技術のフレームワークへの応用方法を詳しく解説 Jun 09, 2023 am 11:40 AM

インターネットの急速な発展に伴い、ユーザーのブラウジング エクスペリエンスを向上させるためにデータ ページング機能を実装する必要がある Web サイトがますます増えています。 Web開発においてPHPは最も人気のあるサーバーサイドプログラミング言語の1つであり、データページング機能はPHP開発において欠かせない技術です。この記事では、フレームワークにおける PHP のページング テクノロジの適用方法を紹介し、さまざまなページング ソリューションの長所と短所を比較します。 1. 従来の PHP ページング手法 従来の PHP 開発では、データ ページング機能を実装するには大量のコードを記述する必要があり、それを各ページで繰り返す必要がありました。

PHP での改行の置換の詳細については、こちらをご覧ください。 PHP での改行の置換の詳細については、こちらをご覧ください。 Mar 20, 2024 pm 06:42 PM

PHP での改行の置換は、実際の開発、特にテキスト データを処理する場合によく発生する問題です。改行文字はオペレーティング システムによって表現方法が異なる場合があります。通常、Windows システムでは &quot;&quot;、Linux システムでは &quot;&quot; が使用されます。したがって、テキスト データが通常の形式であることを保証するために、改行を均一に処理する必要があります。この記事では、PHP で改行を置換する手法を詳しく説明し、具体的なコード例を示します。 1. PHP 組み込み関数を使用して改行を処理する PHP にはいくつかの組み込み関数が用意されています。

PHP プログラミングのヒント: 配列内の欠落している数値をすばやく見つける方法 PHP プログラミングのヒント: 配列内の欠落している数値をすばやく見つける方法 Mar 01, 2024 pm 04:27 PM

PHP プログラミングのヒント: 配列内で欠落している数値をすばやく見つける方法 プログラミングでは、配列内で特定の数値が欠落しているかどうかを確認する必要がある状況によく遭遇します。現時点では、欠落している数値をタイムリーに処理できるように、配列内で欠落している数値を見つけ出す迅速かつ効果的な方法が必要です。この記事では、PHP ベースのプログラミング手法を紹介し、具体的なコード例を使用して、配列内の欠落している数値をすばやく見つける方法を示します。 1. 方法 1: ループを使用して配列を走査する まず、配列をループして、配列内の欠落している数値をチェックします。具体的な手順

PHP プログラミングのヒント: 画像のスケーリングを処理する方法 PHP プログラミングのヒント: 画像のスケーリングを処理する方法 Aug 19, 2023 am 10:36 AM

PHP プログラミング スキル: 画像のスケーリングを処理する方法 最新の Web デザインでは、画像は不可欠な部分であり、画像のスケーリングは一般的な操作の 1 つです。画像のコレクションを表示する場合でも、さまざまなサイズのデバイスのニーズに対応する場合でも、画像のスケーリングは重要な役割を果たします。この記事では、PHP プログラミング言語を使用して画像のスケーリングを処理する方法を紹介し、参考用のコード例を添付します。 1. 画像のスケーリングに GD ライブラリを使用する GD ライブラリは PHP の強力な画像処理ライブラリであり、画像のスケーリング機能を実装するために使用できます。まず、確認してください

PHP の高度な同時処理スキルの分析 PHP の高度な同時処理スキルの分析 Aug 10, 2023 pm 06:53 PM

PHP の高度な同時処理スキルの分析 インターネットの発展に伴い、Web サイトへの同時アクセスの要件はますます高くなっています。 Web サイト開発用のプログラミング言語である PHP には、同時アクセスの負荷が高い場合にパフォーマンスと安定性を向上させるための特別な処理スキルが必要です。この記事では、PHP の高度な同時処理手法をいくつか紹介し、コード例を示します。 PHP-FPMPHP-FPM (FastCGIProcessManager) は、PHP によって公式に提供されているプロセス マネージャーです。

50の機能実装スキルをマスターし、PHP開発での経験を共有 50の機能実装スキルをマスターし、PHP開発での経験を共有 Nov 22, 2023 pm 04:51 PM

50の機能実装スキルをマスターし、PHP開発における経験を共有 PHP開発者として、効率的かつ高品質なコード実装を常に追求します。開発効率とコード品質を向上させるためには、さまざまな複雑な開発ニーズや課題に対処するための経験とスキルを蓄積する必要があります。この記事では、PHP 開発の旅を進めるすべての人に役立つことを願って、さまざまな機能を実装するための 50 の PHP 開発のヒントと経験を共有します。適切なフレームワークを使用する: 自分に合った PHP フレームワークを選択し、慣れることで、開発効率が向上し、

See all articles