我正在尝试将数据库中的数据显示到html中的多表中。这是我的代码:
php代码:
<?php
mysql_select_db("gestion_condidat");
$requet1 ="SELECT * FROM spe_tab WHERE langue ='ar'";
if($res = mysql_query($requet1)){
if (mysql_num_rows($res) > 0) {
while ($row = mysql_fetch_array($res)) {
echo'<img src="images/linep.png"><br>'; /*succisful*/
echo'<CAPTION ALIGN=top><h2><span style="color: #EFB61A">|</span>'.$row['type'].'<span style="color: #EFB61A">|</span></h2></CAPTION> ';
echo'<table id="customers">';
echo' <tr><th> <center> الاختـــصـــاص</center></th><th><center>شروط الالتــحـاق</center></th><th><center>الشهــادة المحصــلة</center></th></tr>';
echo '<tr class="spe">';
echo '<td>'.$row['nom'].'</td>';
echo '<td>'.$row['cond'].'</td>';
echo '<td>'.$row['diplome'].'</td>';
echo '</tr>';
echo '<tr style="display:none"><td colspan="3">'.$row['info'].'</td></tr>';
echo'</table> <br><br>';
}
}}
else {
echo" Il ya une erreur ! <br><br>".mysql_error(); /*error*/
}
?>
html代码:
<form method="post" action="admin2.php" enctype="multipart/form-data">
<br><img src="images/linep.png"><br>
<br>
<h2 style="color: #AF7AC5">اضافة تخصص جديد</h2><br>
<div class="cad-1 cad-2 cad-3 cad-4 cad-5 cad-7 cad-10 cad-12">
<span style="float: right">الدورة</span>
<input type="text" class="form-controlmine" name="type" placeholder="مثال: أمن صناعي" required="">
<br><br><span style="float: right">الإختصاص</span>
<input type="text" class="form-controlmine" name="nom" placeholder="مثال: اسعافات أولية" required="">
<br><br><span style="float: right">شروط الإلتحاق</span>
<input type="text" class="form-controlmine" name="cond" placeholder="مثال: جامعي" required="">
<br><br><span style="float: right">الشهادة المحصلة</span>
<input type="text" class="form-controlmine" name="diplome" placeholder="مثال: شهادة تأهيلية" required="">
<br><br><span style="float: right">معلومات إضافية</span>
<input type="text" class="form-controlmine" name="info" placeholder="" required="">
<br><br><input type="submit" name="add" value="إضافة">
</div>
</form>
我一页上有php和html。
每次$row['type']
更改时,我都必须创建一个新表。
这意味着每个表将以相同的名称$row['type']
显示,但具有不同的参数$row['nom'], $row['cond'], $row['diplome'], $row['info']
我可以复制mysql_fetch_array
还是应该怎么做?
你能告诉我我该怎么做吗?
答案 0 :(得分:1)
您将在sql中需要一个ORDER BY type
,以便可以检测到$row['type']
何时更改。
您需要做些什么改变?如果有一个,则必须关闭上一个<table>
(请记住,处理第一行时不会打开<table>
元素)。然后开始一个新的<table>
。 (同样,记得在循环完成后回显最后的</table>
。)
当心,id
应该是唯一的,因此此echo'<table id="customers">';
会出现问题。
您可能需要几个新变量:一个用于跟踪当前类型,另一个用于了解这是否是第一行。您应该能够在现有的while
循环中合并这种“中断”逻辑。
答案 1 :(得分:0)
我解决了这个问题... 这是解决方案...虽然很复杂但是可以工作 代码php:
mysql_select_db("gestion_condidat");
$requet1 ="SELECT * FROM spe_tab WHERE langue ='ar' ORDER BY type ASC ";
if(($res = mysql_query($requet1))&&($ref = mysql_query($requet1))){
if ((mysql_num_rows($res) > 0)&&(mysql_num_rows($ref) > 0)) {
$new = mysql_fetch_array($ref);
while ($row = mysql_fetch_array($res)) {
$row=$new;
if(($row!=null)&&($new!=null)){
echo'<img src="images/linep.png"><br>';
echo'<CAPTION ALIGN=top><h2><span style="color: #EFB61A">|</span>'.$row['type'].'<span style="color: #EFB61A">|</span></h2></CAPTION> ';
echo'<table id="customers">';
echo' <tr><th> <center> الاختـــصـــاص</center></th><th><center>شروط الالتــحـاق</center></th><th><center>الشهــادة المحصــلة</center></th></tr>';
while($row['type']==$new['type']){
echo '<tr class="spe">';
echo '<td>'.$new['nom'].'</td>';
echo '<td>'.$new['cond'].'</td>';
echo '<td>'.$new['diplome'].'</td>';
echo '</tr>';
echo '<tr style="display:none"><td colspan="3">'.$new['info'].'</td></tr>';
$new = mysql_fetch_array($ref);
}
echo'</table> <br><br>';
}}
}}
else {
echo" Il ya une erreur ! <br><br>".mysql_error(); /*error*/
}
?>```