[Résolu] Traiter un champ inexistant en Base de données - 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 : [Résolu] Traiter un champ inexistant en Base de données (/showthread.php?tid=2692) |
[Résolu] Traiter un champ inexistant en Base de données - Rouge - 18-06-2008 Hello Le bout de script suivant traite un déplacement sur une map. Je ne vois pas quoi mettre si les coordonnées n'existent pas (encore) dans la table Code PHP :
En fait, le but final est de permettre au joueur de créer la case (dont les coordonnées x et y sont encore inéxistantes en table) afin qu'il puisse mettre le relief qu'il souhaite :heuuu: J'ai testé la fin du if avec des quotes ' ' mais cela ne fonctionne pas non plus, le joueur se retrouve dans le "vide" au niveau de la map. RE: traiter 1 champ inexistant en db - Eluox - 18-06-2008 Empty ? Mais bon je comprends pas, tu sélectionne des positions dans la table membre, donc techniquement, elle existent RE: traiter 1 champ inexistant en db - Rouge - 19-06-2008 oui et non, en fait toutes les coordonnées "x" et "y" ne sont pas rentrées en table ! Admettons que le joueur démarre au bord de la carte en x0, y0 (ces coordonnées là sont dans la table) et qu'il pointe vers le Nord, il se retrouve donc en x0, y-1. y-1 n'éxiste pas en table, il faudrait qu'il puisse "créer" cette nouvelle case de la map avec le relief de son choix... et je ne vois pas comment coder celà dans le script ci-dessus (script qui se déclenche APRES le déplacement choisi par le joueur) RE: traiter 1 champ inexistant en db - Rouge - 19-06-2008 le soucis vient de là Code PHP :
il faudrait donc faire aussi appel à la table map dans la meme requete..... Mais je ne sais pas comment coder celà :heuuu: RE: traiter 1 champ inexistant en db - Shakkah - 19-06-2008 Un truc que je comprends pas, c'est que ton $posx et ton $posy sont forcément remplie puisque lié au membres par contre tu as pas forcément d'existence de cette case dans ta table gérant la map. Concrètement, Tu veux juste savoir si la case existe dans la table de ta map c'est ça ? Si c'est le cas pourquoi tu fais pas Code PHP :
RE: traiter 1 champ inexistant en db - Rouge - 19-06-2008 Code PHP :
c'est le "X" et le "Y" qui coincent là. j'ai testé un truc de ce genre pour recupérer les deux variables de la table membre et les comparer dans la table map pour vérifier si elles existent... Code PHP :
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /mnt/web4/40/58/51658858/htdocs/verif_position_joueur.php on line 9 il faudrait arriver à faire la liaison entre posx et posy communs dans la table membres et la table map. Pour la fin du code, le empty, je ne suis pas certain de la syntaxe :heuuu: RE: traiter 1 champ inexistant en db - Roworll - 20-06-2008 D'abord Code PHP :
Code PHP :
Code PHP :
Code PHP :
Entre nous, ces deux là, tu aurais pu les trouver. Enfin, pour tester si ta requête a renvoyé un résultat, tu as deux solutions Code PHP :
Code PHP :
RE: traiter 1 champ inexistant en db - Shakkah - 20-06-2008 Une question bête , la ligne 9 s'est la quelle ? ^_^ En comptant (s'il n'y a pas d'autre ligne de code que tu nous as pas mis) je tombe sur cette ligne Code PHP :
Je pense pas que cette ligne peux fontionner, il vaut mieux faire Code PHP :
Parce que sinon tu test juste la première valeur pas la deuxième. D'ailleurs je suis entrain de voir que dans ton premier code, tu avais fait la même erreur sur le if. De pas tester une des valeurs, quand tu utilise les opérateurs logiques (|| , && , etc ...) il faut que de chaque coté ça soit l'équivalent d'un if simple. Car pour faire if ($TOTO), il faut que $TOTO soit un booléen RE: traiter 1 champ inexistant en db - Anthor - 20-06-2008 Outre les questions betes, ca vous pose pas problème ca ? Code PHP :
Essai comme ca : Code PHP :
ou Code PHP :
Après les double quote... RE: traiter 1 champ inexistant en db - Rouge - 23-06-2008 Ok, ça fonctionne. merci à vous trois. Par contre, je pensais que comme en html, quand on ouvre une balise il fallait la refermer... $sql = mysql_query("SELECT posx, posy FROM map WHERE posx= ".$data['posx']." AND posy = ".$data['posy']". ") or die(mysql_error()); :heuuu: Code PHP :
|