我有以下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里面的.js文件,我执行一个特定的操作,我想检查我是否有一个TRUE或FALSE结果。在jquery中,我使用一个名为val的变量。所以在某个地方的jquery里面我想要这样的东西:
if (dateIndaysoff(val)) {something}
有什么想法吗?
答案 0 :(得分:1)
不是将php代码包装在函数中,而是将其包装在if($_POST['checkDate']){//your code here}
中,然后在javascript中创建一个ajax请求(http://www.w3schools.com/ajax/),它发送一个名为checkDate
的参数,在ajax调用的success
块中,您可以将代码表示为{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
}
答案 1 :(得分:0)
只是处理您当前的代码。
在你的php文件中,我们可以说datasource.php
echo dateIndaysoff()
在您的请求文件中,我们可以说index.php
$.ajax({
url: "index.php",
context: document.body
}).done(function( data ) {
/* do whatever you want here */
});
答案 2 :(得分:0)
你可以用AJaX做到这一点。像这样:
包含您正在使用的所有功能的PHP文件( functions.php ):
function test($data) {
// ...
}
请求数据的JS:
function getTest() {
$.ajax('getTestByAJaX.php', {
"data": {"param1": "test"},
"success": function(data, status, xhr) {
}
});
}
getTestByAJaX.php 。一个获取AJaX调用并执行PHP函数的PHP。
require 'functions.php';
if (isset($_REQUEST["param1"])) {
echo test($_REQUEST["param1"]);
}
答案 3 :(得分:0)
好的,如果我做对了,我必须这样做:
1st)创建一个.php文件,我将在其中插入我的php函数,在函数之上,我将把它放在:
$ mydate = $ _POST [' val'];
其中$ mydate是函数的结果,你可以从我的第一篇文章中看到,val是我想从ajax放入$ mydate的变量。
2)我将进入.js文件。现在这是问题所在。这里有一个像这样的代码:
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();
}
});
在这段代码中,在第一个if中,我想看看变量val是否在我的数据库表中。那么,我怎么能用你建议的Ajax正确编写这个jQuery才能使它工作?也请看看我的php函数可能有错误(在这个函数中我想连接数据库,如果$ myvalue在表列中,则取为TRUE)