requete qui marche pas mais...

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 : requete qui marche pas mais...

par Rouge » 24 nov. 2008, 19:10

De cette façon cela fonctionne :wink:


<?php

  session_start();

  $id = $_SESSION['id'];

  require_once 'connexion.php';

$sql = mysql_query("SELECT posx, posy FROM membres WHERE id = $id; ")or die(mysql_error()); 



  $rsa = mysql_fetch_assoc($sql);


  $posx = $rsa['posx'];

  $posy = $rsa['posy'];

$req = mysql_query("SELECT image FROM map WHERE posx=  $posx   AND  posy=  $posy; ") or die(mysql_error()); 



  $data = mysql_fetch_assoc($req);

  $image= $data['image'];
  

  if ($data['image'] == './relief/piste.gif')
{
include 'detailmap_piste.php';

}
else
{
include 'create_relief.php';
}

  mysql_close();

?> 

par charabia » 12 nov. 2008, 23:51

Vérifie que les variables $id, $posx et $posy ont bien une valeur.

par Rouge » 12 nov. 2008, 23:39

Bon, j'ai rebidouillé le code et y'a du mieux, mais le résultat escompté, logique et "réel" n'est pas encore au rdv:
<?php

  session_start();

  $id = $_SESSION['id'];

  require_once 'connexion.php';

$sql = mysql_query("SELECT posx, posy FROM membres WHERE id = '.$id.'")or die(mysql_error()); 



  $rsa = mysql_fetch_assoc($sql);


  $posx = $rsa['posx'];

  $posy = $rsa['posy'];

$req = mysql_query("SELECT image FROM map WHERE posx= '.$posx.' AND posy= '.$posy.'")or die(mysql_error()); 



  $data = mysql_fetch_assoc($req);

  $image= $data['image'];
  

  if ($data['image'] == './relief/piste.gif')
{
include 'detailmap_piste.php';
//echo' que pasa el paso?';
}
else
{
include 'create_relief.php';
}

  mysql_close();

?> 
le script redirige vers "create_relief.php" au lieu de "detailmap_piste.php" :roll:
C'est à croire que le include n'est plus pris en compte :?

par charabia » 12 nov. 2008, 23:19

As-tu fait ce que Arthur t'a proposé ?

par Rouge » 12 nov. 2008, 23:18

Rebonsoir, et désolé pour le ton sec du message :oops:

Pour chris, désolé, mais le fait de protéger les variables numériques avec des points des quotes etc est encore pire, le script reste grisé (donc inopérant à coup sur) :roll:

par @rthur » 11 nov. 2008, 23:24

Bonsoir Rouge,

Tout d'abord, juste une petite remarque sur la forme, les formules de politesse "Bonjour", "Merci", etc... ne sont pas en option, surtout lorsqu'il s'agit de son 1er post sur PHPfrance.

Concernant ton problème, il suffit que tu affiches ta requête à l'écran puis que tu la testes dans phpMyAdmin afin de la débuguer.

Re: requete qui marche pas mais...

par chrislabricole » 11 nov. 2008, 23:22

$sql = "SELECT posx, posy FROM membres WHERE id = '$id'";
$sql = 'SELECT posx, posy FROM membres WHERE id = "'.$id.'"'; 
$req = "SELECT image FROM map WHERE posx = '$posx' AND posy = '$posy'";
$req = 'SELECT image FROM map WHERE posx="'.$posx.'" AND posy="'.$posy."';
C'est déjà mieux, c'est une erreur SQL, pas PHP ;)

requete qui marche pas mais...

par Rouge » 11 nov. 2008, 22:42

la requete suivie du message erreur:
<?php

  session_start();

  $id = $_SESSION['id'];

  require_once 'connexion.php';



  $sql = "SELECT posx, posy FROM membres WHERE id = '$id'";

  $result = mysql_query($sql) or die(mysql_error()); 

  $rsa = mysql_fetch_assoc($result);


  $posx = $rsa['posx'];

  $posy = $rsa['posy'];


  $req = "SELECT image FROM map WHERE posx = '$posx' AND posy = '$posy'";

  $res = mysql_query($req) or die(mysql_error()); 

  $data = mysql_fetch_assoc($res);

  $image= $data['image'];
  

  if ($data['image'] == './relief/piste.gif')
{
include 'detailmap_piste.php';
//echo' que pasa el paso?';
}
else
{
include 'create_relief.php';
}

  mysql_close();

?>
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Pourtant, lorsque je valide le echo dans la boucle, celui ci s'affiche bien :?