【发布时间】:2013-01-18 05:31:43
【问题描述】:
我这里有一个代码,用于从数据库中选择所有数据,这是我的代码:
<?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>
我的问题是,
我每行只得到一个结果,但我在数据库中的数据是 5。
这是我的结果
vsi date name
123 12/12/2012 test1
但正确的结果应该是:
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
注意,
我使数据库中的所有数据都一样
【问题讨论】:
-
Please, don't use
mysql_*functions in new code。它们不再维护and are officially deprecated。看到red box?改为了解prepared statements,并使用PDO 或MySQLi - this article 将帮助您决定哪个。如果你选择 PDO,here is a good tutorial. -
只有一个
$vsi(以及$date和$cname),所以只有一行。 -
您是在 inside 还是 在 循环之后回显结果?
-
但是他们的id不一样,是自动递增的。
-
一旦你获取结果表单获取数组指针设置到末尾