Version complète: sur le forum Webmaster Hub : requete sur variable
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
solidaritok
Bonjour,

Comment faire fonctionner cette requête svp?

SQL
<?php
$query= 'SELECT $varinit FROM people order by mail';
?>



$varinit est concaténée ici à partir de la sélection du formulaire
SQL
<?php

$varinit="mail";
$coma=",";

if (isset($ok)) {
foreach ($site as $choix) {
$varinit=$varinit.$coma.$choix;
}
}
?>


Sélections du formulaire :
HTML
<form action="<?$PHP_SELF;?>" method="post">

Les champs que vous voulez afficher :

<input type="checkbox" name="site[]" value="prenom"> Prénom
<input type="checkbox" name="site[]" value="nom"> Nom
<input type="checkbox" name="site[]" value="ville"> Ville

<input type="submit" value="valider" name="ok">
</form>


En vous remerciant, amicalement, Guy
pluriels
pour utiliser les variables directement dans une chaine de caractères, il faut utiliser les doubles cotes.
$query= "SELECT $varinit FROM people order by mail";


autre technique :
$varinit = implode($coma,$site);
Dadou
tout bêtement comme ça :

CODE
<?php
$query= "SELECT $varinit FROM people order by mail";
?>
Kioob
bonsoir,

tu n'aurais pas un peu beaucoup oublié le mysql_real_escape_string() ?
smile
CODE
$query= 'SELECT '.$varinit.' FROM people order by mail';
solidaritok
SQL
<?php
$query= "SELECT $varinit FROM people order by mail";
$query= 'SELECT '.$varinit.' FROM people order by mail';
?>

tous deux donnent 'erreur résultat de la requete'

pourquoi la variable $site? dans $varinit = implode($coma,$site);

c'est quoi le mysql_real_escape_string() ?

captain_torche
Que te donne un "echo $query" ?
pluriels
CODE
<?php

$varinit="mail";
$coma=",";

if (isset($ok)) {
foreach ($site as $choix) {
$varinit=$varinit.$coma.$choix;
}
}
?>

est équivalent à :
CODE
<?php
$coma=",";
$varinit = implode($coma,$site);
?>


la variable $site est celle que tu utilises dans ton script...
max971
perso pour la requête je ferais comme ca avec un mysql_error pour avoir un peu plus d'infos sur ton erreur...

CODE
$query= "SELECT ".$varinit." FROM people order by mail";
$resultat= mysql_query($query) or die(mysql_error());
Anonymus
+1
et entre les 2 lignes, j'ajouterais ce que disait captain_torche, à savoir un 'echo'.
Tu regardes ce que donne le '$varinit' > Si ca correspond bien à ce que tu attends,
tu copies/collles le contenu dans phpmyadmin pour voir le resultat qu'il trouve,
et le cas échéant, tu nous postes le résultat tu mysql_error.

CITATION
c'est quoi le mysql_real_escape_string() ?

C'est une occasion de lire wink.gif biggrin.gif
> http://fr.php.net/manual/fr/function.mysql...cape-string.php
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.