2017-09-06 1 views
0

Je crée un pivot en utilisant une procédure stockée, mais je ne sais pas comment récupérer automatiquement toutes les colonnes et les résultats en PHP.Est-il possible d'appeler la procédure stockée dans php fetch colonnes dynamiques et les résultats?

Ceci est le résultat de mon pivot de procédure stockée dans phpmyadmin et/ou établi mysql

| MEMBER  | 05/07/2017 | 06/07/2017 | 07/07/2017 | 08/07/2017 | 
| Accounting | 12   | 0   | 20   | 10   | 
| Officer | 1   | 20   | 4   | 8   | 
| Support | 10   | 1   | 0   | 30   | 

Note: membre et la date peut plus que cet exemple.

Mais en PHP je ne peux pas récupérer toutes les données comme ci-dessus et j'ai besoin de taper statique comme les données de $ ['05/07/2017' ] ...

Voici le script:

<html> 
<head> 
<title>SP</title> 
</head> 
<body> 
<?php 
require_once('connection.php'); 
$smt = $conn->query('CALL SalesRecord()'); 
$row = $smt->fetchAll(PDO::FETCH_ASSOC); 
?> 
<tr> 
<td><?php print_r(json_encode(explode("",$row['0']))); ?><br></td> 
<td><?php print_r($row['1']); ?><br></td> #here i need to static input 
<td><?php print_r($row['2']); ?><br></td> #can do it automatically? 
</tr> 
</table> 
</body> 
</html> 

Est-ce que quelqu'un peut m'aider?

Merci alots

Répondre

0

Je pense que vous devez utiliser PDO::FETCH_BOTH ou PDO::FETCH_NUM au lieu de PDO::FETCH_ASSOC, s'il vous plaît voir PHP doc Fro plus de détails

0

Vous pouvez utiliser foreach:

echo '<table> 
     <thead> 
      <tr>'; 
       // write header 
       foreach ($result[0] as $key => $value) { 
        echo "<th>".ucfirst($key)."</th>"; 
       } 
       echo '</tr> 
     </thead><tbody>'; 

       // loop for row 
       foreach ($result as $item) { 
       echo "<tr>"; 
       // loop for column 
       foreach ($item as $value) { 
        echo '<td class="wrap">'. $value . "</td>\n"; 
       }       
       echo "</tr>\n"; 
       } 
       echo "</tbody></table>"; 

Peut-être que vous recherchez un exemple plus simple:

echo '<table><tr>'; 
// loop for all columns in the 2. row 
foreach ($row[1] as $key => $value) { 
    echo '<td>' . $row[1][$key].'</td>'; 
} 
echo '</tr></table>'; 
+0

Salut Tout ce que je veux dire quand nous reviendrons résultat $ [0], $ result [1], ... automatique, donc quand il y avait 100 colonnes en php peut automatiquement chercher le résultat sans déclarer et définir un par un. C'est possible? – user8124226

+0

Désolé, mais je ne comprends pas votre question. $ result [0] renvoie la première ligne avec toutes les colonnes. dans une boucle foreach "$ clé " vous donne le nom de chaque colonne. as-tu essayé le code? – Max

+0

Salut Max, j'ai déjà essayé. Mais j'ai résolu cette question, plus tard je mettrai à jour la réponse. Merci pour votre attention, votre soutien et vos préoccupations. – user8124226

0

code:

echo "<table border='1'>"; 
echo ""; 
while ($rows = $stmt->fetchAll(PDO::FETCH_NUM)) { 
#print_r($rows); 
foreach ($rows as $array => $row) { 
echo "<tr>"; 
foreach ($row as $col => $cell) { 
echo "<td width='180px'>". $cell ."</td>"; 
} 

} 
echo "</tr></table>"; 
}