我正在做一些关于材料科学的项目。我坚持使用php编码。我的项目计划是从连接的数据库中制作一个下拉列表并且工作正常,当我从下拉列表中选择一个金属时,它会显示金属的结构类型。这部分根本不起作用,在编写代码时给出了一些http 500错误。我认为我的代码有问题。
select class="form-control" name="metalname" id="metalname">
<?php
$sql = mysql_query("SELECT name FROM metal");
while($row=mysql_fetch_array($sql)){
echo"<option value=\"name\">" . $row['name']."</option>";
}
?>
</select>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon" id="basic-addon1">Type</div>
<?php
$valStructure = $_POST['metalname'];
$structure = mysql_fetch_array("SELECT structure_type FROM metal WHERE name='$valStructure");
while($row1=mysql_fetch_array($structure)){
echo" <input type="text" class="form-control" id="pricefrom" aria-describedby="basic-addon1" value=\"structure_type\">".$row1['structure_type'];
}
?>
所以下拉列表部分工作正常。但是当我尝试从select类中获取金属名称时,它会给我一些错误。 请帮帮我!!
答案 0 :(得分:0)
如果你看这一行:
echo" <input type="text" class="form-control" id="pricefrom" aria-describedby="basic-addon1" value=\"structure_type\">".$row1['structure_type'];
type=
之后的引号会破坏回显并导致语法错误。将其更改为以下之一:
echo" <input type=\"text\" class=\"form-control\" id=\"pricefrom\" aria-describedby=\"basic-addon1\" value=\"structure_type\">".$row1['structure_type'];
echo" <input type='text' class='form-control' id='pricefrom' aria-describedby='basic-addon1' value=\"structure_type\">".$row1['structure_type'];
答案 1 :(得分:0)
我喜欢在顶部的一个部分中一起构建我的PHP对象,然后在我构建下面的HTML框架时将它们注入到DOM中:
<?php
$selMN = '<select class="form-control" name="metalname" id="metalname">';
$sql = mysql_query("SELECT name FROM metal");
while($row=mysql_fetch_array($sql)){
$selMN .= '<option value="name">' .$row['name']. '</option>';
}
$selMN .= '</select>';
$pf = '';
$valStructure = $_POST['metalname'];
$structure = mysql_fetch_array("SELECT structure_type FROM metal WHERE name='$valStructure' ");
while( $row1 = mysql_fetch_array($structure) ){
$pf .= '<input type="text" class="form-control" id="pricefrom" aria-describedby="basic-addon1" value="structure_type">' .$row1['structure_type'];
}
?>
<div class="missing_from_your_code">
<?php echo $selMN; ?>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon" id="basic-addon1">Type</div>
<?php echo $pf; ?>
</div>
</div>
</div>
如果您需要根据与用户的交互从数据库获取其他信息,请查看此链接答案底部的这些有用的SIMPLE示例。 (不要只是阅读它们,将它们复制到您的系统中并 尝试 ):
PHP - Secure member-only pages with a login system
注意:
除了马特在答案中正确指出的内容之外,你还错过了这一行末尾的结束单引号:
$structure = <<snip>> WHERE name='$valStructure");
(应该是):
$structure = <<snip>> WHERE name='$valStructure' ");