<?php
//----------------------------------------------------
//data base infomation
//Edit when you use.
//----------------------------------------------------
$mysql['server'] = 'localhost';
$mysql['user'] = 'root';
$mysql['passwd'] = '';
$mysql['database'] = 'test';//----------------------------------------------------
// The use of the data sent from the Javascript side is enabled.
//----------------------------------------------------
$data = array();$db_table = mysql_real_escape_string($_GET['db_table']);
$q_word = mysql_real_escape_string($_GET['q_word']);
$page_num = mysql_real_escape_string($_GET['page_num']);
$per_page = mysql_real_escape_string($_GET['per_page']);
$field = mysql_real_escape_string($_GET['field']);
$show_field = mysql_real_escape_string($_GET['show_field']);
$hide_field = mysql_real_escape_string($_GET['hide_field']);
$select_field= mysql_real_escape_string($_GET['select_field']);
$order_field = mysql_real_escape_string($_GET['order_field']);
$primary_key = mysql_real_escape_string($_GET['primary_key']);
$order_by = mysql_real_escape_string($_GET['order_by']);$offset = ($page_num - 1) * $per_page;
$show_field = ($show_field)
? explode(',',$show_field)
: array(false);
$hide_field = explode(',',$hide_field);
//----------------------------------------------------
// connect data base
//----------------------------------------------------
$db = mysql_connect($mysql['server'], $mysql['user'], $mysql['passwd']);
mysql_select_db($mysql['database'], $db);
//----------------------------------------------------
// get autocomplete candidate
//----------------------------------------------------
$query = " SELECT $select_field
FROM $db_table
WHERE $field LIKE '%$q_word%'
ORDER BY (
CASE
WHEN $order_field LIKE '$q_word%'
THEN 0
ELSE 1
END
),$order_field $order_by
LIMIT $per_page
OFFSET $offset";
$rows = mysql_query($query, $db);$data['cnt_page'] = 0;
$attached_cnt = 0;
while ($row = mysql_fetch_array($rows,MYSQL_ASSOC))
{
$data['cnt_page'] ++;
foreach($row as $key => $value){ // for "select_only" option
if($key == $primary_key){
$data['primary_key'][] = $value;
} // get the value for autocomplete candidate
if($key == $field){
$data['candidate'][] = $value; } else { // for Sub-info
if(!in_array($key, $hide_field)){ // It non-displays it in the exclusion column when not corresponding
// to the display column though it doesn't correspond.
// However, it doesn't become non-display when there is "*"
// in the display column.
if(
$show_field[0] !== false
&& !in_array('*', $show_field)
&& !in_array($key, $show_field)
){
continue;
} $data['attached'][$attached_cnt][] = array(
0 => $key,
1 => $value
);
}
}
}
$attached_cnt++;
}
//----------------------------------------------------
// get the entire number
//----------------------------------------------------
$query = "
SELECT $field
FROM $db_table
WHERE $field LIKE '%$q_word%'
";
$data['cnt'] = mysql_num_rows( mysql_query($query, $db) );echo json_encode($data);
//----------------------------------------------------
// End
//----------------------------------------------------
// cut the connection with the data base
mysql_close($db);?>
//----------------------------------------------------
//data base infomation
//Edit when you use.
//----------------------------------------------------
$mysql['server'] = 'localhost';
$mysql['user'] = 'root';
$mysql['passwd'] = '';
$mysql['database'] = 'test';//----------------------------------------------------
// The use of the data sent from the Javascript side is enabled.
//----------------------------------------------------
$data = array();$db_table = mysql_real_escape_string($_GET['db_table']);
$q_word = mysql_real_escape_string($_GET['q_word']);
$page_num = mysql_real_escape_string($_GET['page_num']);
$per_page = mysql_real_escape_string($_GET['per_page']);
$field = mysql_real_escape_string($_GET['field']);
$show_field = mysql_real_escape_string($_GET['show_field']);
$hide_field = mysql_real_escape_string($_GET['hide_field']);
$select_field= mysql_real_escape_string($_GET['select_field']);
$order_field = mysql_real_escape_string($_GET['order_field']);
$primary_key = mysql_real_escape_string($_GET['primary_key']);
$order_by = mysql_real_escape_string($_GET['order_by']);$offset = ($page_num - 1) * $per_page;
$show_field = ($show_field)
? explode(',',$show_field)
: array(false);
$hide_field = explode(',',$hide_field);
//----------------------------------------------------
// connect data base
//----------------------------------------------------
$db = mysql_connect($mysql['server'], $mysql['user'], $mysql['passwd']);
mysql_select_db($mysql['database'], $db);
//----------------------------------------------------
// get autocomplete candidate
//----------------------------------------------------
$query = " SELECT $select_field
FROM $db_table
WHERE $field LIKE '%$q_word%'
ORDER BY (
CASE
WHEN $order_field LIKE '$q_word%'
THEN 0
ELSE 1
END
),$order_field $order_by
LIMIT $per_page
OFFSET $offset";
$rows = mysql_query($query, $db);$data['cnt_page'] = 0;
$attached_cnt = 0;
while ($row = mysql_fetch_array($rows,MYSQL_ASSOC))
{
$data['cnt_page'] ++;
foreach($row as $key => $value){ // for "select_only" option
if($key == $primary_key){
$data['primary_key'][] = $value;
} // get the value for autocomplete candidate
if($key == $field){
$data['candidate'][] = $value; } else { // for Sub-info
if(!in_array($key, $hide_field)){ // It non-displays it in the exclusion column when not corresponding
// to the display column though it doesn't correspond.
// However, it doesn't become non-display when there is "*"
// in the display column.
if(
$show_field[0] !== false
&& !in_array('*', $show_field)
&& !in_array($key, $show_field)
){
continue;
} $data['attached'][$attached_cnt][] = array(
0 => $key,
1 => $value
);
}
}
}
$attached_cnt++;
}
//----------------------------------------------------
// get the entire number
//----------------------------------------------------
$query = "
SELECT $field
FROM $db_table
WHERE $field LIKE '%$q_word%'
";
$data['cnt'] = mysql_num_rows( mysql_query($query, $db) );echo json_encode($data);
//----------------------------------------------------
// End
//----------------------------------------------------
// cut the connection with the data base
mysql_close($db);?>
0=>array(1,2,3,4),
1=>array(5,6,7,8),
2=>array(9,10,11,12),
);
echo "<pre/>";
$jsone=json_encode($arr);echo $jsone."\n";//json编码$jsone=json_decode($jsone);print_r($jsone);//json解码