solidaritok Posté 23 Mars 2008 Posté 23 Mars 2008 Bonjour, Comment faire fonctionner cette requête svp? <?php $query= 'SELECT $varinit FROM people order by mail';?> $varinit est concaténée ici à partir de la sélection du formulaire <?php$varinit="mail";$coma=",";if (isset($ok)) { foreach ($site as $choix) { $varinit=$varinit.$coma.$choix; }} ?> Sélections du formulaire : <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 Posté 23 Mars 2008 Posté 23 Mars 2008 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 Posté 23 Mars 2008 Posté 23 Mars 2008 tout bêtement comme ça : <?php$query= "SELECT $varinit FROM people order by mail";?>
Kioob Posté 23 Mars 2008 Posté 23 Mars 2008 bonsoir, tu n'aurais pas un peu beaucoup oublié le mysql_real_escape_string() ?
solidaritok Posté 25 Mars 2008 Auteur Posté 25 Mars 2008 <?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() ?
pluriels Posté 25 Mars 2008 Posté 25 Mars 2008 (modifié) <?php$varinit="mail";$coma=",";if (isset($ok)) {foreach ($site as $choix) {$varinit=$varinit.$coma.$choix;}}?> est équivalent à : <?php$coma=",";$varinit = implode($coma,$site);?> la variable $site est celle que tu utilises dans ton script... Modifié 25 Mars 2008 par pluriels
max971 Posté 3 Avril 2008 Posté 3 Avril 2008 perso pour la requête je ferais comme ca avec un mysql_error pour avoir un peu plus d'infos sur ton erreur... $query= "SELECT ".$varinit." FROM people order by mail";$resultat= mysql_query($query) or die(mysql_error());
Anonymus Posté 4 Avril 2008 Posté 4 Avril 2008 +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. c'est quoi le mysql_real_escape_string() ? C'est une occasion de lire > http://fr.php.net/manual/fr/function.mysql...cape-string.php
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant