我一直在淘洗堆栈溢出网站,并尝试了大部分已被问及/回答的类似问题,但不幸的是迄今为止,还没有任何解决方案对我有效。我想要一个正在填充sql数据库(正在工作)的列表,然后一旦选择该项目,点击“生成”按钮并从表格中获取数据并仅将所选数据发布到表格中。以前我遇到过一个问题,那就是填充武器列表中所有数据的表格。在对它进行处理之后,我现在在第107条(我认为是我的行号)中出现了“未知列(我选择哪个武器名称)”这样的错误。从数据库填充列表,以试图从列表中选择武器形成。''where'子句中的未知列'
<form action="#" method="post">
<table class="table">
<thead>
Martial Weapon Name
</thead>
<tr>
<th>
<select name="Choosen">
<?php
echo'<option>Select Weapon</option>';
//Check if at least one row is found
if($result->num_rows >0){
//Loop through results
while($row = $result->fetch_assoc()){
//Display weapon info
$output = $row['weapon_name'];
echo '<option>'.$output.'</option>';
}
}
?>
</select>
</th>
</tr>
</table>
<input class="btn btn-default" type="submit" name="submit" value="Generate">
<h3>
Weapon
</h3>
<table class="table table-striped">
<tr>
<th>
Weapon Name
</th>
<th>
Weapon Type
</th>
<th>
Damage
</th>
</tr>
<?php
if (isset($_POST['submit'])) {
$selected_weapon = $_POST['Choosen'];
$choose = "SELECT
weapon_types_martial.id,
weapon_types_martial.weapon_name,
weapon_types_martial.weapon_type,
weapon_types_martial.weapon_damage
FROM weapon_types_martial WHERE weapon_types_martial.weapon_name = " . $selected_weapon;
$result = $mysqli->query($choose) or die($mysqli->error . __LINE__);
foreach ($result->fetch_assoc() as $item) {
//Display weapon
$show = '<tr>';
$show .= '<td>' . $item['weapon_name'] . '</td>';
$show .= '<td>' . $item['weapon_type'] . '</td>';
$show .= '<td>' . $item['weapon_damage'] . '</td>';
$show .= '</tr>';
//Echo output
echo $show;
}
}
?>
</table>
</form>
而且最后这里是我得到
似乎'$ _ POST [ 'choosen']'没有任何价值,以便检查。并且像这样改变:-'FROM weapon_types_martial WHERE weapon_types_martial.weapon_name = $ selected_weapon;'' –
到目前为止,大家都非常感谢,我已经开始了解我能找到的所有东西。这对我来说有点难以梳理,但我在努力。@Anant我现在正在通过你的工作,但它没有工作,但是出现了一个新的错误,我试图在发布(实际上,在我甚至查询任何东西之前,Choosen就是一个不明身份的索引。) – Leo
@Anant当我粘贴你的代码,我得到错误[索引](http://imgur.com/YAyuzEn) – Leo