JeuWeb - Crée ton jeu par navigateur
[REGLE]une SQL avec un WHERE compliqué - 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 : [REGLE]une SQL avec un WHERE compliqué (/showthread.php?tid=1936)

Pages : 1 2


RE: une SQL avec un WHERE compliqué - Argorate - 29-10-2007

non c'est pas cela

prend un caré de 5*5 par exemple. la dedans tu prend une coordoné x,y au hasard, cela remplit la case en question avec un chiffre 1. ensuite tu doit selectioné toutes les cases autour d'elle où il y a aussi un 1. En excluant le point x,y prit au hasard, et un autre point x,y_ancien.


REPRESENTATION: (un tableau tres mal fait, ------ = ligne, | = colone)
----------
| |2| | |
----------
| |1|1| |
----------
| | |1| |
----------

le x,y de base est celui en marron, le x,y_ancien en rouge, et le x,y qu'il faut selectioné est en vert.


RE: une SQL avec un WHERE compliqué - jo_link_noir - 29-10-2007

je commence à comprendre

en fait c'est un tableau avec les colonnes numeroté de 1 à X et les ligne de 1 à Y ?

(x<=$x+1 OR x>=$x-1 OR y<=$y+1 OR y>=$y-1) AND x!=$x_ancien AND y!=$y_ancien OR x!=$x AND y!=$y


RE: une SQL avec un WHERE compliqué - Argorate - 29-10-2007

j'ai regle mon pb tout seul Tongue ce fut laborieu mais j'y suis arrivé.

j-12 : non c'est tjs pas ça ^^ lol

il ne faut pas mettre des OR pour definir un intervalle, sinon sa ne marche plus...


RE: une SQL avec un WHERE compliqué - jo_link_noir - 29-10-2007

lol bah, c'est pas grave au moins t'as réussi ^^


RE: une SQL avec un WHERE compliqué - Zamentur - 30-10-2007

Code PHP :
<?php 
SELECT x
,y FROM carte WHERE x<=$x+1 AND x>=$x-1 AND y<=$y+1 AND y>=$y-1 AND (x!=$x_ancien AND y!=$y_ancien)

Ton code qui effectivement refuse toute les ligne avec y ancien et toute les ligne avec x_ancien

Code PHP :
<?php 
SELECT x
,y FROM carte WHERE x<=$x+1 AND x>=$x-1 AND y<=$y+1 AND y>=$y-1 AND NOT(x=$x_ancien AND y=$y_ancien)
Et la çà marche

Une variante qui fonctionne tout autant:
Code PHP :
<?php 
SELECT x
,y FROM carte WHERE x<=$x+1 AND x>=$x-1 AND y<=$y+1 AND y>=$y-1 AND (x!=$x_ancien OR y!=$y_ancien)
car NON(A et B) = NON(A) OU NON(B)
C'est de la logique booléennes de base

Voici un article qui parle bien de ce sujet http://fr.wikipedia.org/wiki/Alg%C3%A8bre_de_Boole_%28logique%29

A noter que le XOR fait partie de mysql , mais pas le XAND...[/php]


RE: une SQL avec un WHERE compliqué - Argorate - 30-10-2007

oui, j'ai eu 14 recament en logique booléennes, tu m'apprends pas comment ça marche, en revanche la syntaxe et la possibilite SQL pour dire NOT, je connaissais pas...

merci bien j'ai reussi differament,et en mieu ! Wink