2012-08-13 2 views
0

mysql의 결과를 기반으로 PHP combobox "<select>"을 선택하는 방법을 찾고 있습니다.MySql을 사용하여 PHP에서 Combobox 값을 선택하십시오. 결과 :

사실 저는 mysql 테이블의 기존 값을 편집하는 데 사용되는 PHP 폼을 작성하고 있습니다. 내 첫 번째 양식은 단순히 레코드의 ID를 편집 할 통과 할 것이다, 이것은 편집이 < 같은 HREF = "editCalendar.php? ID = 15"> 클릭 뭔가를 간다 </editCalendar에 >

코드입니다. 다음과 같이 PHP는 : 사용자가 인구 목록에서 옵션을 선택한 사전 얻을 것이다, 즉

<?php 
    include("dbpath.php"); 
    $id = htmlspecialchars($_GET["id"]); 

    $sql="Select * from event_Date where eventid=" . $id; 
    $result=mysql_query($sql); 

    // Check result 
    // This shows the actual query sent to MySQL, and the error. Useful for debugging. 
    if (!$result) 
    { 
     $message = 'Invalid query: ' . mysql_error() . "\n"; 
     $message .= 'Whole query: ' . $query; 
     die($message); 
    } 

    while($row = mysql_fetch_assoc($result)) 
    { 
    $name=$row["EventTitle"]; 
    $close=$row["OpenOrClose"]; 
    $remarks=$row["Remarks"]; 
    $date=$row["EventDate"]; 
    $type=$row["Type"]; 
    } 
?> 

$close에서 얻어진 값은 같은 형태의 "SelectClosedOrOpen"를 선택하는 데 사용됩니다. $close 0이있는 경우 $ 가까이가있는 경우

<select id="SelectClosedOrOpen"> 
<option value="3">Select</option> 
<option value="0">Open</option> 
<option value="1">Closed</option> 
</select> 

수단, 다음 <option value="0">Open</option> 다른 선택해야합니다 (1) 다음 <option value="1">Closed</option>가 자동으로 formload에 선택해야합니다.

+0

사용을 중지하십시오 : 당신은 여전히, JS는 등

function drop_down_box_options_from_array($choices,$default="") { $output= ''; // $choices is contructed using $choices[]=array("value","Displayed Choice"); while (list ($key, $val) = each ($choices)) { $output.= '<option value="'; $output.= $choices[$key][0]; if ($default==$choices[$key][0]) { $output.= '" selected="selected" >'; } else { $output.= '">'; } $output.= $choices[$key][1]; $output.= '</option>'; $output.= "\n"; } return $output; } 

이 시나리오를 사용하여 사용자가 ID를 사용자 정의 할 수있는의 SELECT 태그를 만들 필요가 있도록, 당신의 선택을위한 옵션을 반환 deprecated [mysql extension] (http://php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated). [mysqli] (http://php.net/manual/en/book.mysqli.php) 또는 [PDO] (http://ch2.php.net/manual/en/book.pdo.php)로 전환하십시오. 또한 코드가 [SQL injections] (http://en.wikipedia.org/wiki/SQL_injection)에 취약하다는 점도 알아 두십시오. – CodeZombie

답변

2

그냥 selected 속성을 작성해야합니다. 시험해보십시오

<select id="SelectClosedOrOpen"> 
<option value="3" <?php echo ($close == 3) ? 'selected="selected"': ''; ?>>Select</option> 
<option value="0" <?php echo ($close == 0) ? 'selected="selected"': ''; ?>>Open</option> 
<option value="1" <?php echo ($close == 1) ? 'selected="selected"': ''; ?>>Closed</option> 
</select> 
+0

해결됨 !!! 고마워요, ** Aaron W **. 너는 정말로 도움이되었다. – Cyberpks

+0

@ user1584140 이것이 답변으로 표시하는 데 도움이되는 경우 도움이됩니다. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

0

나는이 기능을 몇 년 전에 만들었습니다. 나는 그것이 당신을 돕기를 바랍니다. 기본적으로 옵션의 배열과 옵션의 값이 미리 선택되어야합니다.

<select id="SelectClosedOrOpen" name="OpenOrClose"> 
<?php 
// defined here for clarity, but can be defined earlier ie in a config file 
$choices[]=array('3', 'Select'); 
$choices[]=array('0', 'Open'); 
$choices[]=array('1', 'Closed'); 
echo drop_down_box_options_from_array($choices, $row['OpenOrClose']); 
?> 
</select> 
관련 문제