Aller au contenu

Sujets conseillés

Posté

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

Posté

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);

Posté

tout bêtement comme ça :

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

Posté

<?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() ?

Posté (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é par pluriels
  • 2 semaines plus tard...
Posté

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());

Posté

+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 ;):D

> http://fr.php.net/manual/fr/function.mysql...cape-string.php

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...