[php/sql] Récupérer le nom des attributs

Résolu/Fermé
bibin Messages postés 10 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 28 février 2008 - 10 févr. 2008 à 19:38
karlobame Messages postés 14 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 7 octobre 2008 - 5 juin 2008 à 23:08
Bonjour,
Voici mon problème : Je voudrais lister le nom des attributs de ma table (et non leur contenu).
Pour pouvoir construire mon deuxième menu déroulant qui contiendra donc le nom des attributs de ma table sélectionnée.

// Liste des tables
<form action="#" method="post">
<select name="table">
<option value="Alimentation">Alimentation</option>
<option value="Boitier">Boitier</option>
<option value="CarteGraphique">CarteGraphique</option>
<option value="CarteMere">CarteMere</option>
<option value="CarteSon">CarteSon</option>
<option value="DisqueDure">DisqueDure</option>
<option value="Graveur">Graveur</option>
<option value="Lecteur">Lecteur</option>
<option value="Memoire">Memoire</option>
<option value="Processeur">Processeur</option>
</select>
<input name="send" type="submit" value="send">
</form>


<?php
$user="user";
$pass="mdp";
$host="localhost";
$id_connexion = mysql_connect($host,$user,$pass);
mysql_select_db("magasin");

$table = $_POST['table'];
$requete4 = "SHOW KEYS FROM $table";
//$requete4 = "Select * FROM $table";
$req = mysql_query($requete4) or die('Erreur SQL !<br>'.$requete4.'<br>'.mysql_error());

echo "<form action=\"#\" method=\"post\"> ";
echo '<select name="attribut">';
while($data = mysql_fetch_assoc($req))
{
// CODE A MODIFIER POUR LISTER LE NOM DES ATTRIBUTS
echo '<option value="' .$data.'">' .$data.'</option>';
}

echo '</select>';
echo ' <input type="text" name="text" size="15" maxlength="30">';
echo ' <input name="rechercher" type="submit" value="Rechercher"> ';
echo '</form>';




Merci pour vos réponses et de l'aide que vous nous offrez :)

5 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
10 févr. 2008 à 20:12
Bonsoir,

Par attributs tu veux dire nom des champs je suppose, alors utilises la fonction mysql_list_fields()

vas voir:

https://www.php.net/manual/fr/function.mysql-list-fields.php
0
bibin Messages postés 10 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 28 février 2008
10 févr. 2008 à 22:01
Merci beaucoup de m'avoir orienté,
j'ai réussit grâce a ce petit tutoriel a afficher ce que je voulais :)
Mais je me permet de vous embêtez encore une fois :)

while ($x < $numColumns)
{
        //echo 'tour : '.$colname;
	$colname = mysql_fetch_row($qColumnNames);
	$col[$colname[0]] = $colname[0];
	echo '<option value="'.$col[$colname[0]].'">'.$col[$colname[0]].'</option>';
	$x++;
}
echo '</select>';
echo '&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="text" size="15" maxlength="30">';
echo '&nbsp;&nbsp;<input name="rechercher" type="submit" value="Rechercher"> ';
echo '</form>';


Comme vous avez put voir dans le premier post, ma table ("$table") est envoyé une fois cliqué sur "send"

Serait il possible d'utiliser l'equivalent de OnChange pour envoyer une table (par exemple Alimentation)
sans avoir a cliquer sur ce bouton (send), seulement en naviguant ou déroulant le menu ?



<form action="#" method="post"> 
	<select name="table">
		<option value="Alimentation">Alimentation</option>
                ...
		<option value="Processeur">Processeur</option>
	</select>
	<input name="send" type="submit" value="send"> 
</form>

$table = $_POST['table'];
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
11 févr. 2008 à 09:32
Bonjour,

Oui tu peux en rajoutant dans <select onChange="submit();"


<form action="#" method="post"> 
	<select name="table" onChange="submit();">


@lain
0
bibin Messages postés 10 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 28 février 2008
11 févr. 2008 à 09:49
Merci beaucoup :)
Tout fonctionne comme il faut

Bonne continuation
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
karlobame Messages postés 14 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 7 octobre 2008
5 juin 2008 à 23:08
vaider moi avec mon code el m'affiche ces erure
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\ProjetFinal\base\album.php on line 66

Notice: Undefined index: total in C:\Program Files\EasyPHP 2.0b1\www\ProjetFinal\base\album.php on line 67

Notice: Undefined variable: requete4 in C:\Program Files\EasyPHP 2.0b1\www\ProjetFinal\base\album.php on line 84

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\ProjetFinal\base\album.php on line 85


<?php
$serveur="localhost";
$user="root";
$psw="";
$db="utilisateur";

@mysql_connect($serveur,$user,$psw) or die ("Connexion échouée");
@mysql_select_db($db) or die ("Sé,lectionéchouée");
$compte="select count (*) as total from photo";
$donnees_total[]= mysql_fetch_assoc($compte);
$total=$donnees_total['total'];
$messageparpage=4;
$nombredepage=ceil($total/$messageparpage);
if(isset($_GET['page']))
{
$page_actuelle=intval($_GET['page']);
if($page_actuelle>$nombredepage)
{
$page_actuelle=$nombredepage;
}
}
else
{
$page_actuelle=1;
}
$premierentree=($page_actuelle-1)*$messageparpage;
$requet4="select * from photo order by idfoto desc LIMIT'$premierentree'.'$messageparpage'";
$retour="mysql_query($requete4) or die (Erreur :'.mysql_error() )";
while($donnees_messages[]=mysql_fetch_assoc($retour))
while($donnees_messages[]=mysql_fetch_assoc($retour))
{
echo '<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">';
echo"<tr>";
echo"<td valign=\"top\" align=\"left\">";
echo$donnees_messages['nom'];echo"</td>";
echo"<td valign=\"top\" align=\"left\">";
echo$donnees_messages['prenom'];
echo"</td>";
echo"<td valign=\"top\" align=\"left\">";
echo$donnees_messages['nom_foto'];
echo"</td>";
echo"<td width=\"35%\" align=\"center\">";
?>
<table width="100%" height="100%">
<td valign="top" align="center"> <IMG border="0" width="200" height="200"style="border-color:#000000" SRC="image/<?php echo$result['nom_foto']; ?>" > </td>
</table>
<?php
echo'<p align="cent">Page:';
for($i=1;$i<=$nombredepage;$i++)
{
if($i==$page_actuelle)
{
echo"[$i] ";
}
else
{
?> <a href="album.php?page=<?php echo"$i"; ?>">
<?php echo"$i"; ?>
</a>
<?php
}
echo"</td></tr>";
}
}
echo"</table>";
echo"<br> <br> <div align=right>";
echo"<a href=\"ajoutimage.php\">Ajouter une photo à l'album</a>";
echo"</div>";
@mysql_close();
?>
</td>
0