2016-01-10 1 views
0

Ceci est l'information de ma table dans DB.PDO: comment remplir une table html avec des lignes de la table de base de données?

id   name  age 
1   Vale  23  
2   Alex  13 
3   Scott  15 
4   Tino  18 

J'ai 2 zone de sélection et quand je prends "Vale" de la première et "Scoot" de la deuxième selectbox, j'aime générer la table comme ceci:

id   name  age 
1   Vale  23  
3   Scott  15 

selectbox.

<select name="name1"> 
    <option value="Vale">Vale</option> 
    <option value="Tino">Tino</option> 
</select> 

<select name="name2"> 
    <option value="Alex">Alex</option> 
    <option value="Scoot">Scoot</option> 
</select> 
. 
. 
. 

Ma page_à_processus.php. Ce dont j'ai besoin de plus, ou où sont mes erreurs.

<?php 
require('includes/config.php');\\CONNECTION to Database 

$sql = $dbh->prepare("SELECT * FROM info WHERE name = :name"); 
$sql->setFetchMode(PDO::FETCH_ASSOC); 
$sql->execute([':name' => $name1]); 


if($sql->rowCount() != 0) { 

?> 
<table border="0"> 
    <tr COLSPAN=2 BGCOLOR="#6D8FFF"> 
     <td>ID</td> 
     <td>Name</td> 
     <td>Age</td> 
    </tr> 
<?php  
while($row=$sql->fetch()) 
{ 
     echo "<tr>". 
      "<td>".$row["id"]."</td>". 
      "<td>".$row["name"]."</td>". 
      "<td>".$row["age"]."</td>". 
      "</tr>"; 
} 

} 
else 
{ 
    echo "don't exist records for list on the table"; 
} 

?> 
</table> 
+0

il y a des erreurs? –

+1

Nous ne pouvons pas vous aider à déboguer votre code si vous ne fournissez pas d'erreurs à venir. Veuillez les poster pour que nous puissions vous aider. –

+0

@ValentinGjorgoski où avez-vous défini '$ name1' – meda

Répondre

0

Essayez cette approche:

<?php 
require('includes/config.php'); 

function get_info($dbh, $name) 
{ 
    $sql = $dbh->prepare("SELECT * FROM info WHERE name = :name"); 
    $sql->setFetchMode(PDO::FETCH_ASSOC); 
    $sql->execute([':name' => $name]); 
    if ($row = $sql->fetch()) { 
     return $row; 
    } 
    return false; 
} 

?> 


<table border="0"> 
    <tr COLSPAN=2 BGCOLOR="#6D8FFF"> 
     <td>ID</td> 
     <td>Name</td> 
     <td>Age</td> 
    </tr> 
    <?php 
    if (isset($_POST['name1'])) { 
     if ($row = get_info($dbh, $_POST['name1'])) { 
      echo "<tr>" . 
       "<td>" . $row["id"] . "</td>" . 
       "<td>" . $row["name"] . "</td>" . 
       "<td>" . $row["age"] . "</td>" . 
       "</tr>"; 
     } else { 
      echo "don't exist records for list on the table"; 
     } 
    } 
    ?> 
</table> 
+0

Merci beaucoup. Maintenant ça marche! –

+0

J'ai besoin d'une chose de plus. Lorsque les utilisateurs choisissent selectbox et la table est générée, à chaque fois qu'il se connecte, table et selectbox pour être la valeur du premier choix. Enregistré en session ou autre chose ... –

+0

Je n'ai pas complètement compris, mais vous pouvez utiliser des sessions pour conserver les données – meda