2012-09-24 3 views
0

태그를 제시하는 HTML 양식을 채우는 mySQL 쿼리를 실행하려고했습니다. mySQL 테이블의 값과 텍스트를 채우고 싶습니다. 작동하지 않았다 선택 드롭 다운 비어 있다는 사실을 의미한다 : 는 여기에 내가 다른 웹 사이트에 물건을 찾는 기반으로 시도하고mySQL 쿼리로 HTML 양식 선택 채우기

<select name="id"> 
    <?php 

    require_once dirname(__FILE__) . '/db_connect.php'; 
    $db = new DB_CONNECT(); 

    $query="SELECT id, name FROM file order by name"; 
    $result=mysql_query($query) or die ("Query to get data from firsttable failed: " .mysql_error()); 

    while ($row = mysql_fetch_array($result)) { 
    $id = $row[id]; 
    $name =$row[name]; 
     echo "<option value=\"$id\"> 
      $name 
      </option>"; 
    } 
    ?> 
    </select> 

코멘트를 작동하지 않은 것입니다. 나는 PHP를 폼에서 꺼내서 name.php 파일에 넣어서 실행 해 보았습니다. 그것은 작동하는 것처럼 보였다. 그래서 php에 echo 문을 추가하여 폼의 시작과 끝과 초기 선택 라인을 출력합니다. 이 작업은 훌륭했습니다. 아무런 문제가 없었습니다. 드롭 다운이 잘 처리되었습니다. 위의 HTML 양식으로 돌아가서 PHP에 몇 가지 디버그 문을 출력하는 echo 문을 몇 개 추가했습니다. 전나무 에코는 항상 무시되며 선택 항목을 추가하지 않습니다. 다른 에코 라인은 지정된 텍스트 만 추가합니다. 변수는 내용이 아닌 변수 이름으로 출력됩니다. 그래서 $ name이 select 드롭 다운에 나타납니다.

+1

"어떻게 작동하지 않았습니까?" 오류가 있습니까? 스크립트가 충돌합니까? 잘못된 출력입니까? '$ row [id]'와'$ row [name]'비트에'''따옴표가 빠졌지 만 보통은 PHP에서만 경고를 발행합니다. –

+1

mysql_ *를 사용하지 마십시오 mysqli 또는 PDO –

+0

@RegisteredUser 어떻게 사용합니까? –

답변

5

id와 name을 작은 따옴표로 묶어야합니다. 즉,이 뭐가 잘못에서 내 추측 무엇 DB_CONNECT에있어 무엇을 당신의 오류가 모르고

$id = $row['id']; 
$name =$row['name']; 

하여이

$id = $row[id]; 
$name =$row[name]; 

를 교체해야합니다.

+0

좋은 잡기를 위해서 +1 –

+0

나는 상수라고 생각하지 않는다. 동의하지 않는다. – doublesharp

+0

도움이되었지만 문제가 해결되지 않았을 것으로 확신합니다. 위의 주석을 참조하십시오. – Dag