Page 1 sur 1

Pour que zéro ait une valeur de zéro

Posté : 17 janv. 2011, 05:30
par mtherrie
Bonsoir à toutes et tous,

Je suis nouveau sur ce forum et aussi nouveau à la programmation PHP.

Je cherche à savoir comment faire pour que 0 ait une valeur de 0. Je m'explique, mais tout d'abord, voici une partie de mon code:
if(isset($_POST['submit']))
           {
          $date_jour=$_POST['date_jour'];
          $categorie = $_POST['categorie'];
          $classe = $_POST['classe'];
          $partie = $_POST['partie'];
          $equipeLocale = $_POST['equipeLocale'];
          $pointageLocal = $_POST['pointageLocal'];
          $equipeVisiteur = $_POST['equipeVisiteur'];
          $pointageVisiteur = $_POST['pointageVisiteur'];
          $message = "Le ".$date_jour." dans la catégorie ".$categorie." ".$classe. " ".$equipeLocale. " ".$pointageLocal. " vs ".$equipeVisiteur." ".$pointageVisiteur;

          $to = "[email protected]";
          $subject = "Résultat de partie ".$categorie;
          $headers = "From: [email protected]";
      
          $body = "Résultat de la partie numéro $partie\n\n$message";
          /*mail($to, $subject, $body, $headers);
      
          die("Message envoyé avec succès.");*/
		  
		  //Structure pour entree dans classement
		  //require('ata_connect.php');
			if($pointageLocal>$pointageVisiteur)
			{
				$equipe=$_POST['equipeLocale'];
				$victoire = '1';
				$defaite='0';
				$nulle='0';
				$erreur="Ça ne marche pas";
			}
				else{
				echo $erreur;
				}	
			
			$user_name="";
			$password="";
			$database="cl_ata";
			$server="";
			$db_connect = mysql_connect($server, $user_name, $password);
			$sqlinsert = "INSERT INTO resultats (equipe, victoire, defaite, nulle) VALUES ('$equipe','$victoire','$defaite','$nulle')";
		
			
			If(!mysql_query($db_connect, $sqlinsert)){
			die('Ne peut mettre classement à jour');
			}
           }
Lorsque j'exécute le script, j'obtiens l'erreur suivante: Warning: mysql_query() expects parameter 1 to be string, resource given in G:\marct.net\transpointage.php on line 48
La ligne 48 est celle-ci: If(!mysql_query($db_connect, $sqlinsert))

Je veux faire un classement d'équipes de baseball par victoires, défaites et nulles. Je me base sur les données d'un formulaire où le pointage est inscrit pour évaluer si l'équipe locale a une victoire, une défaite ou une nulle. Si elle a une victoire, je veux que mon script inscrive, dans la base de donnée les valeurs de 1 pour une victoire et de 0 pour une défaite afin de générer un tableau ressemblant à:

Équipe Victoire Défaite Nulle
Équipe 1 1 0 0

Partout où j'ai lu, on me dit que la valeur de 0 ne peut être changée car elle indique une valeur "fausse ou vraie".

Que faire???

Merci!

Marc

Re: Pour que zéro ait une valeur de zéro

Posté : 17 janv. 2011, 09:53
par xTG
Je ne vois pas pourquoi on ne pourrai pas mettre un zero dans une table...
De quel type sont tes champs ?

Pour ton warning cela vient du fait que tu as inversé les deux variables, la fonction prend d'abord la requête et ensuite le lien de connexion.

Re: Pour que zéro ait une valeur de zéro

Posté : 17 janv. 2011, 09:56
par Mazarini
Bonjour,

"INSERT INTO resultats (equipe, victoire, defaite, nulle) VALUES ('$equipe',$victoire,$defaite,$nulle)";

A mon avis tu as défini victoire, defaite et nulle comme des entiers. il faut enlever les quotes.
Il faut aussi vérifier la définition de equipe dans la table ; j'ai un doute à cause de "parameter 1" dans le message.

Re: Pour que zéro ait une valeur de zéro

Posté : 17 janv. 2011, 10:56
par sadeq
Bonjour,

Comme a dit xTG, l'erreur est dans l'instruction mysql_query et voici la correction: (et j'ai aussi remplacé le if par or die c'est plus simple)
mysql_query($sqlinsert, $db_connect) or die('Ne peut mettre classement à jour');
Par ailleurs oubli le problème du zéro car c'est un faux problème. Dans MySQL tu peux passer la valeur zéro soit comme un numérique comme champ=0 ou bien comme une chaine numérique comme : champ='0'

Re: Pour que zéro ait une valeur de zéro

Posté : 18 janv. 2011, 05:07
par mtherrie
Merci à tous pour les messages. Mon problème est résolu pour l'instant.

Je vous reviens très bientôt afin de partager avec vous mes autres "défis".

Merci encore!!

Marc