2014-10-28 4 views
0

나는 내가하고 싶은 일을하지 않는 아주 단순한 코드를 가지고있다. 난 그냥 내 테이블에 연도 범주의 고유 번호를 가지고 드롭 다운 상자에 그들을 입력하고 싶지만,이 코드와 함께 내가 말한 하나의 옵션을 얻을 : $ 행 [ '년']데이터베이스에서 드롭 다운 상자 채우기

어떤 도움말입니다 고맙습니다.

<!DOCTYPE html> 
<html> 
<form name="testform" method='POST' action='mainck.php'> 
<?Php 
require "config.php"; 

echo "<br>Select year first <select name=year id ='s1' onchange=AjaxFunction();> 
<option value=>Select a Year</option>"; 

$sql="SELECT DISTINCT year from PlayerRegSeason"; 

foreach ($dbo->query(&sql) as $row) { 
    echo "<option value=$row['year']>$row['year']</option>"; 
    } 
?> 
</select> 
</form> 
</html> 
+0

'foreach ($ dbo-> query ($ sql) as $ row) {' – Matteo

+0

은 내가 이미 가지고있는 것이 아니겠습니까? – user2884621

+0

당신은 $ sql 대신에 & sql을 가지고 있습니다. –

답변

1

마크 업에 많은 인용 부호가 누락되어 있습니다. 그것은 작은 따옴표 대 이중에 대해 일치하는 것이 좋습니다,하지만 다음은 적어도 작업을 수행해야합니다

<!DOCTYPE html> 
<html> 
<form name="testform" method='POST' action='mainck.php'> 
<?php 
require "config.php"; 

echo "<br>Select year first <select name='year' id='s1' onchange='AjaxFunction();'> 
<option value=''>Select a Year</option>"; 

$sql="SELECT DISTINCT year from PlayerRegSeason"; 

foreach ($dbo->query($sql) as $row) { 
    echo "<option value='".$row['year']."'>".$row['year']."</option>"; 
    } 
?> 
</select> 
</form> 
</html> 
+0

도움을 주셔서 감사합니다,하지만 지금은 드롭 다운이 보여줍니다 : ". $ row [ 'year']." – user2884621

+0

전체 코드가 위와 같이 업데이트되었습니다. 당신이 엉망인 어딘가에 가짜 따옴표가있을 것 같은데. –

+0

예, 복사하고 똑바로 복사하여 붙여 넣기를 시도해 보았습니다. 따옴표의 모든 조합을 시도한 것처럼 느껴집니다. – user2884621

0

벤 말했듯이, 몇 가지 변화가 더 가능성이 작동하도록 만들 것입니다. 하지만 PHP를 필요로하지 않는 것들을 유지할 것입니다. HTML을 올바르게 사용하십시오 (이 문제는 해결되지 않지만 HEAD 및 BODY와 같은 태그).

여전히 작동하지 않는 경우 phpMyAdmin 또는 MySQL 클라이언트에서 직접 쿼리를 확인하십시오. 이런 상황에 처했을 때 평소에하는 또 다른 일은 입니다. print_r() 나의 답장입니다.

PS : 당신의 foreach는 다시 ($ 행으로 $ dbo-> 쿼리 (& SQL)를) 확인은 {& 경우 원하는 기호입니다. 가 (. 나는 & 기호, 거기에 내가 틀렸다면 나의 나쁜 어떻게 할 것인지 정확히 모르겠어요)

난 당신의 코드에서 몇 가지 물건을 변경, 그것을 확인 :

<!DOCTYPE html> 
<html> 
    <body> 
     <form name="testform" method='POST' action='mainck.php'> 
      <label for="s1">Select year first</label> 
      <select name='year' id ='s1' onchange='AjaxFunction();'> 
       <option value=''>Select a Year</option> 
<?php 
    require "config.php"; 

    echo ""; 

    $sql="SELECT DISTINCT year from PlayerRegSeason"; 

    $return = $dbo->query($sql); 
    print_r($return); 

    foreach ($return as $row) { 
     echo "<option value='".$row['year']."'>".$row['year']."</option>"; 
    } 
?> 
      </select> 
     </form> 
    </body> 
</html> 
+0

흠, 고마워요. 분명히해야 할 일처럼 보이지만 여전히 같은 문제가 있습니다. 그러나, 나는 아무것도 print_r에서 왔다고 생각하지 않는다 (그것은 단지 페이지에 나타 났을 것인가?), 그래서 나는 SQL에 뭔가 잘못된 것이 있다고 생각한다. myphpadmin 그리고 내가 찾고있는 결과를 제공합니다. – user2884621

+0

당신이 사용하고있는이 $ dbo 객체는 무엇입니까? $ var = $ dbo-> query ($ sql)과 같은 것을 사용하지 않아야하는지 확인하십시오. $ return = $ var-> result(); 또는 이와 비슷한 것입니다. 이것은 문제 중 하나 일 수 있습니다. –

관련 문제