Perdu dans une requete sql

  • Auteur de la discussion Auteur de la discussion tryan
  • Date de début Date de début
WRInaute passionné
Bonjour, je suis pommé dans une requête sql et je finit par me demander si celle ci elle est possible ^^.

Je récupère une valeur par $_GET.
J'ai une base nommé "tout_les_champs" contenant id, titre, champsanstiret .

id |titre |champsanstiret
1 |teste | blabla
2 |cc |popo
etc...
La valeur $_GET est la même que celle contenue dans le champ titre.
Peut on afficher la valeur de "champsanstiret" correspondant à $_GET?

Par exemple si $_GET a pour valeur "cc" alors je sélectionne dans la base "tout_les_champs" la valeur "cc" du champ "titre" pour pouvoir afficher "popo" ...
Pas facile à expliquer :lol: , merci.
 
WRInaute impliqué
Pas sûr de comprendre ... ça a l'air trop simple :wink:

Code:
$titre = mysql_real_escape_string($_GET['titre']);

$sql = ("SELECT titre, champsanstiret FROM matable WHERE titre='$titre'");
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result)

Puis pour afficher :

Code:
echo $row['titre'];
echo '<br />';
echo $row['champsanstitre'];

8)
 
WRInaute passionné
Merci SuperCureuil :D

Je ne suis pas au top niveau php alors j' ai pas très bien comprit ta requête :lol: .

Ceci dit, je viens de trouver ma requête ...du moins elle fonctionne pour le moment.
Code:
.....
<input type="text" name="premierevaleur1" value="<?php echo $_GET['champ']; ?>"/><br/>
.....
<?php
//je recup la valeur GET qui correspond à la valeur d'un des champs champsanstiret de la table tout_les_champs
$valeur=$_GET['champ'];

$query0 = mysql_query("SELECT * FROM tout_les_champs WHERE titre='$valeur' ");

$letitre="";
$lechampsanstiret="";
while($affiche0 = mysql_fetch_array($query0))
{
$champsanstiret = $affiche0['champsanstiret'];
$lechampsanstiret.="$champsanstiret";

$titre = $affiche0['titre'];
$letitre.="$titre";

echo "$titre";
echo '<br />';
echo "$champsanstiret";
}
?>
Si je reprend mon explication du haut, $_GET correspond à un des titres de ma base nommé "tout_les_champs" du champ "titre". Moi je voulais selon le titre sélectionné afficher la valeur correspondante du champ "champsanstiret" .. ce que semble faire mon code ^^.
 
WRInaute impliqué
Merci SuperCureuil

De rien Pingouin :mrgreen:

Heuuu ... je dirais que ton code ressemble fortement au mien mais en version côté obscur de la force ... je n'ai pas tout compris ... mais l'essentiel c'est que tu ais trouvé ton bonheur :D

Bonne soirée
 
WRInaute accro
tryan a dit:
Merci SuperCureuil :D
<?php
//je recup la valeur GET qui correspond à la valeur d'un des champs champsanstiret de la table tout_les_champs
$valeur=$_GET['champ'];

$query0 = mysql_query("SELECT * FROM tout_les_champs WHERE titre='$valeur' ");
[/code]


Un conseil, il me semble qu'on t'en avais parlé dans un autre topic, mais sécurise un peu les valeurs récupérées avant traitement.

Du genre :

Code:
$query0 = mysql_query("SELECT * FROM tout_les_champs WHERE titre='".mysql_real_escape_string($valeur)." ' ");
 
WRInaute passionné
SuperCureuil a dit:
De rien Pingouin :mrgreen:

Heuuu ... je dirais que ton code ressemble fortement au mien mais en version côté obscur de la force

Pingouin :D . Si tu me met ton code au complet, je pourrais alors te dire si il donne le meme résultat. J'ai éssayé avec le tien mais vue que je ne suis pas fortiche dans le domaine, je me suis très vite retrouvé avec des erreurs que je ne parvient pas à corriger :lol: !

UsagiYojimbo a dit:
Un conseil, il me semble qu'on t'en avais parlé dans un autre topic, mais sécurise un peu les valeurs récupérées avant traitement.

Sorry :oops: . Je n'ai pas du y prèter attention car c'est une fonction que je ne connais pas donc que je n'utilise pas. J'ai lu que sa protège les caractères spéciaux d'une commande SQL donc contre les "injections" .. C'est à utiliser uniquement quand on transmet des infos par GET ou POST dans une requete sql ou tout le temps ?
Merci pour vos réponses :)
 
WRInaute impliqué
Hello,

Je crois que c'est à utiliser tout le temps mais surtout lorsqu'on a des variables transmises par GET.

Je pensais qu'il fallait l'utiliser avec des requêtes d'insertion ou de suppression mais, apparemment, l'omettre peut nuire aussi avec un SELECT ... :wink:

C'est ce que j'en sais, j'espère que je ne t'induis pas en erreur !

Pingouin. Si tu me met ton code au complet, je pourrais alors te dire si il donne le meme résultat. J'ai éssayé avec le tien mais vue que je ne suis pas fortiche dans le domaine, je me suis très vite retrouvé avec des erreurs que je ne parvient pas à corriger Laughing

Ben c'était complet ... fallait juste changer les noms de champs :D

Bon travail et @+
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut