如何将数据库数据输出到网站?

时间:2014-03-23 13:49:15

标签: php mysql

请参阅下面的我的php代码,第一个可以正常工作。它将回显数据库中的所有数据(基于文本字段中的值)。如果有多个值,它将打印在行分隔的所有数据。这将直接打印到没有桌子的网页。

另一个代码应该在表格中打印多个案例中的所有数据(基于文本字段中的值),但由于某种原因,它只会打印一个结果。即使数据库中有更多数据。 有什么建议可以解决这个问题吗?

下面的代码,第一个代码(有效):

<?php

mysql_connect("","","");
mysql_select_db("");


$search_value = $_GET['value'];
$search_value2 = $_GET['value2'];
$query = "select * from data where data1 like '$search_value' and data2 like '$search_value2'";

$run = mysql_query($query);

while($row=mysql_fetch_array($run)){

$data1 = $row['data1'];
$data2 = $row['data2'];

echo "<h1>$data1</h1>";
echo "<h1>$data2</h1>";

}

?>

另一个(只打印一行表)

<?php

mysql_connect("","","");
mysql_select_db("");

$search_value = $_GET['value'];
$search_value2 = $_GET['value2'];
$query = "select * from data where data1 like '$search_value' and data2 like '$search_value2'";

$run = mysql_query($query);


while($row=mysql_fetch_array($run)){
{
  print('<tr>');
  print('  <td>');
  print $row["data1"];
  print('</td>');
  print('  <td>');
  print $row["data2"];
  print('</td>');
  print('</tr>');
  print ("\n");            
}
mysql_free_result($run);
}

?>

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您正在使用mysql_free_result()while的第一个周期后立即清除整个结果集。
只需删除此行:mysql_free_result($run);

另外,我建议您使用1行打印,而不是9行。

while($row=mysql_fetch_array($run)){
      echo '<tr><td>'.($row['data1']).'</td><td>'.($row['data2']).'</tr>';            
    }