2012-08-07 57 views
-2

我正在尝试列印选定的dropdwon项目。我已经编写了用于下拉的代码来从数据库中获取列。php下拉列印选定项目

现在我应该打印selcted下拉项目的唯一id。我不知道该怎么做。请帮助我,这是我的代码

<? 
$query_name="SELECT id_cat,name FROM `fs01_metier_cat` ORDER BY `fs01_metier_cat`.`name` ASC"; 
$result = mysql_query ($query_name); 

echo "<select name=category value=''></option>"; 
while($nt=mysql_fetch_array($result)) 
{ 
    echo "<option value=$nt[name]>$nt[name]</option>"; 
} 
echo "</select>"; 



$query_id="SELECT id_cat FROM `fs01_metier_cat`"; 
$result1 = mysql_query ($query_id); 
while($row = mysql_fetch_assoc($result1)) 
{ 
    echo $row['id_cat']; 
} 

?> 
+0

我没有看到任何HTML输出。你有什么尝试? – 2012-08-07 22:42:26

+0

我认为你的意思是如果第一个下拉列表发生变化,你想更改第二个下拉列表的内容?如果是这样,这是经常被问到,我会建议使用搜索,你会发现许多不同的描述如何做到这一点。 – hakre 2012-08-07 22:42:39

+0

使用javascript。或者,如果您只想使用PHP,只需将“

”标签添加到自定义行为和选择下拉列表中,只需提交表单即可。 – Kalpesh 2012-08-07 22:46:56

回答

1

试试这个:

while($nt=mysql_fetch_array($result)){ 
    echo "<option value='{$nt['id_cat']}'>{$nt['name']}</option>"; 
} 

与{} PHP也可以将数组值转换为字符串,你应该设置'周围的属性“值”” s值(很多值在这里.. ^^),该html是w3c符合(我不知道如果浏览器会把它视为正确没有他们..)

没有{}它看起来像这样:

while($nt=mysql_fetch_array($result)) { 
    echo "<option value='".$nt['id_cat']."'>".$nt['name']."</option>"; 
} 

取决于你的编辑器代码高亮或者在第二种情况下更好地工作;)

和有关所选项目:

我会建议你使用jQuery获取所选项目的内容

var selectedId = $('#yourselectid option:selected').attr('value'); 

然后你可以例如其写入文件或一个div:

document.write(selectedId); 

$('#yourDivIdWhereYouWantToPutTheSelectedId').html(selectedId); 

重要:请注意,我改变了值的指数id_cat因为这样你可以处理与选择的ID

由于所选的选项每次更改您更改下拉选择,您不能通过PHP来处理。有没有像jQuery这样的巨大库的方法(因为他们也只是简单的Javascript),但他们简化了这种事情很多;)

+0

不好意思!我已经用Internet Explorer和chrom进行了测试。它仅在dropdwon中打印列表。我想打印它是'id_cat'的名称(从下拉菜单中选择)。 – 2012-08-07 22:53:20

+0

对于案例2:很好的列出了下拉菜单中的一列的项目,但是在我选择之后它不打印id_cat编号!不管怎样,谢谢你! – 2012-08-07 22:56:31

+0

谢谢Jquery的建议!但我不知道我在哪里必须保持jQuery库文件!我可以将jquery库文件保存在我的工作文件的相同位置吗? – 2012-08-07 23:05:22