2016-11-29 3 views
0

Ich habe einen horizontalen Tisch mit PHP und MySQL jetztPHP MySQL vertikale Tabelle

table

Wie kann ich eine vertikale Tabelle aus diesem Code machen?

<div class="content-loader"> 
    <table cellspacing="0" width="100%" id="rank2" class="table table-striped table-hover table-responsive"> 
    <thead> 
     <tr> 
     <th>Nick</th> 
     <th>Kredity</th> 
     <th>Body1</th> 
     <th>Body2</th> 
     <th>Cas</th> 
     <th>online</th> 
     </tr> 
    </thead> 
    <tbody> 
     <?php 
     require_once 'dbconfig.php'; 
     $stmt = $db_con->prepare("SELECT ranks.steamId, ranks.points, ranks.lastDisplayName, ranks.lastUpdated, ranksrussia2.points AS points2, uconomy.balance 
     FROM ranks 
     INNER JOIN ranksrussia2 ON ranks.steamId = ranksrussia2.steamId 
     LEFT JOIN uconomy ON ranks.steamId = uconomy.steamId 
     WHERE ranks.steamId = ?"); 
     $stmt->execute(array($steamprofile['steamid'])); 

     while($row = $stmt->fetch(PDO::FETCH_ASSOC)) 
     { 
      echo "<td>". $row['lastDisplayName']."</td><td>". $row['balance'] ."</td><td>". $row['points'] ."</td><td>". $row['points2'] ."</td><td>". $row['points2'] ."</td>"; 
     } 
     ?> 
    </tbody> 
    </table> 
</div> 
+2

Es ist unklar, was Sie eigentlich fragen. Was genau verstehen Sie hier vertikal und horizontal? Sie haben eine Tabelle mit ein paar Spalten. Fein. Anscheinend versuchen Sie, diese Spalten in eine HTML-Tabelle auszugeben. Wo kommen die "Vertikale" und "Horizontale" ins Spiel? – arkascha

+0

@arkascha OP muss 'th' s vertikal auflisten, nehme ich an. Also, jeder 'tr' wird' td' mit Werten eines Typs haben –

+0

@u_mulder Könnte sein, vielleicht, aber die Frage ist vage darin ... – arkascha

Antwort

0

Sie könnten versuchen, dieses

Kopieren Sie einfach und fügen Sie die Vorbereitung und die Variablen ändern, gleiche gilt

<div class="content-loader"> 

<?php 
    require_once 'dbconfig.php'; 
    $stmt1 = $db_con->prepare("SELECT ranks.steamId, ranks.points, ranks.lastDisplayName, ranks.lastUpdated, ranksrussia2.points AS points2, uconomy.balance FROM ranks INNER JOIN ranksrussia2 ON ranks.steamId = ranksrussia2.steamId LEFT JOIN uconomy ON ranks.steamId = uconomy.steamId WHERE ranks.steamId = ?"); 
    $stmt2 = $db_con->prepare("SELECT ranks.steamId, ranks.points, ranks.lastDisplayName, ranks.lastUpdated, ranksrussia2.points AS points2, uconomy.balance FROM ranks INNER JOIN ranksrussia2 ON ranks.steamId = ranksrussia2.steamId LEFT JOIN uconomy ON ranks.steamId = uconomy.steamId WHERE ranks.steamId = ?"); 
    $stmt3 = $db_con->prepare("SELECT ranks.steamId, ranks.points, ranks.lastDisplayName, ranks.lastUpdated, ranksrussia2.points AS points2, uconomy.balance FROM ranks INNER JOIN ranksrussia2 ON ranks.steamId = ranksrussia2.steamId LEFT JOIN uconomy ON ranks.steamId = uconomy.steamId WHERE ranks.steamId = ?"); 
    $stmt4 = $db_con->prepare("SELECT ranks.steamId, ranks.points, ranks.lastDisplayName, ranks.lastUpdated, ranksrussia2.points AS points2, uconomy.balance FROM ranks INNER JOIN ranksrussia2 ON ranks.steamId = ranksrussia2.steamId LEFT JOIN uconomy ON ranks.steamId = uconomy.steamId WHERE ranks.steamId = ?"); 
    $stmt5 = $db_con->prepare("SELECT ranks.steamId, ranks.points, ranks.lastDisplayName, ranks.lastUpdated, ranksrussia2.points AS points2, uconomy.balance FROM ranks INNER JOIN ranksrussia2 ON ranks.steamId = ranksrussia2.steamId LEFT JOIN uconomy ON ranks.steamId = uconomy.steamId WHERE ranks.steamId = ?"); 

    $stmt1->execute(array($steamprofile['steamid'])); 
    $stmt2->execute(array($steamprofile['steamid'])); 
    $stmt3->execute(array($steamprofile['steamid'])); 
    $stmt4->execute(array($steamprofile['steamid'])); 
    $stmt5->execute(array($steamprofile['steamid'])); 

    ?> 

<table cellspacing="0" width="100%" id="rank2" class="table table-striped table-hover table-responsive"> 
<thead> 
<tr> 
<td>Nick</td> 
<?php 
while($row = $stmt1->fetch(PDO::FETCH_ASSOC)) 
    { 
     echo "<td>". $row['lastDisplayName']."</td>"; 
    } 
?> 
</tr> 
<tr> 
<td>Kredity</td> 
<?php 
while($row = $stmt2->fetch(PDO::FETCH_ASSOC)) 
    { 
     echo "<td>". $row['balance'] ."</td>"; 
    } 
?> 

</tr> 
<tr> 
<td>Body1</td> 
<?php 
while($row = $stmt3->fetch(PDO::FETCH_ASSOC)) 
    { 
     echo "<td>". $row['points'] ."</td>"; 
    } 
?> 

</tr> 
<tr> 
<td>Body2</td> 
<?php 
while($row = $stmt4->fetch(PDO::FETCH_ASSOC)) 
    { 
     echo "<td>". $row['points2'] ."</td>"; 
    } 

?> 


</tr> 
<tr> 
<td>Cas</td> 
<?php 
while($row = $stmt5->fetch(PDO::FETCH_ASSOC)) 
    { 
     echo "<td>". $row['points2'] ."</td>"; 
    } 

?> 

</tr> 
<tr> 
<td>Online</td> 

</tr> 
</thead> 
<tbody> 

</tbody> 
</table> 

</div> 
+0

seine Show zuerst nur, https://ctrlv.cz/shots/2016/11/ 29/nplc.png – Seuss

+0

also dann denke ich, dass Sie verschiedene Abfragen für jeden Tabellenkopf erstellen sollten. du weißt, was ich meine? –

+0

Ich weiß es nicht, es tut mir leid. Es ist immer noch php? Ich kann nicht bearbeiten mysql cullums – Seuss

1

Bei der Erzeugung von Tabellen auszuführen, fetch() Arbeiten auf einer zeilenweisen Basis , funktioniert sehr gut für horizontal gedruckte Tabellen. Aber in Ihrem Fall ist es besser, die Daten fetchAll() vor dem Druck aus:

<?php 

    function unite(string $prefix, string $suffix, array $array){ 
    $str = ''; 
    foreach($array as $value){ 
     $str.= $prefix . $value . $suffix; 
    } 

    return $str; 
    } 

    if($stmt->execute(array($steamprofile['steamid']))){ 
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); 
    } else { 
    die('query failed'); 
    } 

