使用PHP和MySQL进行多个文本框搜索

时间:2011-07-12 13:14:17

标签: php mysql

我在 MySQL 中有一个包含5个数据字段的表:idnametotal markspercentage和{{1} }。我已经获取并显示了所有数据,但我希望按3个字段名称搜索和显示:ranktotal marks。这三个将在文本框中输入 请提及此3字段搜索的特定查询。

2 个答案:

答案 0 :(得分:1)

由于您不得不提出这个问题,我首先想要指向MySQL manualPHP manual。不过,我还会给你一些指示。

首先,您需要将这些搜索值发布到PHP代码中。这可以使用表格来完成。

<form method="POST" action="script.php">
    <input name="name" type="text" />
    <input name="total_marks" type="text" />
    <input name="rank" type="text" />
    <input type="submit" value="Search" />
</form>

然后,您需要在PHP脚本中访问这些值。

// script.php
$name = mysql_real_escape_string($_POST['name']);
$total_marks = mysql_real_escape_string($_POST['total_marks']);
$rank = mysql_real_escape_string($_POST['rank']);
// I'll leave SQL injection protection up to you

最后,您需要将这些查询传递给SQL查询以从数据库中检索项目。由于您尚未发布确切的方案,因此您必须对其进行修改以满足您的需求。另外,我已经离开了实际的数据库加载/访问权限。

// script.php
$sql = "SELECT * FROM `table` WHERE (
    `name` = '{$name}' AND
    `total_marks` = '{$total_marks}' AND
    `rank` = '{$rank}'
)";

我不是将变量直接传递给SQL查询并使用mysql_real_escape_string或类似的函数,而是使用PDO来保证安全性和一些数据库抽象。

答案 1 :(得分:0)

如果我理解正确

Select * 
FROM Keys
WHERE name = 'stringName' AND total_marks = numberTotalMarks AND rank = procent