【问题标题】:How to use a selection to generate an sql query如何使用选择来生成 sql 查询
【发布时间】:2021-02-22 04:15:45
【问题描述】:

我需要使用 selection from 和 HTML select 元素作为我的 sql 查询中的变量之一。这意味着如果用户从列表中选择“Iphone”,我想查询类似于 select * where name = Iphone。 我不知道该怎么做,谢谢。

此代码根据查询创建选择:

    <option disabled selected value> -- Select a forum -- </option>
<?php
$con = mysqli_connect("host","user","pass","db");
        if (!$con) {
            die('Connection failed: ' . mysqli_connect_error() . '<br>');
            }
$productName='SELECT p.name 
FROM product as p 
JOIN ownedproducts as o on o.productID = p.productID 
WHERE usersID =2;';
        $result=mysqli_query($con, $productName);
        while ($row = mysqli_fetch_assoc($result)) {
                  unset($id);
                  $id = $row['name'];
                  echo '<option value="'.$id.'">'.$id.'</option>';
                  }
</select>

我想获取用户选择的内容,包括多项选择,并基于类似这样的内容构建一个表格,其中 AND p.name = selected 被替换为在这种情况下实际有效的内容。我认为javascript是要走的路,但我知道的还不够。

<?php 
$query1 = $db->query('SELECT p.productID, p.name, p.company, o.prodtype AS Type
FROM ownedproducts AS o
JOIN product as p ON p.productID = o.productID
WHERE o.usersID = 2
AND p.name = selected');

    while ($row = $query1->fetch()) 
{
    if . $row['name'] . = selected:    
    echo "<tr id=" . $row['productID'] . ">";
    echo "<td>" . $row['name'] . "</td>";
    echo "<td>" . $row['company'] . "</td>";
    echo "<td>" . $row['Type'] . "</td>";
    echo "</tr>";
}
?>

已编辑以获取更多详细信息。 提前致谢

【问题讨论】:

  • 您知道如何开始/您是否已经做过,例如设置数据库服务器(或使用某些托管服务提供商)、创建数据库等?

标签: php html sql


【解决方案1】:

虽然,我不确定你在问什么,但选择完全匹配的语句如下所示=>

select * from tablename where name='Iphone';

或者如果你想要部分匹配,那么你可以使用通配符(%)和下面给出的like 运算符 =>

select * from tablename where name like '%Iphone%';

【讨论】:

    猜你喜欢
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 2021-01-01
    相关资源
    最近更新 更多