?> 

<table> 
    <tbody> 
    <tr> 
     <th>Nick</th><?php echo unite('<td>', '</td>', array_column($rows, 'lastDisplayName')) ?> 
    </tr> 
    <tr> 
     <th>Kredity</th><?php echo unite('<td>', '</td>', array_column($rows, 'balance')) ?> 
    </tr>  
    </tbody> 
</table> 

Auf diese Weise können Sie Spalten greifen und sie in 1 unterwegs ausdrucken. Wenn Sie nicht mehr Spalten als 1 erwarten, können Sie auch einfach folgendes tun:

<?php 

    if($stmt->execute(array($steamprofile['steamid']))){ 
    if(!is_array($row = $stmt->fetch(PDO::FETCH_ASSOC))){ 
     die('no results'); 
    } 
    } else { 
    die('query failed'); 
    } 

?> 

<tr> 
    <th>Nick</th><td><?php echo $row['lastDisplayName'] ?></td> 
</tr> 
+0

das könnte besser sein als mein Gedanke. Ich weiß nicht, wie man vorbereitete Aussage und PDO dennoch verwendet. Ich habe gerade versucht, an seinen logischen Teil zu denken. –

+0

Lesen Sie darüber nach, es ist eigentlich sehr einfach, wenn Sie den Dreh raus. Viel sicherer auch. – Xorifelse

+0

ja. Ich weiß, dass es viel sicherer ist, aber ich bin neu dabei. Unsere Schule lehrt uns das nicht. sogar php. wir müssen nur von uns lernen. hehehe .. –