2016-03-19 8 views
-1

Ich habe eine Tabelle mit einem Feld, das 16 Datensätze hat. Ich möchte sie in einer 4 * 4 Tabelle zeigen, aber ich weiß nicht wie. Mein Code zeigt sie in einer Zeile.Zeige Informationen von MySQL in 4 * 4 Tabelle in HTML

<table class="table"> 
    <thead> 
     <tr class="mybg"> 
      <?php 
      $pdo = Database::connect(); 
      $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
      $sql = "SELECT * FROM tutors_students where tutor_id = ? and ok=1 ORDER BY date DESC "; 
      $q = $pdo->prepare($sql); 
      $q->execute(array($userid)); 
      $data = $q->setFetchMode(PDO::FETCH_ASSOC); 
      foreach($q->fetchAll() as $k=>$v) { ?> 
      <th><?php echo $v['date'];?> </th> 
      <?php } 
      Database::disconnect(); 
      ?> 
     </tr> 
    </thead> 
    <tbody class="mybg1"> 
+0

4 * 4 bedeutet, was ?? –

+0

einen Zähler hinzu, in jeder Schleife erhöhen, sobald es 3 add a ' "" 'an den Ausgang, Zurücksetzen des Zählers auf 0 – Jeff

+0

4 Spalten und 4 Zeilen. vielleicht sind meine Reihen mehr – user3782154

Antwort

1

Fügen Sie einen Zähler hinzu, erhöhen Sie diesen in jeder Schleife;
Sobald Sie 4 colums eine neue Zeile ausdrucken und den Zähler zurückzusetzen:

$cnt=0; 
foreach($q->fetchAll() as $k=>$v) { 
    $cnt++; 
    echo '<th>'. $v['date'].'</th>'; 

    if($cnt===4) { 
     echo "</tr><tr>"; 
     $cnt=0; 
    } 
} 
+0

vielen Dank. – user3782154