Afficher les valeurs d'une table MYSQL sans taper le nom des champs dans le code

Petit nouveau ! | 8 Messages

10 oct. 2008, 20:18

Salut tout le monde,

J'ai un fichier PHP qui me permet de me connecter à ma base MYSQL et de créer des zones de texte avec le nom des champs de la table concernées. le nom de la table est choisi par une liste déroulante afin d'avoir un seul code pour toutes les tables de ma base.

Pour rester dans la même logique, et surtout pour ne pas devoir taper en brut le nom des champs des tables (ce qui me permettrais de n'avoir qu'un seul script PHP pour toutes les tables), je me demandais comment je pouvais faire pour appeler les champs automatiquemnt et non en les tapant ?

J'aimerais donc afficher les données de la table deliberations provenant d'une base de donnés MySQL. Une des tables est etudiants. Je ne veux pas taper echo $reponse('Nom'), echo $reponse('Prenom') mais plutôt (echo $reponse('champs') il me montre le nom et passe au champ suivant, echo $reponse('champ') il me montre le prénom...

Voici mon code, merci d'avance pour votre aide très précieuse :
<code type="php">
<?php
# script qui permet de créer des zones de texte à la volée et d'afficher le nom des champs de la table
# variable qui contient le nom de ma base de données.
$dbname = 'deliberations';


$link = mysql_connect('localhost', 'root', 'mdp');
	if(!$link)	  
	 {
   		echo 'Impossible de se connecter à MySQL';
   		exit;
	}
	
	// Rendre la base de données deliberation, la base courante
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) 
	{
	   die ('Impossible de sélectionner la base de données : ' . mysql_error());
	}
	
# $_POST[select_Nom_Tables] récupère la valeur choisie par l'utilisateur, il faut ensuite cliquer sur le bouton pour qu'apparaisse les zones de texte	
$result = mysql_query("SHOW COLUMNS FROM .$_POST[select_Nom_Tables]") or die (mysql_error());

echo '<form action="" method="POST"><p>';
while ($row = mysql_fetch_assoc($result)) 
{
    // Ne montre que les noms des champs grâce à 'Field'
    echo $row['Field'] . " ";
    
    // Crée des zones de texte dynamiquement par rapport au nombre de champs.
    #echo '<input name="textarea[]" type="text" /><br/>';
	echo '<input name="' . $row['Field'] . '" type="text" /><br /><br/>';

}
echo '<input type="submit" name="Submit" value="Mettre la table à jour" />' ; 
echo '</p></form>';

?>
</code>