0

Hello I am a new programmer with html and php and mysql. In fact I'd like to select all the data from a unique table in mysql and display them on html5 page. I created a sms.html and when I run it with Chrome this is what I saw Normally I need to display a table with 5 th means 5 rows

Here is my code

    <body>
    <?php
       echo "<table style='border: solid 1px black; border-collapse: collapse; 
        th, td {
       padding: 5px;
       text-align: left;
        }'>";
       echo "<tr>
       <th>date/th>
       <th>Etat de TX1</th>
       <th>Etat de TX2</th>
       <th>Sur antenne</th>
       <th>ALARME</th>      </tr>";

        class TableRows extends RecursiveIteratorIterator { 
        function __construct($it) { 
         parent::__construct($it, self::LEAVES_ONLY); 
       }

         function current() {
         return "<td style='width: 150px; border: 1px solid black;'>" .    
         parent::current(). "</td>";
           }

        function beginChildren() { 
         echo "<tr>"; 
       } 

         function endChildren() { 
         echo "</tr>" . "\n";
        } 
    } 

       $servername = "localhost";
       $username = "root";
       $password = "";
       $dbname = "OACA";

        try {
        $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, 

     $password);
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $stmt = $conn->prepare("SELECT * FROM etat"); 
     $stmt->execute();

     // set the resulting array to associative
     $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 

       foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as  $k=>$v) { 
         echo $v;
         }
      }
      catch(PDOException $e) {
        echo "Error: " . $e->getMessage();
   }
    $conn = null;
    echo "</table>";
    ?>  
    </body>

1 Answers1

0

Could you not do something like this?

 <?php
`$result = null;

  $servername = "localhost";
  $username = "root";
  $password = "";
  $dbname = "OACA";

  try {
      $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
      $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

      $stmt = $conn->prepare("SELECT * FROM etat"); 
      $stmt->execute();
      $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
      $count = $stmt -> rowCount(); 
      $all = $stmt->fetchALL();
      }
  catch(PDOException $e) {
        echo "Error: " . $e->getMessage();
   }

 ?>

 <div>     
      <table style='border: solid 1px black; border-collapse: collapse; 
        th, td {
       padding: 5px;
       text-align: left;
        }'>
        <thead>
           <tr>
              <th>date/th>
              <th>Etat de TX1</th>
              <th>Etat de TX2</th>
              <th>Sur antenne</th>
              <th>ALARME</th> 
            </tr>
          </thead>
          <tbody>
          <?php 
            if($count > 0) {
            //For each row echo <tr></tr>        
                    foreach ($all as $item) {
                      echo"<tr>";
                      //For each column in the row echo each value in a <td></td>
                      foreach ($item as $key => $value) {
                        echo  "<td>" . $value ."</td>";                       
                      }
                      "</tr>";
                    }

                }   
          ?>
        </tbody>

      </table>
    </div>