-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

私には、結果をどのように並べ替えるかについて明確なロジックはありませんが、そのような場合、1つを最初にしたい場合は、テーブルに別の列を追加するだけで、すべての行priorityをieにしてからieに設定します以上のお気に入りの行を選択し、出来上がりを選択します。01ORDER BY priority DESC

EDITアイテムを結果配列の先頭に追加するには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 に答える