Rechercher : dans
Par :

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

Dernière réponse le 5 jun 2008 à 23:08:31 bibin, le 10 fév 2008 à 19:38:41 
 Signaler ce message aux modérateurs

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 :)
Configuration: Windows XP
Firefox 2.0.0.12

Meilleures réponses pour « [php/sql] Récupérer le nom des attributs » dans :
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...
PHP - Les classes VoirLa notion de classe Php3 intègre un soupçon de caractéristiques empruntées aux langages orientés objet, c'est-à-dire la possibilité d'utiliser des objets, entités regroupant des données et des fonctions au sein d'une structure et rendant la...

1

Alain_42, le 10 fév 2008 à 20:12:13

Bonsoir,

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

vas voir:

http://www.php.net/manual/fr/function.mysql-list-fields.php

Répondre à Alain_42

2

bibin, le 10 fév 2008 à 22:01:13

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'];

Répondre à bibin

3

Alain_42, le 11 fév 2008 à 09:32:32

Bonjour,

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


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


@lain

Répondre à Alain_42

4

bibin, le 11 fév 2008 à 09:49:58

Merci beaucoup :)
Tout fonctionne comme il faut

Bonne continuation

Répondre à bibin

5

 karlobame, le 5 jun 2008 à 23:08:31

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>

Répondre à karlobame