按输入选择搜索

时间:2015-06-08 14:52:46

标签: php html

我如何在我的网站上搜索这样的内容;如果访问者选择输入作为用户名,则表格仅显示他所写的用户名或身份或性别。

我想我应该添加一些东西而不是*但是icouldnt找到了。你能帮帮我吗?

foreach($db->query('SELECT * FROM uyeler ORDER BY RAND()LIMIT 20') as $row)

由于

<div class="body">
<div class="table"

        <select>
          <option value="id">ID</option>
          <option value="user">Username</option>
          <option value="sex">Sex</option>
          <option value="country">Country</option>            
          <option value="age">Age</option>
          <option value="twitter">Twitter</option>
          <option value="instagram">Instagram</option>            
          <option value="snapchat">Snapchat</option>
       </select>
            <input type="text" name="searchbox">
            <input type="submit" value="Search"><input type="submit" value="Refresh"></br></br>

        <table align=center width="1200">
          <tr>
            <th>ID</th>
            <th>Username</th>
            <th>Sex</th>
            <th>Country</th>
            <th>Age</th>
            <th>Twitter</th>
            <th>Instagram</th>
            <th>Snapchat</th>
            <th>Details</th>
        </tr>

        <?php
        foreach($db->query('SELECT * FROM uyeler ORDER BY RAND()LIMIT 20') as $row) {
                echo "<tr><td>" .$row['id'] . "</td>";
                echo "<td>" .$row['username'] . "</td>";
                echo "<td>" .$row['sex'] . "</td>";
                echo "<td>" .$row['country'] . "</td>";
                echo "<td>" .$row['age'] . "</td>";
                echo "<td>" .$row['twitter'] . "</td>";
                echo "<td>" .$row['instagram'] . "</td>";
                echo "<td>" .$row['snapchat'] . "</td>";
                echo ('<td><a href="details.php?id=' .$row['id'] . '" title="Panel">Details</a></td>');
                echo "</tr>";
            }
        ?>

</table>
</div>

1 个答案:

答案 0 :(得分:0)

如果您想要表中的所有字段,则需要*。但是,您应该在查询结束时使用WHERE username = '{$username}'将结果限制为仅请求的用户名。

如果有多个条件,请从$_GET$_POST请求中获取密钥和值,并为WHERE {$key1} = '{$val1}' AND {$key2} = '{$val2}'子句执行WHERE等操作。如果所有条件都必须适用,请使用AND,如果任何条件符合匹配条件,请使用OR

在将其插入查询之前,请务必清理传入的用户名请求。还要清理密钥(最好检查预定义的列表),这是在这种情况下进行SQL注入的另一个向量。