Php 如何将mysql查询输出到html表?
再次需要你的帮助 所以我有一个查询,有多个变量,我必须输出到一个表中 以下是查询:Php 如何将mysql查询输出到html表?,php,mysql,html-table,Php,Mysql,Html Table,再次需要你的帮助 所以我有一个查询,有多个变量,我必须输出到一个表中 以下是查询: SELECT DISTINCT zi.zile, ore.ora AS ore, materii.materie FROM zi LEFT JOIN orar ON zi.id = orar.id_zi LEFT JOIN ore ON ore.id = orar.id_ora
SELECT DISTINCT
zi.zile,
ore.ora AS ore,
materii.materie
FROM
zi LEFT JOIN orar ON zi.id = orar.id_zi
LEFT JOIN ore ON ore.id = orar.id_ora
LEFT JOIN nume_scoli ON nume_scoli.id = orar.id_scoala
LEFT JOIN materii_pe_clase ON materii_pe_clase.id_scoala = nume_scoli.id
LEFT JOIN clase ON materii_pe_clase.id_clasa = clase.id AND orar.id_clasa = clase.id
LEFT JOIN elevi ON elevi.id_clasa = materii_pe_clase.id_clasa
LEFT JOIN materii ON materii.id = orar.id_materie
WHERE clase.`id`=1
ORDER BY zi.`zile`, ore.`id` ASC
此查询的结果如下所示:
这就是我在php中所做的:
$oraru = "the query from up this page ";
$gaseste_oraru = mysql_query($oraru);
$numar_orar = mysql_num_rows($oraru);
if($numar_orar==0)
{
echo "Orarul nu este disponibil momentan.";
}
else
{
while($randorar=mysql_fetch_array($gaseste_oraru))
{
$ziorar = $randorar['zile'];
$oraorar = $randorar['ore'];
$materieorar = $randorar['materie'];
}
}
这是我要用数据库中的数据填充的表:
下面是表格的代码:
<div class="CSSTableGenerator" >
<table >
<tr>
<td>
Orar
</td>
<td>
Luni
</td>
<td >
Marti
</td>
<td>
Miercuri
</td>
<td>
Joi
</td>
<td>
Vineri
</td>
</tr>
<tr>
<td >
8:00 - 9:00
</td>
<td>
<select>
<option>Mate</option>
<option>Romana</option>
<option>Geogra</option>
</select>
</td>
<td>
<select>
<option>Mate</option>
<option>Romana</option>
<option>Geogra</option>
</select>
</td>
<td>
<select>
<option>Mate</option>
<option>Romana</option>
<option>Geogra</option>
</select>
</td>
<td>
<select>
<option>Mate</option>
<option>Romana</option>
<option>Geogra</option>
</select>
</td>
<td>
rand 1
</td>
</tr>
<tr>
<td >
9:00 - 10:00
</td>
<td>
rand 2
</td>
<td>
rand 2
</td>
<td>
rand 1
</td>
<td>
rand 1
</td>
<td>
rand 1
</td>
</tr>
<tr>
<td >
10:00 - 11:00
</td>
<td>
rand 2
</td>
<td>
rand 2
</td>
<td>
rand 1
</td>
<td>
rand 1
</td>
<td>
rand 1
</td>
</tr>
<tr>
<td >
11:00 - 12:00
</td>
<td>
rand 3
</td>
<td>
rand 3
</td>
<td>
rand 1
</td>
<td>
rand 1
</td>
<td>
rand 1
</td>
</table>
</div>
奥拉尔
鲁尼
马蒂
米尔克里
乔伊
维内里
8:00 - 9:00
伴侣
罗曼娜
Geogra
伴侣
罗曼娜
Geogra
伴侣
罗曼娜
Geogra
伴侣
罗曼娜
Geogra
兰特1
9:00 - 10:00
兰特2
兰特2
兰特1
兰特1
兰特1
10:00 - 11:00
兰特2
兰特2
兰特1
兰特1
兰特1
11:00 - 12:00
兰特3
兰特3
兰特1
兰特1
兰特1
不要使用下拉列表,我不会使用它们强>
您是否知道如何填充它,但如果某个时间间隔内(例如Luni 8:00-9:00)没有任何内容,则在表中不写入任何内容
编辑
以下是我尝试过的:
<div class="CSSTableGenerator" >
<table >
<tr>
<td>
Orar
</td>
<?php
{
$oraru = "the query from up this page";
$gaseste_oraru = mysql_query($oraru);
while($randorar=mysql_fetch_array($gaseste_oraru))
{
$ziorar = $randorar['zile'];
$oraorar = $randorar['ore'];
$materieorar = $randorar['materie'];
echo "<td>";
echo $randorar['zile'];
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td>";
echo $randorar['ore'];
echo "</td>";
echo"<td>";
echo $randorar['materie'];
echo "</td>";
echo "</tr>";
}//sfarsit while
奥拉尔
我建议您按ore.id,zi.zile
订购
由于您逐行迭代,而不是逐列迭代,您将能够在循环时优化。尝试这样做
$xarr=Array();
$xcols=Array();
while($randorar=mysql_fetch_array($gaseste_oraru))
{
$xcols[$randorar['zile']]++;
$xarr[$randorar['ore']][$randorar['zile']] = $randorar['materie']
}
echo "<tr><th>orar</th>";
foreach(array_keys($xcols) as $x)
echo '<th>'.$x.'</th>';
echo "</tr>\n";
foreach($xarr as $key=>$y){
echo '<tr><th>'.$key.'</th>';
foreach(array_keys($xcols) as $x)
echo '<td>'.$y[$x].'</td>';
echo "</tr>\n";
}
$xarr=Array();
$xcols=Array();
而($randorar=mysql\u fetch\u数组($gaseste\u oraru))
{
$xcols[$randorar['zile']]++;
$xarr[$randorar['ore'][$randorar['zile']]=$randorar['materie']
}
回声“orar”;
foreach(数组_键($xcols)为$x)
回音“.$x.”;
回音“\n”;
foreach($xarr作为$key=>$y){
回显“.$key.”;
foreach(数组_键($xcols)为$x)
回显“.$y[$x]”;
回音“\n”;
}
好的,这就是解决方案:
$oraru = "
SELECT DISTINCT
zi.zile,
ore.ora AS ore,
materii.materie
FROM zi
LEFT JOIN orar ON zi.id = orar.id_zi
LEFT JOIN ore ON ore.id = orar.id_ora
LEFT JOIN nume_scoli ON nume_scoli.id = orar.id_scoala
LEFT JOIN materii_pe_clase ON materii_pe_clase.id_scoala = nume_scoli.id
LEFT JOIN clase ON materii_pe_clase.id_clasa = clase.id AND orar.id_clasa = clase.id
LEFT JOIN elevi ON elevi.id_clasa = materii_pe_clase.id_clasa
LEFT JOIN materii ON materii.id = orar.id_materie
WHERE clase.`id`=1
ORDER BY ore.`id`, zi.`zile` ASC";
$gaseste_oraru = mysql_query($oraru);
$rows = array();
while($randorar=mysql_fetch_array($gaseste_oraru))
{
$ziorar = $randorar['zile'];
$oraorar = $randorar['ore'];
$materieorar = $randorar['materie'];
if(!isset($rows[$oraorar])){
$rows[$oraorar] = array();
}
$rows[$oraorar][$ziorar] = $materieorar;
}//sfarsit while
?>
<div class="CSSTableGenerator" >
<table >
<tr>
<td>Orar</td><td>Luni</td><td>Marti</td><td>Mercuri</td><td>Joi</td><td>Vineri</td>
</tr>
<?php
foreach ($rows as $key => $row) {
if(!isset($row['Luni'])) $row['Luni'] = ' ';//incase no data from database
if(!isset($row['Marti'])) $row['Marti'] = ' ';//incase no data from database
if(!isset($row['Miercuri'])) $row['Miercuri'] = ' ';//incase no data from database
if(!isset($row['Joi'])) $row['Joi'] = ' ';//incase no data from database
if(!isset($row['Vineri'])) $row['Vineri'] = ' ';//incase no data from database
echo "<tr>";
echo "<td>".$key."</td>";
foreach ($row as $day => $study) {
echo "<td>$study</td>";
}
echo "</tr>";
}
?>
</table>
</div>
$oraru=”
选择不同的
子子乐,
ore.ora作为矿石,
材料
自紫
在zi.id=orar.id\u zi上左连接orar
左连接ore上的ore.id=orar.id\u ora
左键在nume\u scoli.id=orar.id\u scoala上加入nume\u scoli
在materi\u pe\u clase.id\u scoala=nume\u scoli.id上左连接materi\u pe\u clase
在materi_pe_clase.id_clasa=clase.id和orar.id_clasa=clase.id上左连接clase
左连接elevi.id_clasa上的elevi=materii_pe_clase.id_clasa
在materi.id=orar.id\u materie上左连接materi
其中clase.`id`=1
按矿石订购。`id`,zi.`zile`ASC;
$gaseste_oraru=mysql_查询($oraru);
$rows=array();
而($randorar=mysql\u fetch\u数组($gaseste\u oraru))
{
$ziorar=$randorar['zile'];
$ORAR=$randorar['ore'];
$materieorar=$randorar['materie'];
if(!isset($rows[$orar])){
$rows[$ORAR]=array();
}
$rows[$orar][$ziorar]=$materialorar;
}//斯法斯特
?>
OrarLuniMartiMercuriJoiVineri
我是在朋友的帮助下弄明白的
无论如何,谢谢大家 将表代码放入while循环并动态生成表。这就是我试图做的,但它似乎不起作用。我也是罗马尼亚人:)我是dat seama,Sallt。下面是一个由php生成的表格示例:Sallt!嗯……让我试试