2017-07-05 5 views
-2

写真がアップロードされたページがあります。写真が表示されているときに、写真のポイントを与えるボタンがあります。私は選択のIDを取得し、このコードを持っている。これは、photo.phpでphoto.view.phpにあるこのPHPコードdivをクリックしたときにsqlフィールドに1を加えます。

function puntos(){ 
     <?php 
     mysql_query("UPDATE 'fotos' SET 'relevancia=relevancia+1' WHERE 'id = $id'"); 
     ?> 
    } 

を有しているJavaScript関数とのonclickを得たボタンに

写真

$id = isset($_GET['id']) ? (int)$_GET['id'] : false; 

私は間違っていますか?

+2

このようなjavascriptでphp(mysql)を混ぜることはできません - AJAXを見てください – rtfm

答えて

0

あなたは遠く離れています。最初の基本に戻る

:クライアント

MySQLとPHPの実行対

サーバーサーバー上の

JavaScriptが彼らのブラウザでクライアント上で実行されます。

これは、JavaScriptがデータベースに直接アクセスできないことを意味します。あなたがそこに着く前に、多くの作業を行う必要があります。

クリックに反応して反応するのは、JavaScriptができることです(これはかなり熟練しています)。通常

コミュニケーション

ときに、それが参照するコンポーネントは、HTTPを介してサーバからクライアントに送信されているページのダウンロード。

ブラウザでは、クライアントからサーバーに何かを戻すには、別のクエリを送信するか、クライアントからサーバーに何らかのネットワーク接続を開いて、そのコンテンツを転送するか、何らかの理由でクライアントで起こった。

伝統的にこれは、GETまたはPOST HTTPリクエストとブラウザのページのリロードをもたらすフォームとクリックを意味していました。我々が得たまでだ

AJAX

基本的には、クライアントからサーバへの接続は、JavaScriptの自体によって開始することができ、それだけでブラウザのようなサーバーコンポーネント(に話すことができ)ページをリロードせずにフォームを送信する必要もありません)。これにより、マウスのクリックや移動(JavaScriptが検出できるもの - それは多くを検出することができます)によって、サーバーにデータが送信され、そのJavaScriptによって収集された回答につながる可能性があります。それがページ(別名DOM)を更新する場合は、選択するスクリプトまでです。今、サーバはまだJavaScriptがデータベースを更新言わせるつもりはないとの通信をクライアント上でJavaScriptを持つ

サーバー側

。そのため、厳格な検証を行うサーバー側のコンポーネントが必要です(上記のコードは、セキュリティ面から見たホラーストーリーです)、必要に応じてデータベースを更新します。

TL; DR

は、あなたがより

いくつかの出発点シンプルなAJAXを行う方法をよく読んで提案する:

しかし確かにそこにははるかに多くのものがあります。

+0

Muchas gracias por laexplicacióny el tiempo。 Sabia que algo me faltaba y podia encontrar que。 Todavia queda mucho por aprender。グラシアス! –

関連する問題