我在这里尝试做的是回显我的数据库中的每个列“单位”。在我的数据库中,我有列:评估,单位,百分比和截止日期。我想让所有单位连续出现在桌子上,因为我试图这样做,但似乎无法找到如何做到这一点。这是我尝试过的代码<?php echo $unit ?>
,但似乎没有用。
实施例
我的数据库:
project0 unit1 15% 22-07-2014
project1 unit1 10% 24-07-2014
project2 unit2 20% 27-07-2014
project3 unit3 30% 29-07-2014
代码
<?php
mysql_connect('localhost','root','root');
mysql_select_db('Eviden');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<table width="200" border="1">
<?php
$result = mysql_query("SELECT * FROM peviden");
while($row=mysql_fetch_array($result)){
$unit=$row['unit'];
$name=$row['name'];
?>
<tr>
<td> </td>
<!--I want all the units columns in the database to go on this row-->
<td><?php echo $unit ?></td>
<td><?php echo $unit ?></td>
<td><?php echo $unit ?></td>
<td><?php echo $unit ?></td>
</tr>
<tr>
<td>Name</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Sebastian</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Zack</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Daniel</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<?php
}
?>
</table>
</form>
</body>
</html>
答案 0 :(得分:0)
我相信这种情况正在发生,因为mysql_fetch_array
会返回一个数组,它会将每行的结果存储为
row[0] // evaluation
row[1] // unit
row[2] // percent
row[3] // due date
尝试使用数组格式,并可选择指定数组的顺序:
<?php
$result = mysql_query("SELECT evaluation, unit, percent, due_date FROM peviden");
while($row=mysql_fetch_array($result)){
$evaluation=$row[0];
$unit=$row[1];
$percent=$row[2];
$duedate=$row[3];
?>
答案 1 :(得分:0)
您要做的第一件事就是修复数据库调用。现在,您循环遍历结果并在循环的每次迭代中为$ unit分配一个新值。所以,我们将在这里解决这个问题:
$result = mysql_query("SELECT * FROM peviden");
// New Array to avoid PHP notifications
$unitsArray = array();
// Start our loop over our results
while($row=mysql_fetch_array($result)){
// Add an entry to our array with two values for unit and name
$unitsArray[] = array( 'unit' => $row['unit'],
'name' => $row['name']
);
}
现在我们已将所有单位分配到可用值,在HTML代码中,您需要再次循环它们以使其正确显示:
<td> </td>
<!--I want all the units columns in the database to go on this row-->
<?php
foreach($unitsArray as $entry) {
?>
<td><?php echo $entry['unit']; ?></td>
<?php
}
?>
这将为整个表格中的每个单位创建一个TD。