我这里有一个代码,用于从数据库中选择所有数据,这是我的代码:
<?php
$name = $_POST['cname'];
if ($_POST["Search"] == "Search") {
$query = mysql_query("SELECT * FROM parts WHERE cname LIKE '%$name%'");
if (!empty($query)) {
$vsi = 'No Data';
$date = 'No Data';
$cname = 'No Data';
}
while ($row = @mysql_fetch_array($query)) {
$vsi = $row["vsi"];
$date = $row["date"];
$cname = $row["cname"];
}
Run Code Online (Sandbox Code Playgroud)
这是我如何回应所有变量,
<tr class="gradeC">
<?php echo "<td width='10%'><font size='-2'> $vsi </font></td>" ?>
<?php echo "<td width='20%'><font size='-2'>$date</font></td>" ?>
<?php echo "<td width='20%'><font size='-2'> $cname</font></td>" ?>
</tr>
Run Code Online (Sandbox Code Playgroud)
我的问题是,
我只从每一行得到一个结果,但我在数据库中的数据是5.
这是我的结果
vsi date name
123 12/12/2012 test1
Run Code Online (Sandbox Code Playgroud)
但正确的结果应该是:
vsi date name
123 12/12/2012 test1
123 12/12/2012 test1
123 12/12/2012 test1
123 12/12/2012 test1
123 12/12/2012 test1
Run Code Online (Sandbox Code Playgroud)
注意,
我使数据库中的所有数据都一样
你必须在while循环中使用TR.
<?php
$name = $_POST['cname'];
if ($_POST["Search"] == "Search") {
$query = mysql_query("SELECT * FROM parts WHERE cname LIKE '%$name%'");
if (!empty($query)) {
$vsi = 'No Data';
$date = 'No Data';
$cname = 'No Data';
}
while ($row = @mysql_fetch_array($query)) {
$vsi = $row["vsi"];
$date = $row["date"];
$cname = $row["cname"];
?>
<tr class="gradeC">
<?php echo "<td width='10%'><font size='-2'> $vsi </font></td>" ?>
<?php echo "<td width='20%'><font size='-2'>$date</font></td>" ?>
<?php echo "<td width='20%'><font size='-2'> $cname</font></td>" ?>
</tr>
<?
}
?>
Run Code Online (Sandbox Code Playgroud)
你的代码很容易受到SQL注入,你需要逃避一切get,并post和更好的方法将使用预处理语句
好读
好读
我希望这有帮助.
| 归档时间: |
|
| 查看次数: |
162 次 |
| 最近记录: |