选择输入类型以使用数据库字段

时间:2016-05-30 14:18:30

标签: php html database

如何利用我的代码选择输入类型来使用数据库中的数据?我已经与我的数据库建立了连接,它可以很好地处理数据的写入以及将数据检索到文本框等等。但是,为了锻炼,它如何适用于选择类型。

我目前正在使用:

<select name="product" width="100" style="width: 245px">
    <option value="laptop">laptop</option>
    <option value="keyboard">keyboard</option>
</select>

如何更改我的代码,以便当用户从select中选择下拉菜单时,它会列出product表中特定行的所有选项?

更新的代码:

if(isset($_POST['product'])){

$choice = $_POST['product'];
}

 $query="SELECT * from loanproducts WHERE product = '$choice'";

 while($row = fetch_assoc($query)){

 echo $row[product];
  }
 endwhile;

if (isset($_POST['addloan'])):

$username=$_SESSION['username'];
$product=$_POST['product'];
$date_collected=$_POST['date_collected'];
$date_return=$_POST['date_return'];
$returned=$_POST['returned'];


$my_query="INSERT INTO loans VALUES ('','$username','$product','$date_collected','$date_return','$returned')";

$result= mysqli_query($connection, $my_query);

if ($result):
            header ('location: homepage.php?confirm=New loan successfully  created');
        else :
            echo "<b>This didn`t work, error: </b>";
            echo mysqli_error($connection);
endif;

endif;

HTML:

<form method=post action="addloan.php" enctype="multipart/form-data">
<input type="text" name="username"  autocomplete="off" size="30" value="<? php echo $_SESSION['username']; ?>" disabled>
<br><br>
<select name="product" width="100" style="width: 245px">
    <option value="" disabled selected>Product?</option>
    <option value="laptop">laptop</option>
    <option value="keyboard">keyboard</option>
</select>
<br><br>
<input type="date" name="date_collected" autocomplete="off" placeholder="Collection Date?" size="30"> 
<br><br>
<input type="date" name="date_return" autocomplete="off" placeholder="Return Date?" size="30">
<br><br>
<select name="returned" width="100" style="width: 245px">
    <option value="" disabled selected>Returned?</option>
    <option value="No">No</option>
    <option value="Yes">Yes</option>
</select>
<br><br>
<input type="submit" name="addloan" value="Create Loan" >
</form>

1 个答案:

答案 0 :(得分:3)

没有代码可以使用(请参阅我的&#34;脚注&#34;),这是您可以使用的逻辑。

使用从POST / GET数组和名称属性中提取的值中的WHERE子句。

HTML:

<form method="post" action="handler.php">

<select name="product" width="100" style="width: 245px">
    <option value="laptop">laptop</option>
    <option value="keyboard">keyboard</option>
</select>

<input type="submit" name="submit">

</form>

PHP:

if(isset($_POST['product'])){

    $choice = $_POST['product'];

}

查询:N.B。:query()就是一个例子。请参阅我的&#34;脚注&#34;。

SELECT * FROM table where col_x = '$choice'

或实际列:

$query = query($con, "SELECT col_1, col_2, col_3 FROM table where col_x = '$choice'");

然后你会循环结果; fetch_assoc()就是一个例子。请参阅我的&#34;脚注&#34;。

while($row = fetch_assoc($query)){

    echo $row['col_1'] . " " . $row['col_2'] . " " . $row['col_3'];

}

<强>脚注:

用于连接的API未知,因此您需要转义该值并使用相应的函数进行连接/查询。正如db模式未知一样。

  • 您需要相应调整。