Comment comparer des données et les envoyer ensuite dans une nouvelle base de do

cs_joueur1 Messages postés 6 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 16 janvier 2004 - 10 janv. 2004 à 23:17
cs_joueur1 Messages postés 6 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 16 janvier 2004 - 16 janv. 2004 à 17:32
Bonjour,

J'ai un formulaire qui valide les informations en php et qui envoie les données dans une base de donnée MySql. Et je réussi à voir ce qui a été envoyé dans cette base de donnée dans une autre page php. Jusqu'à là tout fonctionne correctement.

Ce que je cherche à présent à faire est de lire ce qui ce trouve dans cette base de donnée (comprend plusieurs lignes) et la comparé avec une ligne en particulier de cette base de donnée ou d'un autre si ce n'est possible.

Si les résultats sont pareil, je désire donner une chiffre de 1 à 10 selon la colonne en question sinon le résultat donne 0. En fait, c'est pour comparer les pronostics du monde avec les résultats réels pour un pool.

Merci d'avance pour votre aide!!! Car, je suis un peu perdu dans tous mes recherches... J'espère avec été clair, malgré le fait que je suis perdu en se moment. ;)

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
11 janv. 2004 à 01:54
En SQL :
Pour insérer dans une Base3, les champs communs aux Base1 et Base2 (faut bien sûr connaitre les noms de champs) :

Insert into Base3
Select b3.Champ1 = B1.Champ1,
          b3.Champ2 = B1.Champ2      (, ...)
From Base1 B1, Base2 B2, Base3 B3
Where B1.Champ1 = B2.Champ1
    and B1.Champ2 = B2.Champ2      (and ...)


Vala
Jack
0
cs_joueur1 Messages postés 6 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 16 janvier 2004
11 janv. 2004 à 02:44
Je viens de me rendre compte que j'ai fait une erreur. Il n'a qu'une base de donnée, mais 3 différents tableaux.

Donc dans ton exemple, la base demeure la même (Base1, Base2, Base3) demeure seulement base1? Et c'est le tableau qui change (B1, B2 et B3)? Pour les champs, je les connais.. il en a 15 en tout, mais seulement les 13 dernier sont comparé entre eux.

Je commence dans le SQL, donc je comprends pas tout. :-/

From Base1 B1, Base1 B2, Base1 B3
Where B1.Champ1 = B2.Champ1 and
and B1.Champ2 = B2.Champ2 (and ...)

Cela va comparer le tableau 1 et le 2... Mais, il va mettre quoi dans le 3e tableau? Car, je ne veux pas qu'ils mettent la même chose que ceux-ci, mais 0 si c'est faux ou un chiffre de 1 à 10 selon le champ lorsque la condition est vrai.

Et ceci, ce code je le mets dans la page php où seront affiché les résultat du tableau 3?

Désolé de pas tout comprend... et merci pour l'aide!!!
0
cs_joueur1 Messages postés 6 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 16 janvier 2004
16 janv. 2004 à 17:32
J'ai essayé ceci et cela fonctionne pas:
<?PHP

$db = mysql_connect('localhost', 'mon nom d'usager');
mysql_select_db('pool_db',$db);

$sql = "INSERT INTO pointageSELECT pointage.pole pronostic.pole FROM pronostic, resultat, pointage WHERE pronostic.pole resultat.pole";
mysql_query($sql)
or die('Erreur SQL !'.$sql.'
'.mysql_error());

echo 'Transfert effectués!';
mysql_close();
?>

J'obtiens ce message: "Not unique table/alias: 'pointage'"

Ma base de donnée ce nomme pool_db
Mes 3 tableaux sont: pronostic, resultat et pointage
Pour le moment, il n'a qu'un champ dans l'exemple: pole (Lorsque celui-ci fonctionnera j'ajouterai les autres (1er,2e...)

Ce que je veux faire: Comparer le champ pool de pronostic (qui comprend un nombre de ligne indéterminé) avec ce même champ dans le tableau resultat et si les résultats sont identiques donner une valeur X (varie selon le champ) à ce champ dans le tableau pointage.

Merci de m'aide à trouver mon erreur dans le code ci-dessus.
0
Rejoignez-nous