2016-04-28 32 views
0

私は以下のPHP関数を持っています。jsファイルにPHP関数をロードして関数を使用

public function dateIndaysoff($mydate=false){ 
     if(!$mydate)return false; 

     $host = "localhost"; 
     $user = "user"; 
     $pass = "pass"; 
     $databaseName = "database"; 
     $tableName = "table"; 
     $con = mysql_connect($host,$user,$pass); 
     $dbs = mysql_select_db($databaseName, $con); 

     // $db=JFactory::getDbo(); 
     $dbs->setQuery("select date from table WHERE `date`='$mydate'")->query(); 
     return (int) $db->loadResult(); 
    } 

この関数は、データベース表の列内の入力値を検索し、見つかった場合、我々はTRUE、そうでなければFALSEを持っています。

私は特定のアクションを実行するjqueryファイル内にjqueryを持っており、TRUEまたはFALSEの結果があるかどうかをチェックしたいと思います。 jqueryではvalという変数を使います。

if (dateIndaysoff(val)) {something} 

任意のアイデア:だから、いくつかの場所でのjQueryの内側に私はこのような何かをしたいですか? checkDateという名前のパラメータを送信し、AJAXのsuccessブロックで、その後JavaScriptでAJAXリクエスト(http://www.w3schools.com/ajax/)を作る代わりに、あなたはif($_POST['checkDate']){//your code here}でそれをラップすることができます機能でPHPコードをラップする

+5

ajax/XHRリクエストを作成しますか? – Daan

+2

mysql_connectは使用しないでください。これは推奨されておらず、php7では削除され、代わりにPDOが使用されます。 –

答えて

1

は、あなたが持つことができる呼び出しますあなたのコードあなたは{something}

function checkDate(){ 
    $.post('yourPhpFile.php', {checkDate:$dateToBeChecked}, function(data){ 
    if(data){alert("true")}; 
    }); 
}; 

とPHPとして表される:ちょうどあなたの現在のコードで動作するように

if($_POST['checkDate']){ 
    //your current function, $_POST['checkDate'] is the parameter sent from js 
} 
+0

もっと具体的な例を教えてください。 –

0

。あなたのphpファイルで

はあなたの要求ファイルでdatasource.php

echo dateIndaysoff() 

あなたはAJAXでそれを行うことができます

$.ajax({ 
    url: "index.php", 
    context: document.body 
}).done(function(data) { 
    /* do whatever you want here */ 
}); 
0

はindex.php言うことができます言うことができます。

あなたは(のfunctions.php)を使用しているすべての機能を持つPHPファイル:

function getTest() { 
    $.ajax('getTestByAJaX.php', { 
     "data": {"param1": "test"}, 
     "success": function(data, status, xhr) { 
     } 
    }); 
} 

getTestByAJaX:データを要求する

function test($data) { 
    // ... 
} 

A JSをこのような何か。 ph。 AJaX呼び出しを取得してPHP関数を実行するPHP。私はこの権利を得た場合

require 'functions.php'; 
if (isset($_REQUEST["param1"])) { 
    echo test($_REQUEST["param1"]); 
} 
0

[OK]を私はこれをしなければならない。

第一)私は私のPHPの関数を挿入し、機能の上に私はこの入れます.PHPファイルを作成します。

を$ mydate = $ _POST ['val'];

ここで$ mydateは私の最初の投稿から見ることができる関数の結果であり、valはajaxから$ mydateに入れたい変数です。

2番目).jsファイル内に移動します。今ここに問題があります。私は、変数valが私のデータベーステーブル内にあるかどうかを確認したい、場合は、最初に、このコード内

jQuery(".datepicker").change(function() { 
var val = jQuery(this).datepicker().val(); 
console.log(val); 
    if (dateIndaysoff(val)) { 
    console.log("hide"); 
    jQuery('.chzn-drop li:nth-child(9)').hide(); 
    jQuery('.chzn-drop li:nth-child(10)').hide(); 
} else { 
    console.log("show"); 
    jQuery('.chzn-drop li:nth-child(9)').show(); 
    jQuery('.chzn-drop li:nth-child(10)').show(); 
} 
}); 

:ここで私は、このようなコードを持っています。だから、私はこれを正しく動作させるためにあなたが提案するAjaxを使ってこのjQueryを正しく書くことができますか?また、おそらく私のPHP関数で間違いがあるかもしれません(この関数では、データベースと接続し、$ myvalueがテーブルの列の中にある場合はTRUEをとります)

関連する問題