2016-07-18 8 views
0

こんにちは私は質問を私はJQueryに似ていないimを持っています。だから私はリンクを持っていると言うことができます。このリンクのOnclickは、ページのリロードなしで小さな読み込みアニメーションでdivからdivへランダムコンテンツをロードしたいと思います。これを行うにはどうすればよいですか?JQuery onclickでMySqlの任意のコンテンツをdivにロードするには?

これはjquery呼び出しからmysql ouputにロードしたいdivです。

   <p class="joketext">Some Text inside</p> 

これはユーザーがクリックするボタンで、mysqlのランダムな内容をdivにロードする必要があります。

<a class="btn btn-success show_new_" href='#'>Load new random content into div</a> 
+0

あなたはajax –

+0

@ j.Doeを使ってデータベースに電話をかけなければなりません。 – Phil

+5

こちらを読むようにしてください。 [Mysqlからデータを取得するためにJquery Ajaxを使用する](http://stackoverflow.com/questions/16707648/using-jquery-ajax-to-retrieve-data-from-mysql) –

答えて

0

あなたは、いくつかのサーバー側のコードといくつかを必要としますクライアント側。

あなたの用途に適した選択肢は、プレーンテキストの代わりに常にjsonです。

PHPで最も簡単なサーバ側は、おそらくこれです:

<?php 
$host="localhost"; 
$username="youruser"; 
$password="yourpass"; 
$db_name="yourdb"; 
$db_query="yourquery"; 

$mysqli = new mysqli("$host", "$username", "$password", "$db_name"); 
if ($mysqli->connect_errno) { 
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; 
} 

$mysqli->real_query($db_query); 
$res = $mysqli->use_result(); 
$rows = array(); 
while ($row = $res->fetch_assoc()) { 
    $rows[] = $row; 
} 

print(html_entity_decode(json_encode($rows)); 
?> 

あなたがここに素敵な例を見つけることができますどのようにjQueryを使ってasynchronus AJAX呼び出しを作るために:http://api.jquery.com/jquery.getjson/

クリックイベントが何を参照してくださいどのようにhandly @ Loadxは書きました。 もちろん、PHPの出力をプレーンテキストに変更することはできますが、JavaScriptを使用する場合は、htmlサーバー側を生成しないことをお勧めします。

+0

これも良い方法ですか、あなたの方法ですはるかに高速ですか?<?php $ pdo = new PDO( 'mysql:host = localhost; dbname = xxx'、 'xxx'、 'xxx'); $ sql = "SELECT * FROM lachexpress ORDER BY rand()LIMIT 1"; foreach($ pdo-> query($ sql)$行){ echo "$ row ['witz']"; } ?> – Phil

+0

このように少量のデータを計算して転送してもそれほど大きな違いはありません。 PDO対MySQLi:http://code.tutsplus.com/tutorials/pdo-vs-mysqli-which-should-you-use--net-24059 JOSN対プレーンテキスト:あなたがDOMクライアント側を操作しながらHTMLサーバー側を生成します。 –

+0

私は自分の英語がよくわからないことを理解していませんので、どのような使い方をしているのかは教えてくださいup.thx – Phil

0

ドキュメントはとてもうまく説明しています。 http://api.jquery.com/load/

$(document).ready(function(){ 
    $('.show_new_').on('click', function(){ 
    $('.joketext').load('/path/to/some/script'); 
    }); 
}); 

何かが指摘して、あなたのHTMLにid属性を追加します。クラスを使用しているアイテムが1つしかない場合を除き、そのクラスのすべてのアイテムにajaxが発生します。

あなたはそれがそうでなければ、この問題が発生します、同じドメイン上にあることを確実にすることのmysqlからデータをグラブするスクリプトを作成する必要があります。

https://en.wikipedia.org/wiki/Same-origin_policy

関連する問題