嘿,我想知道这样的事情是否可能?
$result = mysql_query("SELECT * FROM posted_events WHERE Month_ = ".echo"monthS";." );
显然语法是错误的(因为它不起作用),但基本上我想从我的数据库中选择一些数据,这些数据等于我的 JS 文件中恰好是 JS 变量的变量。我知道你不能将 js 变量分配给 PHP,除非你使用 AJAX,但是当我使用 ajax 时,它首先返回一个空字符串,运行 php 然后它给我变量的值,但到那时我php 脚本已经运行。所以想知道我是否可以回显这个变量。
我没有使用任何提交或隐藏的发布方法,因为在我尝试创建的内容中没有必要。所以我需要找到一种方法让 PHP 识别变量并进行查询。请帮我。非常感谢。
我的 JS:
var date = new Date();
var month = date.getMonth();
var day = date.getDay();
var monthDate = date.getDate();
var monthNow= date.getMonth();
var monthNow2;
var current = 1;
var first_date = new Date(date.getFullYear(), date.getMonth(), 1);
var start_day = first_date.getDay();
var start_day2;
var first_date2;
var weekday;
var day_selected;
var day_selectedTxt;
var monthNowTxt;
var dayNum;
var out;
var monthS;
var calenderMonths = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September',
'October', 'November', 'December'];
var calenderDays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday' ];
var daysInMonths = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
function currentDate(){
var first_day = first_date.getDay() +1;
document.getElementById("monthElement").innerHTML = calenderMonths[month];
for( var days = 1; days <= daysInMonths[month]; days++) {
document.getElementById("day"+ first_day).innerHTML = days;
first_day++;
}
//current date
if( month === monthNow) {
monthDateNow = start_day +monthDate;
var today = document.getElementById("day"+ monthDateNow);
today.setAttribute('class', today.getAttribute('class') + ' current');
}
start_day2 = start_day;
monthNow2 = monthNow;
monthS = calenderMonths[monthNow];
$.get('load2.php', {month:monthS} );
//where i made the ajax get
}
我的PHP:
<?php
Header("content-type: application/x-javascript");
error_reporting(E_ERROR | E_WARNING | E_PARSE);
$monthS = $_GET['month'];
// Connect to MySQL
if ( !( $database = mysql_connect( "localhost",
"root", "" ) ) )
die( "Could not connect to database </body></html>" );
// open Events database
if ( !mysql_select_db( "Events", $database ) )
die( "Could not open Events database </body></html>" );
$result = mysql_query("SELECT * FROM posted_events WHERE Month_ = .'monthS'.")
or die ('Error updating database because: '.mysql_error());;
$daysArray = Array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$daysArray[] = $row['DayNum']; }
$length = count($daysArray);
echo "function test() { ";
for($i=0; $i < $length; $i++) {
echo "var active = document.getElementById('day'+".$daysArray[$i].");
active.setAttribute('class', active.getAttribute('class') + ' event'); ";
}
echo "}";
?>
在我的 HTML<body onload="currentDate(); test(); " class ="home">
和其他代码中,我刚刚发布了因为其余的都没有必要。