如何从db中检索数据并在php中的两个或多个表中显示它?

时间:2019-05-10 16:00:03

标签: php html sql

我正在尝试将数据库中的数据显示到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还是应该怎么做? 你能告诉我我该怎么做吗?

2 个答案:

答案 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*/
  }
?>```