0

我正在为 jQuery 使用 fullCalendar 插件,但在传递变量时遇到了问题。

基本上,我想要的是创建一个搜索并将搜索输入传递给资源选项的 url。

我有一个搜索代码,它看起来像这样

<form action="employees.php" method="POST"> 
    <input type="text"   name="name" size="25" maxlength="230" 
           style="margin-left:5px;" value="" />
    <br /> 
    <p style="padding-top:10px; margin-left:5px;">
     <input type="submit" value="Submit" class="button" />
   </p> 
</form>

我的带有日历脚本的 employees.php 如下所示:

<script type='text/javascript'>
$(document).ready(function() {

    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();
    var calendar = $('#calendar').fullCalendar({
        header: {
            left: 'today prev,next',
            center: 'title',
            right: ''
        },
        defaultView: 'resourceWeek',
        refetchResources: true,
        selectHelper: true,
        numberOfWeeks: 1,
        weekends: false,
        firstDay: 1,    
        editable: false,
        selectable: false,
        refetchResources: true,
        selectHelper: true,
        resources: 'resource_employee.php',
 // more code
        ?>

我的 resource_employee.php 页面看起来像这样

<?php
// some connection code
$name = mysql_real_escape_string($_POST[name]);

//$name = 'Goo'; 

//$result = mysql_query("SELECT CONCAT(first_name, ' ', last_name) AS name, employeeID FROM ecc_employee WHERE first_name != '' ");
$result = mysql_query("SELECT CONCAT(first_name, ' ', last_name) AS name, employeeID FROM ecc_employee WHERE CONCAT(first_name, ' ', last_name) LIKE '%$name%' ");

$resources = array();

while ($row=mysql_fetch_array($result)){            
    $name = ($row['name']);
    $id =  $row['employeeID'];

    $resources[] = array(
    'name' =>  "$name",
    'id' => "$id"
    );

}
echo json_encode($resources);

?>

不幸的是,这不会返回任何内容,因为 $_POST[name] 没有被拉入此页面,因为它在脚本中。

如果我取消注释 //$name = 'Goo'; 然后它将呈现,所以我知道它不是 SQL,它正在获取 $_POST。

如何将 $_POST[name] 放入查询中?

4

2 回答 2

1

所以我能够通过执行以下操作获得 $_GET['employeename'] :

<script type='text/javascript'>
$(document).ready(function() {

    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();
    var calendar = $('#calendar').fullCalendar({
        header: {
            left: 'today prev,next',
            center: 'title',
            right: ''
        },
        defaultView: 'resourceWeek',
        refetchResources: true,
        selectHelper: true,
        numberOfWeeks: 1,
        weekends: false,
        firstDay: 1,    
        editable: false,
        selectable: false,
        refetchResources: true,
        selectHelper: true,
        resources: 'resource_employee.php?employeename=<?php echo $_GET['employeename']; ?>',
        events: 'events.php',

很简单,不知道为什么在任何其他问题中都没有回答这个问题。希望这可以为一些可怜的人节省时间。

于 2013-04-22T18:55:07.363 回答
0

它应该是$_POST['name']单引号

于 2013-04-16T07:02:02.457 回答