[PHP] Select + requête sql

Bonjour,

Je récupère dans un <select name=""> les tables de ma BDD. lorsque je clic sur un bouton sélectionner, j'affiche ce que la table sélectionnée contient. Mais j'ai un problème pour récupérer en $_POST le nom de la table.

--- mon code html ---

<?php $result1 = 'show tables from BDD';
$verif = mysql_query($result1) or die("Query failed"); ?>
<form id="form" method="POST" action="fic.php">
<select name="select">
<?php
while ($row1 = mysql_fetch_array($verif)) { ?>
<option value="<?php foreach($row1 as $value) { ?><?php echo $value; ?>" >
<?php echo $value; ?>
</option>
<?php }
} ?>
</select>
<input type="submit" name="selectionner" value="selectionner" />
</form>

--- mon code php : fic.php ---

<?php
if(isset($_POST['selectionner'])) {
$query2 = 'SELECT * FROM $_POST['$value']''; // voilà mon problème, lorsque je mets en dur une table ça passe mais avec le $_POST non ...
$re = mysql_query($query2) or die("Query failed");
while ($row2 = mysql_fetch_assoc($re)) {
foreach($row2 as $value2) {
echo $value2;
}
}
}
?>

Quelqu'un peut m'aider ? Merci.
Configuration: Mac OS X
Safari 523.12

3 réponses

  1. A ma connaissance, je 'ai jamais vu une variable dans un POST , alors je ne sais pas si ca marche ! Je peux pas t'aider désolé.
    0
    1. Bonjour,

      Je pense que tu devrais mettre
      <select name="selectionner">
      au lieu de
      <select name="select">

      puisque tu essaies de récupérer "selectionner"
      0
      1. Bonjour,

        pour creer ta liste de tables dans ton select fais plutot comme ça:

        ensuite mets des noms de variables plus " parlants"

        <?php 
        //$result1 = 'show tables from BDD'; 
        $req1="SELECT * FROM ta_table"; // mets des noms de variables qui correspondent
        $reponse1 = mysql_query($req) or die("Erreur requette ".mysql_error()); ?>
        
        <form id="form" method="POST" action="fic.php">
        	<select name="sel_tables">
        <?php
        	while ($row1 = mysql_fetch_array($reponse1)) { ?>
        
        		<option value="<?php echo $row1['champ_noms_tables']; ?>" ><?php echo $row1['champ_nom_tables']; ?> </option>
        <?php 
        	}
        	?>
        </select>
        <input type="submit" name="selectionner" value="selectionner" />
        </form>
        
        --- mon code php : fic.php ---
        
        <?php
        if(isset($_POST['selectionner'])) {
        	$table_sel=$_POST['sel_tables']
        	$query2 = "SELECT * FROM ta_table WHERE champ_noms_tables='".$table_sel."'"; 
        	$rep2 = mysql_query($query2) or die("Erreur requette ".mysql_error());
        	while ($row2 = mysql_fetch_assoc($rep2)) {
        		foreach($row2 as $value2) {
        			echo $value2;
        		}
        	}
        }
        ?> 
        
        
        0