IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

mettre toutes mes tables dans un select [Débutant(e)] [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Points : 132
    Points
    132
    Par défaut mettre toutes mes tables dans un select
    bonjour,

    j'ai plusieurs tables je voudrais choisir la table à ouvrir et à afficher par le choix de mon select

    mais je ne sais pas comment récupérer mes tables pour les incorporer dans le select

    une petite aide serait la bienvenue

    merci

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Un peu de code pourrait peut-être nous aider à comprendre quelque chose parce que là
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Points : 132
    Points
    132
    Par défaut
    oui voilà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    include( "config_server.php" );
    $tables = mysql_query("SHOW TABLES;");
    while($tables_array = mysql_fetch_row($tables)) {
        echo $tables_array[0]."<br />";
    }
    ?>
    voilà alors là j'ai récupéré tous les tables se trouvant dans mas base , je voudrais afficher ces tables dans un select, que je pourais sélectionner et afficher les données selon la table sélectionné

    donc je dois afficher le résultat de ma requêt ci dessus dans le sélect mais comment faire

    merci

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form method="" action="">
    <select name="">
     
    <?php
    include( "config_server.php" );
    $tables = mysql_query("SHOW TABLES;");
    while($tables_array = mysql_fetch_row($tables)) {
        echo "<option>"$tables_array[0]."</option>";
    }
    ?>
    </select>
    <input type="submit" value="Envoyer">
    </form>
    La c'est cadeau ... mais la prochaine fois essaie quand meme de reflechir un peu
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Points : 132
    Points
    132
    Par défaut
    voilà j'ai fait comme dit dans le message précédent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <form method="post" action="admin_consultation_list.php">
    <?php
    include( "config_server.php" );
    $tables = mysql_query("SHOW TABLES;");
    ?>
    <select>
    <?php
    while($tables_array = mysql_fetch_row($tables)) {
        ?>
     
        <option><?php echo $tables_array[0]; ?></option>
     
    	<?php
    }
     
    ?>
    </select>
    <input type="submit" value="Envoyer">
    </form>
    mais cela va ramener vers une autre page

    ce que je voudrais c'est qu'il indique les éléments de la table sélectionnée sur la même page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    include( "config_server.php" );
    $sql = "SELECT * from biens"; --> remplacer par le contenu du select
    $req = @ mysql_query ( $sql ) or die ( 'Erreur requête !!!' ); 
     
    while ( $data = @ mysql_fetch_array ( $req )) {
    ....
    }
    ?>
    bien sur pour cela il faut enlever le bouton submit, mais est il possible de faire cela sur la même page ? je pense que oui je pense qu'il faut employer isset mais je ne sais pas comment l'employer

    merci pour votre aide

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    La réponse a été apportée hier à cette question.
    D'autre part je pense que les tutoriels du site pourraient etre un bon commencement
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Points : 132
    Points
    132
    Par défaut
    désolé je ne trouve pas la réponse dans les messages de hier, pouvez vous m'indiquer de quel message il s'agit

    désolé mais je débute en php, par contre je ne trouve pas de réponse dans les tutos non plus

    merci de votre precieuse aide, je sais que j'ai des lacunes en php mais j'ai besoin de cette réponse pour avancer

    merci

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Hier ou avant hier, je voulais dire une recherche.

    Ton input type submit est obligatoire pour valider le formulaire (ou alors il faut le simuler avec du javascript).
    Pour renvoyer sur le meme formulaire il faut mettre la page en cours dans l'attribut action de la balise form.

    Je serais surpris que les tutoriels html de ce site ne le précisent pas
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  9. #9
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Et pour se servir d'une fonction quand on connait son nom un coup d'oeil sur la doc pourrait aider...

    http://fr3.php.net/manual/fr/function.isset.php

    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Points : 132
    Points
    132
    Par défaut
    voilà j'essaye d'avance un peu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <form method="post" >
    <?php
    include( "config_server.php" );
    $tables = mysql_query("SHOW TABLES;");
    ?>
    <select>
    <?php
    while($tables_array = mysql_fetch_row($tables)) {
        ?>
     
        <option><?php echo $tables_array[0]; ?></option>
     
    	<?php
    }
     
    ?>
    </select>
    <input type="submit" value="Envoyer" name="bouton_envoyer">
    </form>
    <?php
    if (isset($bouton_envoyer))
    {
    include( "config_server.php" );
    $sql = "SELECT * from ....";
    $req = @ mysql_query ( $sql ) or die ( 'Erreur requête !!!' );  
    while ( $data = @ mysql_fetch_array ( $req )) {
    echo $data[nom];
    }
    }
     ?>
    j'ai mis ce code en employant un isset sur le bouton submit

    le problème que dois je mettre dans le select * (3 petits points dans le code) pour récupérer la valeur du sélect

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <?php
    mysql_connect('localhost', 'julp', '*****');
    mysql_select_db('julp');
     
    if (isset($_POST['envoyer']) && isset($_POST['table']) && !empty($_POST['table'])) {
     
    	$table = mysql_real_escape_string($_POST['table']); 
    	echo '<table align="center">';
     
    	$request = mysql_query('SELECT * FROM ' . $table . ';');
    	@ $nb_proj = mysql_num_rows($request);
    	@ $nbChamps = mysql_num_fields($request);
     
    	$colonnes = mysql_query('SHOW COLUMNS FROM ' . $table . ';');
    	@ $nbcol = mysql_num_rows($colonnes); 
     
    	echo '
    	<table border="1">
    	  <tr>';
     
    	while (@ $array = mysql_fetch_assoc($colonnes))
    	{
    		echo '<th scope="col">' . $array['Field'] . '</th>';
    	}
     
    	echo '</tr>';
     
    	while (@ $array = mysql_fetch_row($request))
    	{
    		echo '<tr>';
    		for ($i = 0; $i < $nbChamps; $i++)
    		{
    			echo '<td>' . $array[$i] . '</td>';
    		}
    		echo '</tr>';
    	}
    } else {
    ?>
     
    <form method="post">
    <select name="table">
     
    <?php
    $tables = mysql_query("SHOW TABLES;");
    while ($tables_array = mysql_fetch_row($tables)) {	
        echo '<option>' . $tables_array[0] . '</option>';
    } 
    ?>
     
    </select>
    <input type="submit" value="Envoyer" name="envoyer">
    </form>
     
    <?php
    }
    ?>
    Voilà pour l'idée (que j'avais déjà donnée).

    On récupère désormais les variables du formulaire via le tableau $_POST (du même nom que la méthode employée) - environnement où register_globals est à Off, ce qui est aujourd'hui recommandé et en vigueur.


    Julp.

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    293
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 293
    Points : 132
    Points
    132
    Par défaut
    merci julp de ton aide mais n'oublie pas que je suis débutant et que je comprends pas trop ce que fait ton code peux tu plus regarder mon code et m'aider à partir de ce code.

    le problème c'est que dans mon select

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "SELECT * from ... ";
    je veux récupérer la table qui est sélectionée dans mon select mais comment récupérer la valeur du select et la mettre dans ma requete

    merci

  13. #13
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    mais c'est dans le code de Julp tout ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (isset($_POST['envoyer']) && isset($_POST['table']) && !empty($_POST['table'])) {
     
    	$table = mysql_real_escape_string($_POST['table']); 	echo '<table align="center">';
    	 
    	$request = mysql_query('SELECT * FROM ' . $table . ';');
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/03/2012, 09h32
  2. Supprimer un champ dans toutes mes tables.
    Par tombabibel dans le forum MySQL
    Réponses: 2
    Dernier message: 30/10/2008, 13h55
  3. un SELECT sur toutes mes tables
    Par 3dagard dans le forum Requêtes
    Réponses: 3
    Dernier message: 30/07/2008, 17h50
  4. [SQL] Créer un identifiant dans toutes mes tables
    Par cdevl32 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 11/03/2008, 18h36
  5. afficher les champs null de deux tables dans un select
    Par poil dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/09/2005, 15h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo