JeuWeb - Crée ton jeu par navigateur
Requête SQL Union - 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 : Requête SQL Union (/showthread.php?tid=4724)



Requête SQL Union - xepos - 10-04-2010

Bonjour,

Je viens vous demandez certains renseignements tous d'abord:

Ma requête SQL est telle correcte ??

Code PHP :
<?php 
mysql_query
("(SELECT count(*) FROM session WHERE `id` = '". $Sess_ID ."' AND `time_expire` <= '". time() ."' LIMIT 1) UNION (SELECT `id` FROM user WHERE `username` = '". $Players ."' LIMIT 1)");

ensuite je voudrai savoir comment faire pour afficher le résultat de la requête car je n'y arrive pas.

Merci d'avance, Cordialement Xepos


RE: Requête SQL Union - pascal - 10-04-2010

Hello,

Est-ce que tu as essayé la requête dans phpmyadmin ?

Pour rappel, utiliser UNION force à avoir :
- le même nombre de champs
- le même type pour les champs des différents SELECT (si le 3e champ est un int dans le SELECT n°1, il doit être aussi un INT dans le SELECT n°2)

++

Pascal


RE: Requête SQL Union - xepos - 10-04-2010

J'ai tester.

La requête par elle même fonctionne.

Je sais simplement pas afficher le résultat finalement


RE: Requête SQL Union - Sephi-Chan - 10-04-2010

Et si tu nous expliquais ce que tu cherches à faire ? Ce serait déjà un bon début.


Sephi-Chan


RE: Requête SQL Union - xepos - 10-04-2010

Je voudrai compter le nombre de sessions dans la base de donnée et prendre l'ID du joueurs qui ce connecte, Mais en une seule requête SQL.

Je veut compter le nombre de sessions car je veut vérifier qu'il n'a pas de doublons.
Et je veut prendre l'ID du joueurs pour le stocker dans la session pour ne pas devoir remettre une requête SQL après.

Voila, Cordialement


RE: Requête SQL Union - Sephi-Chan - 10-04-2010

Donc, ton but est de vérifier qu'un même joueur n'a pas ouvert 2 sessions sur le site (dans 2 navigateurs différents, par exemple) ?

D'après ce que je comprends, ta requête n'a pas de sens puisque tu tentes de récupérer deux informations tout à fait différentes, qu'il convient donc de récupérer avec deux requêtes distinctes.


Sephi-Chan


RE: Requête SQL Union - xepos - 10-04-2010

Oui, c'est bien ce que je veut faire.

La table est de moi:

CREATE TABLE `sessions` (
`id` varchar(32) NOT NULL,
`session` text NOT NULL,
`time_expire` bigint(20) NOT NULL default '0',
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

La voici


RE: Requête SQL Union - Sephi-Chan - 10-04-2010

Ok. Donc, est-ce que tu comprends qu'il ne faut pas chercher à rassembler ces deux requêtes ?

Dans un premier temps, tu récupères les informations de ton utilisateur, puis ensuite, tu peux faire une requête qui compte le nombre de sessions ouvertes pour ce joueur. Si c'est supérieur à 1, c'est que ton utilisateur a ouvert d'autre sessions.


Sephi-Chan


RE: Requête SQL Union - xepos - 10-04-2010

D'accord, Merci de m'avoir répondu