2014-12-09 1 views
0

여기에서 이상한 상황에 직면하고 있습니다.중복 된 json 출력을 표시하는 html 옵션

저는 폼에 Json을 통해로드되는 여러 카테고리가 있습니다.

<?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); 
?> 

느릅 나무 나를 반환

<div> 
    <select> 
    <?php include_once("php_loader/getAllCategoriesOptions.php"); ?> 
    </select> 
</div> 

를 지금까지 너무 좋아, 그럼 내가 PHP 파일이 있음이 :

내가 다스 려하고있어 양식의 부분에 대한 코드는이 다음이다 출력 :

[{ "IdCategory": "2", "Category": "Hobbies"}, { "IdCategory": "3", "Category": "Tattoos"}, { "IdCategory" "카테고리": "여행"), { "IdCategory": "5", "Category": "Esoteric"}, { "IdCategory": "6" 카테고리 ":"책 "}]

취미 Tattos에게 여행 밀교 책.

지금까지 그렇게 좋았습니다. 내 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에 불을 지르고에서이 값을했다 - 웹 사이트에서 자신이 두 번 값만 표시)

어떻게 가능하게 할 수를 여기에서 일어나고 있는가 ?? 나는 그것이 틀린 곳을 이해할 수 없다.

필자는 simmilar php 파일을 실행하고 그 테이블의 모든 항목을로드한다는 것을 알아 두어야합니다. 솔루션 (동일한 HTML 페이지에서 동일한 출력 결과를 얻기 위해 같은 테이블을 두 번 쿼리하고 있는데 하나는 각 카테고리에 대해 하나씩, 다른 하나는 나에게 멘토로 제공).

미리 감사드립니다.

PS :

<?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); 
?> 
+0

html 페이지에서 호출 할 수있는 PHP를 볼 수 있습니까? 그것은 정말로 도움이 될 것입니다. – brs14ku

+0

물론, 문제 없습니다! – pihh

답변

0

그래서, 내가 오류를 발견 한 것 (그리고 정말 바보 하나) : 여기에 내가 같은 코드에서 이전에 사용 다른 PHP 파일은 다음과 같습니다 요청으로.

나는 동일한 코드에서 2 개의 PHP 파일을 실행하는 데 문제가 없다는 것을 알았지 만, 두 파일의 이름을 sameway로 지정할 수 없다는 것을 몰랐다. 첫 번째 PHP는 결과로 $ 출력 $ 출력을주는 두 번째 PHP 파일에 나타났습니다.

두 번째 파일의 이름을 $ output2로 변경하면이 문제가 해결됩니다.

관련 문제