PHP Mysql Automatique +++ Affichage

Résolu/Fermé
Signaler
-
 Pedr03 -
Bonjour à tous,

J'ai en cours un projet sur lequel je dois tout faire en automatique, je m'explique: j'ai une base de donnée avec des tables et avec un contenu dans chaque table.

Ok, bon jusque là normalement vous suivez toujours.


J'aimerais générer 1 page "B" sur laquelle s'affiche "La base de donnée" choisie dans la page "A".

La page A nous donne juste le nom des tables cliquable qui nous amène vers la page B qui affiche le contenu de la base de donnée.


Jusque là ça devrait toujours aller et vous vous dîtes ben tu fais une boucle où tu entres ta requête avec WHERE latableselectionnée. Oui mais non car en effet chaque table est différentes donc il est dur de prévoir à l'avance la structure (j'ai choisis un bon vieux tableau).


Vous comprenez mieux le problème?


Pour l'instant j'en suis à: (et le problème actuel c'est qu'il me répète 5 fois chaque entrée (oui je sais c'est la boucle, c'est le résultat le plus proche que j'ai pu obtenir), le premier affichage est vide car c'est ID que j'ai "supprimé" à l'affichage car inutile (ID m'est utile dans une autre partie pour la modif, suppression


//Nous sommes sur la PAGE B<br>echo '<table border> <tr>';<br>//$table = la table sélectionnée à la PAGE A<br>

//Affichage de l'entête du tableau ayant pour TITRE les différents nom de colonne de ma table<br>$req=$bdd->query("SHOW COLUMNS FROM ".$table."");
while($data = $req->fetch(PDO::FETCH_ASSOC))
{
    //Show this to understand structure of SQL base
    //echo '<pre>'.print_r($data,true).'</pre>';
     
    if($data['Field'] == 'id') {}
    else { echo '<th style="padding:15px;">'.$data['Field'].'</th>'; } 
}
echo '</tr>';

$req = NULL;
 
 
$req_information = $bdd->query("SELECT * FROM ".$table."");
while($data_information = $req_information->fetch())
{
    $req=$bdd->query("SHOW COLUMNS FROM ".$table."");
    while($data = $req->fetch(PDO::FETCH_ASSOC))
    {
        echo '<tr>';
                //Pour "Supprimer" l'affichage de ID
        if($data['Field'] == 'id') {}
        else
        {
            //echo '<td>'.$data['Field'].'</td>';
             
            //echo count($data).'<br/><br/>';
             
            //echo '<td>';
            $information_in = $data['Field'];
            for($i = 1 ; ($i+1) < count($data); $i++)
            {
                echo '<td style="padding:15px;">'.$data_information[$i].'-'.$i.'</td>';
                //echo $data_information[$i];
            }
            //echo '</td>';
        }
    echo '</tr>';
    }
}
echo '</table>';



Merci de votre aide

1 réponse

Résolu:


echo '<table border>
<tr>';
$req=$bdd->query('SHOW COLUMNS FROM '.$table);
while($data = $req->fetch(PDO::FETCH_ASSOC)) {
     echo '<th>' . $data['Field'] . '</th>';
}
echo '</tr>';
 
$req=$bdd->query('SELECT * FROM ' . $table);
while($data = $req->fetch(PDO::FETCH_ASSOC)) {
	echo'<tr>';
        foreach ($data as $value) {
             echo '<td>' . htmlspecialchars($value) . '</td>';
        }
		echo '
<td style="padding:15px;"><a href="page.php?page=Direction&&direction=modif&&table='.$table.'&&id='.$data_information['id'].'"><img src="modifier.png" alt="modification" title="modification"/></a></td>
<td style="padding:15px;"><a href="page.php?page=Direction&&direction=del&&table='.$table.'&&id='.$data_information['id'].'"><img src="supprimer.png" alt="delete" title="delete"/></a></td>
</tr>';
}
 
 
echo'</table>';


Merci à sabotage du forum http://www.developpez.net/
0