JeuWeb - Crée ton jeu par navigateur
probleme requete sql-deuxtables - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : probleme requete sql-deuxtables (/showthread.php?tid=2794)

Pages : 1 2


probleme requete sql-deuxtables - biboum - 24-08-2008

Bonjour.
J'ai fait un formulaire, cela m'ouvre en validant traitement.php comme prévu.
Traitement.php s'ouvre et me ramène sur la page du formulaire. Jusque là tout va bien, sauf que traitement.php il y a des requête SQl qui ne s'éffectue pas. Je me connecte bien. (session_start et localhost et cie) Mais il ne se passe rien du tout dans ma base de donnée. Je voulais savoir s'il y avait des erreurs, et cela me méttait qu'il ne connaissait pas les colonnes dans la "where clause".
Je l'ai montrer à quelqu'un qui normalement s'y connait ^^ Mais ne sait pas non plus pourquoi...logique sinon je serais pas là...
Cela pourrait-il venir d'une mauvaise manip dans la configuration de phpmyadmin ?

Je vous met le code :
Code PHP :
<?php session_start();
# // on se connecte à notre base
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('cosmopoeia', $base) ;
// on change le score politique
mysql_query("UPDATE politique SET scorepolitique = '" . $_POST['taxe'] ."' WHERE membre.pseudo = '". $_SESSION['pseudo']."'") or die(mysql_error());

//on change le taux de répréssion
$rep = "SELECT tauxrepression FROM politique WHERE id_paysjoue = membre.id_paysjoue AND membre.pseudo = '". $_SESSION['pseudo']."'";
$repr = mysql_query($rep);
$repres = mysql_fetch_array($repr);
$repression = $repres + 0.2*$repres/100;
mysql_query("UPDATE politique SET tauxrepression = '. $repression .' WHERE id_paysjoue = membre.id_paysjoue AND membre.pseudo = '". $_SESSION['pseudo']."'") or die(mysql_error());

//on change la valeur de la taxe de déboisement
$deb ="SELECT deboisement FROM ressources WHERE id_paysjoue = membre.id_paysjoue And membre.pseudo ='".$_SESSION['pseudo']."'" or die(mysql_error());
$taxes = mysql_query($deb);
$taxed = mysql_fetch_array($taxes);

$valeur= 1500;
$taxedeb = $taxed*$_POST['taxe']/100*$valeur;
mysql_query("UPDATE formulaireenvironnement SET taxedeforestation ='. $taxedeb.' WHERE id_paysjoue = membre.id_paysjoue AND membre.pseudo = '". $_SESSION['pseudo']."'") or die(mysql_error());

//on redirige vers la page d'où il vient
header('Location: environnement3.php'); ?>

Et ma table à l'intérieur de phpmyadmin ressemble à :

politique membre formulaireenvironnement
id_paysjoue id_paysjoue id_paysjoue
scorepolitique pseudo taxedeforestation
tauxrepression


J'avais pense que si je créais un SESSION_id dès le départ...mais je ne sais pas faire de creer une superglobale. Mais d'où peux venir le probleme ? Si vous voyez une piste...Merci Smile


RE: probleme requete sql-deuxtables - Eluox - 24-08-2008

Sans vraiment regarder le code,essaye de mettre des or die(mysql_error()); sur toute les requêtes.
Fait un print_r de $_SESSION et de $_POST pour voir ce que sa contient.

Sinan un error_reporting(E_ALL) peut-être.

( ta concaténation qui galère nan ? :/ )
j'ai pas le temps de bien regarder, mais essaye ce que je t'ai dit


RE: probleme requete sql-deuxtables - biboum - 24-08-2008

"Unknown column 'membre.pseudo' in 'where clause'"

Quand tu as ça qui t'es affiché...je ne peux rien faire du tout...


RE: probleme requete sql-deuxtables - Eluox - 24-08-2008

il vienne d'ou tout tes membre. ect dans tes requêtes ...


RE: probleme requete sql-deuxtables - biboum - 24-08-2008

Mes membre, c'est une table. La table membre ou dedans il y a "id_paysjoue" et "pseudo".

Si c'est ça la question...?


RE: probleme requete sql-deuxtables - jo_link_noir - 24-08-2008

un truc comme ça peut-être ?
UPDATE politique SET scorepolitique = '" . $_POST['taxe'] ."' WHERE id_paysjoue IN(SELECT id_paysjoue FROM pseudo = '". $_SESSION['pseudo']."')


RE: probleme requete sql-deuxtables - biboum - 24-08-2008

??...je viens de voir que mon $_POST['taxe'] et mon $_SESSION['pseudo'] n'existent pas...Je me connecte juste avant via ma page de formulaire et cela ne s'affiche plus :'(


RE: probleme requete sql-deuxtables - bigcrunch - 24-08-2008

Euh je vais peut-être avoir l'air d'un gros nul qui n'y connaît rien mais perso je vois pas comment ça pourrait marcher
Code PHP :
<?php 
mysql_query
("UPDATE politique SET scorepolitique = '" . $_POST['taxe'] ."' WHERE membre.pseudo = '". $_SESSION['pseudo']."'") or die(mysql_error());

Tu lui demandes de mettre à jour une table `politique` et le seul lien avec ta table membre c'est id_payjoue (corrige-moi si je me trompe)

Comment tu veux que mysql fasse le lien entre les 2 tables si tu lui dis pas de passer par le champ id_payjoue ?

J'aurais plutôt fait un truc du style
Code PHP :
<?php 
UPDATE politique SET scorepolitique
='".$_POST['taxe']."' WHERE id_paysjoue=(SELECT id_paysjoue FROM membres WHERE pseudo='".$_SESSION['pseudo']."')

C'est peut-être pas le plus mieux mais là je suis à peu près sûr que ça marche.


RE: probleme requete sql-deuxtables - Eluox - 24-08-2008

Biensur que sa requête ne peux pas marcher, mais je n'ai rien dit, pour qu'il trouve un peu seul , qu'on arrête de lui macher le taff :/


RE: probleme requete sql-deuxtables - bigcrunch - 24-08-2008

Zut alors, moi qui voulais participer un peu, pour une fois :pleure2:

Bon courage pour la suite :nana: