-1

我有我正在用 PHP 读取的 MySQL 数据库:

$con = mysqli_connect($host, $user, $pwd, $db);

if(mysqli_connect_errno($con)) {
    die("Failed to connect to MySQL: " . mysqli_connect_error());
}   

$sql = "SELECT Grad FROM lista";

$result = mysqli_query($con, $sql);

$rows = array();

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
   $rows[] = $row; 
}

mysqli_close($con);

$arr = array_flip(array_map('serialize', $rows));
$lista = array_map('unserialize', array_flip($arr));
echo json_encode((object) array('lista' => array_values($lista)));

从本地主机我得到这个:

{"lista":[{"Grad":"Beograd"},{"Grad":"Novi_Sad"},{"Grad":"Kragujevac"}]}

有没有办法得到这样的东西:

{"lista":[{"Grad":"Odaberite grad"},{"Grad":"Beograd"},{"Grad":"Novi_Sad"},{"Grad":"Kragujevac"}]}

我想{"Grad":"Odaberite grad"}在所有内容前面添加。先感谢您。

编辑:请注意 {"Grad":"Odaberite grad"} 不是 MySQL 表的一部分

4

3 回答 3

1

对我来说,对于如何对结果进行排序没有明确的逻辑,但在这种情况下,如果你希望一个是第一个,只需在你的表中添加另一列,priority比如0所有行的 ie 然后将其设置为 ie1或更高的最喜欢的行,然后选择ORDER BY priority DESC和瞧。

编辑要将您的项目添加到结果数组使用array_unshift(): http: //php.net/array_unshift

于 2013-07-31T20:11:39.630 回答
1

您可以使用将值添加到数组中

array_unshift($arr, "Odaberite grad");
于 2013-07-31T20:11:40.790 回答
1

$arr您是否尝试在声明如下后添加您想要的内容:

$rows = array();
$rows[] = array('Grad' => 'Odaberite grad');

更新:

或者,正如其他回答者指出的那样,您也可以使用array_unshift如下:

array_unshift($rows, array('Grad' => 'Odaberite grad'));
于 2013-07-31T20:12:46.137 回答