我有一个mysql表,其中一个名为parking space
的列中有一个数字。但是,对于某些记录,“停车位”列是空的。现在,我想在页表中调用此列,其中列标题的编号为1 - 200(第一列:1;第二列:2; ....)因此,如果值为'12',则'停车位'列,然后这将显示在列'12'等等,如果没有数字的条目,则页表中的列应保留为空。如何将“停车位”中的数字与该页表关联起来?
...
<?php
$pagetable=array('1','2','3','4','5','6');//...until 200
foreach($pagetable as $value){
?>
<table border="1px" cellspacing="1" cellpadding="1">
<tr>
<th>
<?php echo $value ?>
</th>
</tr>
<?php
}
include("dbinfo.inc.php");
include_once("config.php");
$result = mysql_query("SELECT * FROM contacts ORDER BY park ASC");
$results = mysql_num_rows($result);
if ($results > 0){
$num=mysql_numrows($result);
$i=0;
while ($i < $num) {
$id=mysql_result($result,$i,"id");
$park=mysql_result($result,$i,"park");
?>
<tr>
<td style="background-color:;">
<?php echo $park; ?>
<br>
<?php if($park!=''){ ?>
<a href="single.php?&id=<?php echo $id; ?>"><?php echo $id; ?></a>
<?php
}
?>
</td>
</tr>
<?php
$i++;
}
}
?>
...
答案 0 :(得分:0)
有两种方法,你可以这样做。
在数据库表上创建所有200行并进行查询。这将省略几乎所有的头痛,以获得你想要的东西。
执行从1到200的for循环,并比较mysql结果中是否存在的活动项。为此,您需要在数据库中使用连续数字条目来单独标识每个列。
我的意思是什么?该列中的第1列应具有相应的记录,在其记录中的某处显示
1
。
以下是此示例:
$result = mysql_query("SELECT * FROM contacts ORDER BY park ASC");
$results = mysql_num_rows($result);
if ($results > 0) {
$num=mysql_numrows($result);
$rows = array();
while($row = mysql_fetch_row($result)) {
$rows[$row['id']] = $row;
});
//Now process it
}
答案 1 :(得分:0)
试试这个:
<?php
include("dbinfo.inc.php");
include_once("config.php");
$spaces = range(1, 200);
$results = mysql_query("SELECT * FROM contacts ORDER BY park ASC");
$results_count = mysql_num_rows($result);
if ($results_count > 0) {
for ($i = 0; $i < $results_count; $i++) {
$parks[] = mysql_result($results, $i, "park");
}
}
?>
<table>
<tr>
<?php foreach ($spaces as $space): ?>
<td><?php echo $space ?></td>
<?php end foreach ?>
</tr>
<tr>
<?php foreach ($parks as $park): ?>
<td><?php if ($park > 0) { echo "$space"; } else { echo " "; } ?></td>
<?php end foreach ?>
</tr>
</table>
从这开始,告诉我你得到了什么。
好的,我把它改了一点。现在它让我全部从1-200开始,它显示停车位值,但这些值与数字无关。它看起来像我根据id放置它们,例如在我的表中,停车位165上的客户具有id 4,因此它不会放置165到165但是165到4
<?php
include("dbinfo.inc.php");
include_once("config.php");
$spaces = range(1, 200);
$results = mysql_query("SELECT * FROM contacts");
$results_count = mysql_num_rows($results);
if ($results_count > 0) {
for ($i = 0; $i < $results_count; $i++) {
$parks[] = mysql_result($results, $i, "park");
}
}
?>
<table>
<tr>
<?php foreach ($spaces as $space){ ?>
<td><?php echo $space; ?></td>
<?php } ?>
</tr>
<tr>
<?php foreach ($parks as $park){ ?>
<td><?php if ($park!='') { echo $park.'<br>';} else { echo " "; } ?></td>
<?php }?>
</tr>
</table>