Php 为数组设置多个键和值
下面我有一个小代码片段。我使用jQueryUI的autocomplete函数从mySql数据库中提取数据,并在有人搜索特定用户时将用户名填充到搜索栏中。我希望它能自动完成被搜索人的名字和姓氏。例如,如果AutoNobug函数预测有人正在寻找勒布朗·詹姆斯,我希望它返回第一个和最后一个名字。目前,我只能让它返回名字。通过查看文档,我认为可以通过将多个键和值对逐个放置来添加它们。这对我来说只有一个名字。我在第二个标签/值对名称后添加了一个“2”,看看给它们不同的名称是否有帮助。它仍然只返回名字,而不返回姓氏。如何让它在我的自动完成中同时返回名字和姓氏 my index.phpPhp 为数组设置多个键和值,php,jquery,mysql,autocomplete,Php,Jquery,Mysql,Autocomplete,下面我有一个小代码片段。我使用jQueryUI的autocomplete函数从mySql数据库中提取数据,并在有人搜索特定用户时将用户名填充到搜索栏中。我希望它能自动完成被搜索人的名字和姓氏。例如,如果AutoNobug函数预测有人正在寻找勒布朗·詹姆斯,我希望它返回第一个和最后一个名字。目前,我只能让它返回名字。通过查看文档,我认为可以通过将多个键和值对逐个放置来添加它们。这对我来说只有一个名字。我在第二个标签/值对名称后添加了一个“2”,看看给它们不同的名称是否有帮助。它仍然只返回名字,而不
<?php
// here we set the database information
$SERVER = 'localhost';
$USER = 'user';
$PASS = 'password';
$DATABASE = 'database';
// we are instantiating the mysqli database object
$db = new mysqli($SERVER, $USER, $PASS, $DATABASE);
// error check
if($db->connect_errno > 0){
// report an error
die('Unable to connect to database [' . $db->connect_error . ']');
}
$sql = 'SELECT * FROM users WHERE user LIKE "' . $_REQUEST['term'] . '%"';
$result = $db->query($sql);
$data = array();
while ($row = $result->fetch_assoc())
{
$data[] = array(
'label' => $row['firstName'] ,
'value' => $row['lastName'],
'label2' => $row['lastName'],
'value2' => $row['lastName'],
);
}
// jQuery wants JSON data
echo json_encode($data);
flush();
直接取自:
支持多种类型:数组:数组可用于本地数据。
支持两种格式:字符串数组:[“Choice1”,
“Choice2”]具有标签和值属性的对象数组:[{
标签:“Choice1”,值:“value1”},]
他们希望您提供以下信息:
[
{'label': 'label', 'value': 'value'},
{'label': 'label', 'value': 'value'},
{'label': 'label', 'value': 'value'}
....etc
]
你是这样提供的:
[
{'label': 'label', 'value': 'value', 'label1': 'label1', 'value1': 'value1'}
....etc
]
我本人没有使用jQuery UI的这一部分,因此我不能对此发表评论,但是我可以建议您解析全名:firstname\u lastname
在标签中,然后可能利用它来显示全名
或者,您可以通过php文件传递标签,如下所示:
while ($row = $result->fetch_assoc())
{
$data[] = array(
'label' => $row['firstName'] . ' '. $row['lastName'],
'value' => $row['firstName'] . ' '. $row['lastName'],
);
}
谢谢。我正在查找php数组的文档。谢谢你帮我。
while ($row = $result->fetch_assoc())
{
$data[] = array(
'label' => $row['firstName'] . ' '. $row['lastName'],
'value' => $row['firstName'] . ' '. $row['lastName'],
);
}