pb requète avec like

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb requète avec like

par Ryle » 28 févr. 2007, 01:19

A moi, a moi !! :)
@thehawk : dans ta dernière requête, t'as bien mis le nom des tables comme suggéré par Truc, mais t'en a perdu la liste des champs et le FROM ;)
heu, "champCheminImage" dans la table c'est "ressource"......, donc j'ai zappé ce paramètre
Et pourquoi ne pas essayer avec le bon nom de champ plutôt que de me zapper les paramètres que je me suis enquiquiner à ajouter pour qu'ils soient suffisament explicites afin que tu les identifies ? :x ;)

par thehawk » 28 févr. 2007, 00:30

vraiment proche du zero absolue pour j arrete de flooder sinon je vais me farie engueler ...

par zeus » 28 févr. 2007, 00:23

J'aimerais savoir quel est le pourcentage de réponse constructives dans ce post :-k
:langue:

Sinon, pour YVES, je pense que tu disposes de tous les éléments nécessaires, plusieurs fois même. Tu devrais donc y arriver en relisant bien le cours du thread ;)

par thehawk » 28 févr. 2007, 00:06

:cry: :cry: :cry: :cry: je voulais bien fairrrrreeeeeeeeeeeeeeeeee ca m apprendra a repondre trop viteee snif .... :twisted: :evil: :evil: :twisted: je me vengerais ^^ :roll: :roll: :roll: :wink: :P :tir2: :agenouille: zarabotak.com

par Truc » 28 févr. 2007, 00:01

oups encore une boulette made in thehawk .... j'edit tt de suit avant que je me fasse engueler
Prix du meilleur gaffeur décerné à .................. thehawk :lol:

Il est où le nom de la table ? :wink:

@YVES
La soluce à été donnée plus d'une fois.. relis les posts attentivement.

par thehawk » 27 févr. 2007, 23:13

oups encore une boulette made in thehawk .... j'edit tt de suit avant que je me fasse engueler

par jojolapine » 27 févr. 2007, 23:12

houlà, regarde ton code avant de poster... :?
un LIKE s'effectue sur un champ d'une table.. non pas sur une table entière... :roll:

par thehawk » 27 févr. 2007, 23:10

voici l'architecture d'une requete avec un like :

Code : Tout sélectionner

"SELECT le_nom_des_tables_a_ouvrire WHERE une_condition le_premier_champ_a_analyser LIKE '%".$tontruc."%' AND le_second_champLIKE'%".$tonsecondtruc."%'"
Maintenant tu n'as plus qu'a adapter ...

[mode fauxq]Et jojo non zeus ne parle pas dans le vent,je l'ecoute attentivement [/mode fauxq]

par jojolapine » 27 févr. 2007, 23:05

Je suis désolé thehawk, mais un
Code:
like '%outi%"
tout seul dans un where, ça n'a aucun sens Confused
décidément zeus parle dans le vent ce soir :-*

par YVES » 27 févr. 2007, 22:39

voici le code complet :?
<?php
  session_start();
$id = $_SESSION['id'];
include 'connexion.php';
//on va chercher la position du joueur
$requete = mysql_query("SELECT posx, posy FROM membres WHERE id = ". $id .";") or die(mysql_error());
$rsa= mysql_fetch_assoc($requete);
$posx = $rsa['posx'];
$posy = $rsa['posy'];
//Là, on va chercher la ressource de la case sur la map qui correspond au X/Y de ton perso
$rsb = "SELECT ressource FROM map WHERE posx=".$rsa['posx']."AND posy=".$rsa['posy']." LIKE '%outi%' "
$data = mysql_fetch_assoc($rsb);
$ressource= $data['ressource'];
//Là, on va chercher l'emplacement qui peut accueillir ladite ressource
$sql= "SELECT outil  FROM membres WHERE id = ". $id;
        $res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
        $data = mysql_fetch_object($res);
//        $data = $row->outil;
        if (($data== './objet/rien.gif')){
$sql ="UPDATE membres SET outil= '$ressource', action='images/jetonrouge.gif',
exp=exp+0.1, hab=hab+0.1, uoutil=uoutil+0.1 WHERE id = ". $id;
mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
if($res)
{
           $_SESSION['outil']=$ressource;
           $_SESSION['action']='images/jetonrouge.gif';
           $_SESSION['exp']=$_SESSION['exp']+0.1;
           $_SESSION['hab']=$_SESSION['hab']+0.1;
           $_SESSION['uoutil']= $_SESSION['uoutil']+0.1;
}
else
{
echo'PAS LE BON TRUC MAIS A POURSUIVRE'; 
}
}
mysql_close();
?>

par YVES » 27 févr. 2007, 22:31

Me revoilà :shock:
sacré débat, en fait, je pense que la soluce de Ryle semble la plus appropriée
à mon sujet
heu, "champCheminImage" dans la table c'est "ressource"......, donc j'ai zappé ce paramètre ainsi:
"SELECT ressource FROM map 
WHERE posx=".$rsa['posx']."
AND posy=".$rsa['posy']."
LIKE '%outi%' "
resultat= page blanche.

par Ryle » 27 févr. 2007, 13:00

C'est mieux sur la syntaxe, mais pas grand chose à voir avec la requête de départ ;) on peut supposer que les posx et posy sont des coordonnées donc ont des valeurs fixes et ne nécessitent pas des chaines approximatives...
"SELECT ressource FROM map 
WHERE posx=".$rsa['posx']."
AND posy=".$rsa['posy']."
AND champCheminImage LIKE '%outi%' "
Le mieux étant effectivement d'attendre un retour de Yves :)

par thehawk » 27 févr. 2007, 12:46

Oups j'ai repris un code que j'avais deja programé .... je suis dsl et ouf je sais bien que je ne suis pas en exam mais j aime pas faire des erreur d'inatention mais apparamant il ne faut pas trop en demander passer une certaine erreur ....
SELECT ressource FROM map WHERE posx LIKE '%".$rsa['posx']."%' AND posy LIKE '%".$rsa['posy']."%');
La c'est mieux ? et YVES on te voit pas beaucoup ...

par Truc » 27 févr. 2007, 11:50

je dsl j'ai du mal a garder les yeux ouvert ...
:lol:
Stresse pas... c'est pas un examen :wink:

Dans cete dernière version tu as changé la requête de départ et supprimé cette fameuse condition avec le LIKE.

par thehawk » 27 févr. 2007, 00:42

je dsl j'ai du mal a garder les yeux ouvert ...
SELECT * FROM article WHERE posx LIKE '%".$rsa['posx']."%' AND posy LIKE '%".$rsa['posy']."%');
il faute juste revoir les guillemet de mon code car j'ai un doute ...