par
BeRoots » 25 mai 2007, 13:22
voici ce que j'ai fait pour faire plus simple (mais plus lourd en code):
$connexion = mysql_connect($hostdb, $userdb, $passdb) or die('Erreur SQL !<br />'.$connexion.'<br />'.mysql_error());
//sélection de la BDD
$db = mysql_select_db($usedb,$connexion) or die('Erreur SQL !<br />'.$db.'<br />'.mysql_error());
// selection de la ligne avec le couple pseudo/pass pour la table membre
$sql = "SELECT `pseudo`,`activ` FROM `$table1` WHERE (`pseudo` = '$pseudo' and `mpass` = '$crypt')";
$result = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// si la recherche dans la table 1 renvoi qqchose
if($result != '')
{
// on defini les deux variable retourner par SQL
while ($tabl_sql = mysql_fetch_assoc($result))
{
$pseudo_db = $tabl_sql['pseudo'];
$activation = $tabl_sql['activ'];
}
}
// sinon on recherche dans la table 2
else
{
// selection de la ligne avec le couple pseudo/pass pour la table 2
$sql = "SELECT `pseudo` FROM `$table2` WHERE (`pseudo` = '$pseudo' and `mpass` = '$crypt')";
$result = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on defini la variable retourner par SQL et on definit l'autre à true
while ($tabl_sql = mysql_fetch_assoc($result))
{
$pseudo_db = $tabl_sql['pseudo'];
$activation = true;
}
}
// déconnection avec MySQL
mysql_close();
en gros je scan ma table1 et si on trouve rien, on cherche dans table2...
le seul default qui me chagrine est le if($result != '') afin de verifie que ma requete 1 n'a rien retourner
1) y a t'il un autre moyen simple de voir si ma requete 1 retourne qqchose?
2) si quelqu'un voit une methode plus simple via une seul requete SQL
@hubert:
- il est imposible d'y avoir des boublons avec un même pseudo car je m'assure que chaque nouveau pseudo n'existe pas dans table1 & table2
- il n'y a aucune jointure entre mes deux tables. elles sont independante et different l'une de l'autre.
- ce que je cherche à faire c'est en une seul requete, recuperer la possible ligne correspondant à un couple pseudo/pass definit, en scannant les deux tables

pour table1 on recupererai les champs pseudo et activ et pour table2 seulement pseudo car activ n'existe pas
merci d'avance