我刚刚发现我不能立即在 codeigniter 中使用 PHPSESSIONS,所以我已经下载了 Codeigniter 的 Native_Sessions 库。
我有一个搜索查询,用于使用在线邮政编码数据库 api 在数据库中搜索邮政编码。我将来自 api 的邮政编码存储在一个会话中,并想在我的工厂表中搜索这些邮政编码,其中每个工厂都有一行邮政编码。
所以我的工厂表是这样的:
Factories
---------
Factoryid
Factoryname
Adress
Postcode
Country
...
...
...
我的邮政编码搜索查询如下所示:
if (!isset($_COOKIE['cookie'])) {
$query = "SELECT * FROM (`bedrijfcategorieen`)
JOIN `bedrijven` ON `bedrijfcategorieen`.`idbedrijven` = `bedrijven`.`idbedrijven`
JOIN `categorieen` ON `bedrijfcategorieen`.`idcategorieen` = `categorieen`.`idcategorieen`
WHERE (`Bedrijfsnaam` LIKE '%".$this->input->post('search')."%'
OR `Plaats` LIKE '%".$this->input->post('search')."%'
OR `Telefoonnummer` LIKE '%".$this->input->post('search')."%'
OR `Email` LIKE '%".$this->input->post('search')."%'
OR `Website` LIKE '%".$this->input->post('search')."%'
OR `Profiel` LIKE '%".$this->input->post('search')."%'
OR `Adres` LIKE '%".$this->input->post('search')."%'
OR `Categorie` LIKE '%".$this->input->post('search')."%')
而这一行用于搜索邮政编码:
AND (Postcode LIKE '%". $_SESSION['postcodes'] ."%')
这不起作用,所以我认为我做错了。注意我的会话称为邮政编码,如上所示。
GROUP BY `Categorie`, `bedrijfcategorieen`.`idbedrijven`";
$query = $this->db->query($query);
$result = $query->result_array();
return $result;
用于设置会话的代码。形式:
表单的javascript:(使用:http ://www.d-centralize.nl/pro6pp/
function send_data_to_server(output)
{
var post_code=$('.postcode').val();
var url = 'http://kees.een-site-bouwen.nl/script.php?output='+output+'&post_code='+post_code;
$.ajax({
url : url,
success : function (data)
{
}
});
};
数据发送到的 script.php:
<?php
echo '<pre>';
session_start();
$new_post_code=$_GET['post_code'];
if($new_post_code!='' && $new_post_code!=0){
if(!isset($_SESSION['searched_post_code']) ||
empty($_SESSION['searched_post_code'])){
$_SESSION['searched_post_code']=$new_post_code;
}elseif($_SESSION['searched_post_code']!=$new_post_code){
$_SESSION['searched_post_code']=$new_post_code;
unset($_SESSION['postcodes']);
}
}
$output=$_GET['output'];
$_SESSION['postcodes'][]=$output;
echo $output;
print_r($_SESSION);
echo '</pre>';
?>