【发布时间】:2015-02-07 19:32:52
【问题描述】:
所以,我在这里遇到了一个奇怪的情况:
我有一个表单,该表单有几个类别,通过 Json 加载。
我所指的表格部分的代码如下:
<div>
<select>
<?php include_once("php_loader/getAllCategoriesOptions.php"); ?>
</select>
</div>
到目前为止一切顺利,然后我有那个 php 文件:
<?php
$con = $con = mysqli_connect("localhost","XXX","XXX","XXX");
mysqli_query($con,"SET NAMES UTF8"); /
if (!$con)
{
die('Could not connect: ' . mysqli_error());
}
$result = mysqli_query($con,"SELECT * FROM categories WHERE IdCategory > 1") or die;
while($row = mysqli_fetch_assoc($result))
{
$output[]=$row;
}
print json_encode($output);
foreach($output as $json){
echo'<option value="'.$json['IdCategory'].'">'.$json['Category'];
}
mysqli_close($con);
?>
Wich 会返回以下输出:
[{"IdCategory":"2","Category":"爱好"},{"IdCategory":"3","Category":"纹身"},{"IdCategory":"4","类别":"旅行"},{"IdCategory":"5","Category":"Esoteric"},{"IdCategory":"6","Category":"Books"}]
爱好 纹身 旅行 深奥的 书籍。
到目前为止一切顺利。但是当我在我的 html 页面中包含它时,它会给我以下输出:
<div>
<select>
[{"IdCategory":"0","Category":"All Categories"},{"IdCategory":"1","Category":"Technology"},{"IdCategory":"2","Category":"Hobbies"},{"IdCategory":"3","Category":"Tattoos"},{"IdCategory":"4","Category":"Trips"},{"IdCategory":"5","Category":"Esoteric"},{"IdCategory":"6","Category":"Books"},{"IdCategory":"2","Category":"Hobbies"},{"IdCategory":"3","Category":"Tattoos"},{"IdCategory":"4","Category":"Trips"},{"IdCategory":"5","Category":"Esoteric"},{"IdCategory":"6","Category":"Books"}]
<option value="0">All Categories</option>
<option value="1">Technology</option>
<option value="2">Hobbies</option>
<option value="3">Tattoos</option>
<option value="4">Trips</option>
<option value="5">Esoteric</option>
<option value="6">Books</option>
<option value="2">Hobbies</option>
<option value="3">Tattoos</option>
<option value="4">Trips</option>
<option value="5">Esoteric</option>
<option value="6">Books </option>
</select>
</div>
(我从 mozzila firebug 中获取了这个值 - 在网站本身中只出现了两次值)
这里可能发生什么?我无法理解哪里错了。
可能需要注意的是,我之前运行了一个类似的 php 文件,并且 php 文件加载了该表的每个条目 - 我怀疑它可能与此有关,但我无法获得解决方案(我在同一个 html 页面中查询同一张表两次以获得不同的输出,一个给我几个,每个类别一个,另一个给我几个如上所述)。
提前致谢。
PS:如被问及:这是我之前在相同代码中使用的另一个 php 文件:
<?php
$con = $con = mysqli_connect("localhost","ZZZ","ZZZ","sametable");
mysqli_query($con,"SET NAMES UTF8"); //é preciso meter isto em utf-8 senão não manda nada
if (!$con)
{
die('Could not connect: ' . mysqli_error());
}
$result = mysqli_query($con,"SELECT * FROM categories") or die;
while($row = mysqli_fetch_assoc($result))
{
$output[]=$row;
}
foreach($output as $json){
echo
'<li>
<a class="item">'.$json['Category'].'</a>
</li>';
}
mysqli_close($con);
?>
【问题讨论】:
-
我们能在你的 html 页面上看到你调用它的 php 吗?那真的很有帮助。
标签: php html json duplicates