2016-03-29 12 views
1

Oracleを使用しているため、OCi_FETCH_ARRAY関数を使用してhtmlテーブルに印刷データを取得しようとしています。ここで何をしなければならないかは、データがある場合はデータベースにある情報を表示し、それ以外の場合は日付のショーを追加するボタンです。 これは私が使用しています私のPHPコードです:Oci_fetch_arrayをHTMLテーブルに使用してデータを表示

<?php 

    for ($i=1; $i<=4;$i++) 
    { 
       $stid = oci_parse($conn, 'SELECT * from SEANCE'); 
       oci_execute($stid); 
       $row = oci_fetch_array($stid,OCI_BOTH); 
     echo "<tr><td></td>";   
     for ($j=1; $j<=5;$j++) 
      { 
      //echo "".$row['DATES']."-".$row['HEURE']."/"; 
      if($row['ETAT']==1 && $row['DATES']==$j && $row['HEURE']==$i) 
       { 
        echo '<td><b>'.$row['ID_INSTRUCTEUR'].'</b><br><i>'.$row['ID_MODULE'].'</i><br>Salle : '.$row['ID_SALLE'].'</td>'; 
       } 
      else 
       { 
       echo "<td><button class='btn red-bg' onclick=asd(2,".$j.",".$i.")>Ajouter </button></td>"; 
       } 
      } 
     echo "<tr>"; 
} 
oci_free_statement($stid); 
oci_close($conn); 
    ?> 

をあなたは私がすべてのデータを表示することはできませんよ見ることができる、と私が得るものすべてが配列の最初の要素であり、そして私はどのように疑問に思ったようこの作業をして、テーブル全体を正しく表示できますか?

答えて

0

私はこの方法で別の配列にデータを保存することによって、この問題を解決しています

<?php 
$array=array(1=>"08:00-9:30",2=>"10:00-11:30",3=>"12:00-13:30",4=>"15:00-16:30"); 
    $stid = oci_parse($conn, 'SELECT count(IDSEANCE) from SEANCE'); 
    oci_execute($stid); 
    $row = oci_fetch_array($stid,OCI_BOTH); 
    //echo $row[0]; 
    //Verifie rows 
    if($row[0] == 0){ 
     for ($i=1; $i<=4;$i++) 
    { 
      echo "<tr><td><b>".$array[$i]."</b></td>"; 

      for ($j=1; $j<=5;$j++){ 
       echo "<td><button class='btn red-bg' onclick=asd(2,".$j.",".$i.")>Ajouter </button></td>"; 
       } 
      } 
      echo "<tr>"; 
    } else 
    { 
    //Problem avec la boucle For. 
    $array2=array(); 
    $stid = oci_parse($conn, 'SELECT * from SEANCE where ID_PROGRAMME=' . intval($_GET['idss']) . ''); 
    oci_execute($stid); 
    while($row = oci_fetch_array($stid,OCI_BOTH)) 
    { 
    $array2[$row[5]][$row[4]]="<td><b>".$row['ID_INSTRUCTEUR']."</b><br><i>".$row['ID_MODULE']."</i><br>Salle : ".$row['ID_SALLE']."<button style='background-color:#8DCB79;color:#ffffff;border: 1px solid transparent;float:right;' onclick=asd(2,".$row[4].",".$row[5].")>Modifie </button></td>"; 
    } 
    for ($i=1; $i<=4;$i++) 
    { 

      echo "<tr><td><b>".$array[$i]."</b></td>"; 

      for ($j=1; $j<=5;$j++) 
      { 

       if(empty($array2[$i][$j])){ 
        $array2[$i][$j] = "<td><button class='btn red-bg' onclick=asd(2,".$j.",".$i.")>Ajouter </button></td>"; 

       } 
       echo($array2[$i][$j]); 
      } 
      echo "<tr>"; 
    } 
    } 
oci_free_statement($stid); 
oci_close($conn); 
?> 
関連する問題