Bonjour, l'erreur que tu rencontre est due au fait que la base de données n'existe pas.Parce que j'ai différentes catégories (atome, pee-wee, bantam et midget) et que j'ai 3 classes possibles (A, B et Filles) Comment puis-je, basé sur les variables postées, connecter à la bonne base de donnée?
Tout dépend de comment tu conçois ton application, tu en dis rien. Mais le plus plausible est de se limiter à une seule base de données qui reste le pacquage principal de toute source de données (table) nécessaire (surtout ne pas confondre base de données et tables comme dit moogli)@Sadeq:
Tu dis que tu ne pense pas que c'est la bonne méthode de concevoir les choses. Je suis ouvert à toutes suggestions! rappelons-nous que je suis "néo" au langage PHP!
Marc
<?php
/*
[date_jour] => 17-AVR-2011
[categorie] => bantam
[classe] => filles
[partie] => 720
[equipeLocale] => Chelsea
[pointageLocal] => 5
[equipeVisiteur] => Aylmer
[pointageVisiteur] => 2
[submit] => Transmettre
*/
if(isset($_POST['submit'])&&($_POST['submit'] == 'Transmettre'))
{
####################################################################
# Définition des paramètres de connexion à la base de données.
#
$user_name ="Marc";
$password ="J0nathan";
$database ="partie_jouee";
$server ="127.0.0.1";
#
# Fin des paramètres de connexion à la base de données.
#####################################################################
#####################################################################
# Connexion à la base de données.//
#
$sql_db = mysql_connect($server, $user_name, $password) or die("<font color='#0000A0'>Erreur MySQL :<br />" . $sql_db .
"<br />" . "Impossible d'établir une connexion avec le serveur MySQL</font>");
mysql_select_db($database) or die("<font color='#0000A0'>Erreur MySQL :<br />" . $database . "<br />" .
"Impossible d'établir une connexion avec la base " . $database . "</font>");
#
# Fin de la requête de connexion à la base de données.
#####################################################################
$datejour = (iSset($_POST['date_jour']) ? mysql_real_escape_string($_POST['date_jour']) : null);
$categorie = (iSset($_POST['categorie']) ? mysql_real_escape_string($_POST['categorie']) : null);
$classe = (iSset($_POST['classe']) ? mysql_real_escape_string($_POST['classe']) : null);
$partie = (iSset($_POST['partie']) ? mysql_real_escape_string($_POST['equipeLocale']) : null);
$equipeLocale = (iSset($_POST['equipeLocale']) ? mysql_real_escape_string($_POST['equipeLocale']) : null);
$pointageLocal = (iSset($_POST['pointageLocal']) ? mysql_real_escape_string($_POST['pointageLocal']) : null);
$equipeVisiteur = (iSset($_POST['equipeVisiteur']) ? mysql_real_escape_string($_POST['equipeVisiteur']) : null);
$pointageVisiteur = (iSset($_POST['pointageVisiteur']) ? mysql_real_escape_string($_POST['pointageVisiteur']) : null);
$message = "Le ".$datejour." dans la catégorie ".$categorie." ".$classe. " ".$equipeLocale. " ".$pointageLocal. " vs ".$equipeVisiteur." ".$pointageVisiteur;
$sqlinsert = "INSERT INTO listing (id, date_jour, categorie, classe, numero_partie, equipeLocale, pointageLocal, equipeVisiteur, pointageVisiteur) VALUES (null, '$datejour', '$categorie', '$classe', '$partie', '$equipeLocale', '$pointageLocal', '$equipeVisiteur', '$pointageVisiteur')";
mysql_query($sqlinsert) or die('Ne peut mettre listing à jour !'.$sqlinsert.'<br>'.mysql_error());
if($pointageLocal > $pointageVisiteur)
{
$gagnant = (iSset($_POST['equipeLocale']) ? mysql_real_escape_string($_POST['equipeLocale']) : null);
$perdant = (iSset($_POST['equipeVisiteur']) ? mysql_real_escape_string($_POST['equipeLocale']) : null);
$victoire = '1';
$defaite = '1';
$nulle = '1';
$erreur = "Ça ne marche pas";
$sqlinsertG = "INSERT INTO resultats (equipe, victoire) VALUES ('$gagnant', '$victoire') ON duplicate KEY UPDATE victoire = victoire + 1";
mysql_query($sqlinsertG) or die('Erreur SQL !'.$sqlinsertG.'<br>'.mysql_error());
$sqlinsertP = "INSERT INTO resultats (equipe, defaite) VALUES ('$perdant', '$defaite') ON duplicate KEY UPDATE defaite = defaite + 1";
mysql_query($sqlinsertP) or die('Erreur SQL !'.$sqlinsertP.'<br>'.mysql_error());
}
else
{
echo "Ça ne marche pas!";
}
}
else
{
echo "Erreur formulaire";
}
?>
A+
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.
Je n'apporte aucune modification au script juste une amélioration et correction car je ne comprends pas comment tu n'avais pas d'erreur il manquait un }@dunbar:
Si je comprend bien, la modification que tu proposes implique que je doive ajouter une table "resultats" dans la base de donnée "partieJouée" et non dans une base séparée, c'est bien ça?
Marc
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.
create table resultats (
categorie varchar(255),
classe varchar(255),
equipe varchar(255),
victoire int,
defaite int,
nulle int,
primary key (equipe) );
Puis insérer les résultats des matchs dans cette table exactement comme tu fais actuellement dans ton script, qu'on va légèrement modifier au niveau de l'instruction INSERT pour prendre en compte la nouvelle structure.$user_name="Marc";
$password="J0nathan";
$database="partie_jouee"; //base de données principale
$server="127.0.0.1";
$db_connect = mysql_connect($server,$user_name,$password) or die (mysql_error()); // Se connecter au serveur MySQL
mysql_select_db($database,$db_connect) or die (mysql_error()); // Se connecte à la base de donnée
//Vérifie si équipe locale a fait match nul et ajoute l'information dans la table de résultats (resultats)
if ($pointageLocal == $pointageVisiteur)
{
$equipe1 = $_POST['equipeLocale'];
$equipe2 = $_POST['equipeVisiteur'];
$nulle = 1;
$sqlinsertN1 = "INSERT INTO resultats (categorie, classe, equipe, nulle) VALUES ('$categorie', '$classe', '$equipe1', '$nulle') ON duplicate KEY UPDATE nulle = nulle + 1";
$sqlinsertN2 = "INSERT INTO resultats (categorie, classe, equipe, nulle) VALUES ('$categorie', '$classe', '$equipe2', '$nulle') ON duplicate KEY UPDATE nulle = nulle + 1";
// Enregistrer un match nul équipe 1
$requete = mysql_query($sqlinsertN1 , $db_connect);
if ( !$requete ) echo (mysql_error());
// Enregistrer un match nul équipe 2
$requete = mysql_query($sqlinsertN2 , $db_connect);
if ( !$requete ) echo (mysql_error());
// Fin de l'enregistrement
if ($requete) echo "Résultat enregistré : Egalité entre $equipe1 et $equipe2 ($pointageLocal/$pointageVisiteur)";
}
else
{
//Vérifie si équipe locale est gagnante et ajoute l'information dans la table de résultats (resultats)
if ($pointageLocal > $pointageVisiteur)
{
$gagnant = $_POST['equipeLocale'];
$perdant = $_POST['equipeVisiteur'];
$pointsG = $pointageLocal;
$pointsP = $pointageVisiteur;
}
else if($pointageLocal < $pointageVisiteur)
{
$gagnant = $_POST['equipeVisiteur'];
$perdant = $_POST['equipeLocale'];
$pointsG = $pointageVisiteur;
$pointsP = $pointageLocal;
}
//
$victoire = 1;
$defaite = 1;
$sqlinsertG = "INSERT INTO resultats (categorie, classe, equipe, victoire) VALUES ('$categorie', '$classe', '$gagnant', '$victoire') ON duplicate KEY UPDATE victoire = victoire + 1";
$sqlinsertP = "INSERT INTO resultats (categorie, classe, equipe, defaite) VALUES ('$categorie', '$classe', '$perdant', '$defaite') ON duplicate KEY UPDATE defaite = defaite + 1";
// Enregistrer une victoire
$requete = mysql_query($sqlinsertG , $db_connect);
if ( !$requete ) echo (mysql_error());
$requete = mysql_query($sqlinsertP , $db_connect);
if ( !$requete ) echo (mysql_error());
// Fin de l'enregistrement
if ($requete) echo "Résultat enregistré : $gagnant contre $perdant ($pointsG/$pointsP)";
}
Voila et A+