Total Manager Posté 10 Juin 2004 Partager Posté 10 Juin 2004 Bonjour tout d'abord Voila , j'ai une table mysql et j'aimerais que les champs Attaque et Défense soit égal à l 'addition de 5 autres champs est ce que c'est possible ?? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 10 Juin 2004 Partager Posté 10 Juin 2004 Tu peux donner la description de tes tables, s'il te plait, ce sera plus facile Lien vers le commentaire Partager sur d’autres sites More sharing options...
pitidev Posté 10 Juin 2004 Partager Posté 10 Juin 2004 Est ce vraiment utile? les valeurs calculées n'ont pas pour habitude d'etre stockées si un jour tu veux afficher quelque part ton champ attaque ou defense, et bien tu va cherche tes 5 autres champs et tu les additionne... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Total Manager Posté 10 Juin 2004 Auteur Partager Posté 10 Juin 2004 (modifié) Ok dommage je vais un peu galèrer alors , va falloir que je calcule tout à la main je pensé que PHP pouvait automatisé ça mais bon , pour mon jeu vais devoir faire toutes les moyennes de tête J espère que l'on a droit à mettre des images :!: Modifié 10 Juin 2004 par Anonymus Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 10 Juin 2004 Partager Posté 10 Juin 2004 Total Manager, Il est clair que Php peut automatiser cela... mais pas besoin de stocker ces valeurs , ni de les calculer à la main. En Php tu peux assigner à une variable $attaque une valeur égale à la somme de 5 champs , idem pour $defense. Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 10 Juin 2004 Partager Posté 10 Juin 2004 Tu fais : SELECT champ1+champ2+champ3+champ4+champ5 AS nouveau_nom FROM table Le AS permet de renommer le nouveau champ. Lorsque tu inclus les champs, tu additionnes les valeurs que tu veux ,et tu les ajoutes au champ Attaque. Exemple : $query ="INSERT INTO table(champ1,champ2,champ3,champ4,champ5,attaque) VALUES ('valeur_champ1','valeur_champ2','valeur_champ3','valeur_champ4','valeur_champ5', '".$champ1+$champ2+$champ3+$champ4+$champ5."'"; Bon.. Y doit y avoir des erreurs, mais sinon, c'est ca, tout simplement. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Total Manager Posté 10 Juin 2004 Auteur Partager Posté 10 Juin 2004 (modifié) Merci je fait comment çaj'insere dans ma page http://managerattitudes.free.fr/notes.php Ou je rentre ce que tu m'a donné dans le Mysql de free SVP $attaque ="INSERT INTO table(Passe, Tacle, Tete, Vitesse, Physique ) VALUES ('valeur_champ1','valeur_champ2','valeur_champ3','valeur_champ4','valeur_champ5', '".$champ1+$champ2+$champ3+$champ4+$champ5."'"; Modifié 10 Juin 2004 par Total Manager Lien vers le commentaire Partager sur d’autres sites More sharing options...
Total Manager Posté 10 Juin 2004 Auteur Partager Posté 10 Juin 2004 Désolé pour ce nouveau message mais si je veut faire ( a + b + c + d + e + f ) / 7 pour faire la moyenne comment que je fais Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 10 Juin 2004 Partager Posté 10 Juin 2004 Total Manager, Le code que t'a donné Anonymus est à rentrer dans ta page php. Et pour faire une moyenne de 6 variables on divise la somme par 6, pas par 7 $ma_moyenne=($var1+$var2+$var3+$var4+$var5+$var6)/6; Si tu hésites pour cela, je te recommande de découvrir le php avec les articles du Hub: http://www.webmaster-hub.com/publication/rubrique17.html Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Total Manager Posté 10 Juin 2004 Auteur Partager Posté 10 Juin 2004 Super Merci de tout coeur !!!!!!! C'est vraiment sympa d'aider les débutants comme moi merci un grand bravo !!! Ou c'est que je peut avoir une bann 80 * 30 de votre Site ?? Svp Lien vers le commentaire Partager sur d’autres sites More sharing options...
Total Manager Posté 10 Juin 2004 Auteur Partager Posté 10 Juin 2004 (modifié) Les gars si quelqu'un peut me dire exactement ou mettre le code donné par Dan et Anonymus SVP <?if(!$mode){print'Bienvenue dans le système Notes on-line<br>Rentrer ici le mot de passe administrateur<br><form method="post" action="notes.php"><input type="hidden" name="mode" value="1"><input type="password" name="pass"> <input type="submit" name="Submit" value="Suite"></form>';}elseif($_POST[mode]==1 and md5($_POST[pass])=='c4f2bc55383c55b76ed5d24018e11819'){print'<form method="post" action="notes.php"><input type="hidden" name="mode" value="2">Nom du joueur : <input type="text" name="nom"><br>Prénom du joueur : <input type="text" name="prenom"><br>Poste du joueur (GB,DF,MT,AT) : <input type="text" name="poste"><br>Club : <input type="text" name="club"><br>Attaque :<input type="text" name="attaque"><br>Défense :<input type="text" name="defense"><br> Tacles : <input type="text" name="tacles"><br>Physique : <input type="text" name="physique"><br> Vitesse : <input type="text" name="vitesse"><br>Flair : <input type="text" name="flair"><br>Passe : <input type="text" name="passe"><br>Tirs :<input type="text" name="tir"><br>Interventions : <input type="text" name="sorties"><br>Prise de Balle :<input type="text" name="prise"><br>Tête : <input type="text" name="tete"><br> Technique :<input type="text" name="controle"><br>Dribble :<input type="text" name="dribble"><br>Technique CF:<input type="text" name="CF"><br>Technique Goal : <input type="text" name="techniquegoal"><br>Réflexes : <input type="text" name="reflexe"><br><input type="submit" name="Submit" value="Suite"></form>';}elseif($_POST[mode]==2){$req=mysql_connect('sql.free.fr',XXXXXXX,XXXXXXXX) or die ("erreur de connexion 1");mysql_select_db(XXXXXXXX,$req) or die ("erreur de connexion réessayer plus tard");$r2=mysql_query("SELECT * FROM joueurs where nom='$nom' and prenom='$prenom'");$nb=mysql_num_rows($r2); if($nb!='0') { print'Ce joueur a déjà été rentré dans la base'; } else {mysql_query("INSERT INTO joueurs VALUES('$nom','$prenom','$poste','$club','$attaque','$defense','$tacles','$physique','$vitesse','$flair','$passe','$tir','$sorties','$prise','$tete','$controle','$dribble','$CF','$techniquegoal','$reflexe')");print'Le joueur a été rentré dans la base <br><form method="post" action="notes.php"><input type="hidden" name="mode" value="1"><input type="hidden" name="pass" value="tmcfort"> <input type="submit" name="Submit" value="Rentrer un autre joueur"></form>'; }}else{print'Votre mot de passe n\'est pas bon , veuillez le recésir . Sinon vous n\' avez rien à faire sur cette page';}?> Modifié 11 Juin 2004 par Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 11 Juin 2004 Partager Posté 11 Juin 2004 Pour info, je ne trouve pas cette phrase bien heureuse : else{ print'Votre mot de passe n\'est pas bon , veuillez le recésir . Sinon vous n\' avez rien à faire sur cette page'; } D'autant qu'elle ne permet pas de retourner sur la page en question. Il n'y a pas de bouton 'retour' ou autre. 'recésir" s'écrit : "ressaisir". Voilà, Anonymus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Total Manager Posté 11 Juin 2004 Auteur Partager Posté 11 Juin 2004 (modifié) J'ai fini mais j'ai une erreur chelou enfin c'est plutôt un bug ! Je rentre 20 en Tir Et quand je vais pour voir la note ya marqué 20 en Technique Comment je fait :lol Modifié 11 Juin 2004 par Total Manager Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 12 Juin 2004 Partager Posté 12 Juin 2004 Ici : mysql_query("INSERT INTO joueurs VALUES('$nom','$prenom','$poste','$club','$attaque','$defense','$tacles','$physique','$vitesse','$flair','$passe','$tir','$sorties','$prise','$tete','$controle','$dribble','$CF','$techniquegoal','$reflexe')");print'Le joueur a été rentré dans la base <br><form method="post" action="notes.php"><input type="hidden" name="mode" value="1"><input type="hidden" name="pass" value="tmcfort"> <input type="submit" name="Submit" value="Rentrer un autre joueur"></form>'; tu mets les valeurs dans un certain ordre. Dans le plan de la table que tu donnes, les valeurs sont dans un ordre différent, d'où ton bug. IL y a d'ailleurs pas mal de valeurs qui sont inversées, dans ton 'INSERT'. Anonymus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Total Manager Posté 12 Juin 2004 Auteur Partager Posté 12 Juin 2004 (modifié) j'ai plus aucun joueur qui s'affiche sur voir_notes.php et ca me soule J'ai regardé ma table et les valeurs sont insérés pas dans les bons champs c'est pour ca je crois Voila j'ai changé l'ordre d'apparition des $champ comme tu me l'avais dit maintenant je vais tester le bon fonctionnement Modifié 12 Juin 2004 par Total Manager Lien vers le commentaire Partager sur d’autres sites More sharing options...
Total Manager Posté 12 Juin 2004 Auteur Partager Posté 12 Juin 2004 <?$temp=$flair+$passe+$tir+$CF+$dribble+$tete+$controle;$defense=$tete+$tacles+$passe+$vitesse+$physique;$attaque=$temp/1.4;$gardien=$sorties+$prise+$techniquegoal+$reflexe+$vitesse?><?if(!$mode){print'Bienvenue dans le système Notes on-line<br>Rentrer ici le mot de passe administrateur<br><form method="post" action="notes.php"><input type="hidden" name="mode" value="1"><input type="password" name="pass"> <input type="submit" name="Submit" value="Suite"></form>';}elseif($_POST[mode]==1 and md5($_POST[pass])=='c4f2bc55383c55b76ed5d24018e11819'){print'<form method="post" action="notes.php"><input type="hidden" name="mode" value="2">Nom du joueur : <input type="text" name="nom"><br>Prénom du joueur : <input type="text" name="prenom"><br>Poste du joueur (GB,DF,MT,AT) : <input type="text" name="poste"><br>Club : <input type="text" name="club"><br>Tacles : <input type="text" name="tacles"><br>Physique : <input type="text" name="physique"><br> Vitesse : <input type="text" name="vitesse"><br>Flair : <input type="text" name="flair"><br>Passe : <input type="text" name="passe"><br>Tirs :<input type="text" name="tir"><br>Interventions : <input type="text" name="sorties"><br>Prise de Balle :<input type="text" name="prise"><br>Tête : <input type="text" name="tete"><br> Technique :<input type="text" name="controle"><br>Dribble :<input type="text" name="dribble"><br>Technique CF:<input type="text" name="CF"><br>Technique Goal : <input type="text" name="techniquegoal"><br>Réflexes : <input type="text" name="reflexe"><br><input type="submit" name="Submit" value="Suite"></form>';}elseif($_POST[mode]==2){$req=mysql_connect('sql.free.fr','LOGIN','MOTDEPASSE') or die ("erreur de connexion 1");mysql_select_db('managerattitudes',$req) or die ("erreur de connexion réessayer plus tard");$r2=mysql_query("SELECT * FROM joueurs where nom='$nom' and prenom='$prenom'");$nb=mysql_num_rows($r2); if($nb!='0') { print'Ce joueur a déjà été rentré dans la base'; } else {mysql_query("INSERT INTO joueurs VALUES('$nom','$prenom','$poste','$club','$attaque','$defense','$tacles','$physique','$vitesse','$tir'','$passe','$controle','$flair','$prise','$tete,'$sorties','$dribble','$CF','$techniquegoal','$reflexe','$gardien')");print'Le joueur a été rentré dans la base <br><form method="post" action="notes.php"><input type="hidden" name="mode" value="1"><input type="hidden" name="pass" value="tmcfort"> <input type="submit" name="Submit" value="Rentrer un autre joueur"></form>'; }}else{print'Votre mot de passe n\'est pas bon , veuillez le ressaisir . Sinon vous n\' avez rien à faire sur cette page';}?> Je comprend pas pkoi ca ne rentre aucun joueur dans la BDD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 12 Juin 2004 Partager Posté 12 Juin 2004 Ca ne rentre aucun joueur parce que tu as mis 21 champs dans ta requète, alors que tu n'as que 20 champs dans ta table. Pour info, le $gardien n'est pas dans la table. (blessé, carton rouge ? pas de remplacant ? ) Après, ca devrait marcher, normalement. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Total Manager Posté 12 Juin 2004 Auteur Partager Posté 12 Juin 2004 (modifié) j'ai rajoute le champs gardien dans ma table , Je l'ai même mi hier C'est dans ma page PHP que ça foire alors je regarde attends Bon je comprend pas la alors , j'ai 21 champs dans ma TABLE Je comprend pas ou est le problème tu voit toi Anonymous ?? Modifié 12 Juin 2004 par Total Manager Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 12 Juin 2004 Partager Posté 12 Juin 2004 Au lieu de else{mysql_query("INSERT INTO joueurs VALUES('$nom','$prenom','$poste','$club','$attaque','$defense','$tacles','$physique','$vitesse','$tir'','$passe','$controle','$flair','$prise','$tete,'$sorties','$dribble','$CF','$techniquegoal','$reflexe','$gardien')");print'Le joueur a été rentré dans la base <br><form method="post" action="notes.php"><input type="hidden" name="mode" value="1"><input type="hidden" name="pass" value="tmcfort"> <input type="submit" name="Submit" value="Rentrer un autre joueur"></form>';} tu mets : $query = "INSERT INTO joueurs VALUES('$nom','$prenom','$poste','$club','$attaque','$defense','$tacles','$physique','$vitesse','$tir'','$passe','$controle','$flair','$prise','$tete,'$sorties','$dribble','$CF','$techniquegoal','$reflexe','$gardien')";$r = mysql_query($query);echo "<br>query : ".$query;echo"<br> result : ".$r;echo"<br>";print'Le joueur a été rentré dans la base <br><form method="post" action="notes.php"><input type="hidden" name="mode" value="1"><input type="hidden" name="pass" value="tmcfort"> <input type="submit" name="Submit" value="Rentrer un autre joueur"></form>';} Il va s'afficher une requète sql, qu'il te faut insérer dans le phpmyadmin. Là, tu auras la réponse au problème. Mais il peut y avoir plusieurs raisons. Par exemple, si la personne s'appelle : Joe L'emmerdeur alors l'apostrophe fera 'bugger' la requète. L'idéal est de mettre des slashes devant toutes les apostrophes. Tu as une fonction qui le fait très bien, c'est addslashes(); Il te faudrait aussi vérifier un tant soi peu tes variables. Là, tu les récupères telles quelles, et tu les insères dans la base. Mais rien ne te dit qu'un joueur n'ira pas entrer des données.. pirates. Prends toujours un maximum de précautions lorsque tu laisses un internaute entrer du code dans ton application. Pour tester si un chiffre est un chiffre, par exemple : $un_million = (int)$un_million; Là, tu es sûr que ton million n'est pas un 'string' ou un 'array', etc... Voilà. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Total Manager Posté 12 Juin 2004 Auteur Partager Posté 12 Juin 2004 Ca me mets query : INSERT INTO joueurs VALUES('Dxxx','Didier','AT','Marseille','72.857142857143','63','7','14','15','17'','14','17','15','4','13,'4','18','8','4','4','31') result : Le joueur a été rentré dans la base Je rentre INSERT INTO joueurs VALUES('Dxxx','Didier','AT','Marseille','72.857142857143','63','7','14','15','17'','14','17','15','4','13,'4','18','8','4','4','31') ca dans ma table Mysql à chaque fois ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Total Manager Posté 12 Juin 2004 Auteur Partager Posté 12 Juin 2004 (modifié) C'est pa plutôt INSERT INTO joueurs(nom,prenom,poste,club,attaque,defense,tacles,physique,vitesse,tir,passe, ontrole,flair,prise,tete,sorties,dribble,CF,techniquegoal,reflexe,gardien) VALUES ('Drogba','Didier','AT','Marseille','72.857142857143','63','7','14','15','17'','14','17','15','4','13,'4','18','8','4','4','31') Modifié 12 Juin 2004 par Total Manager Lien vers le commentaire Partager sur d’autres sites More sharing options...
Total Manager Posté 12 Juin 2004 Auteur Partager Posté 12 Juin 2004 J'ai rentré ton code et le mien et ça mets : MySQL a répondu: #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '14 ','17 ','15 ','4 ','13, '4', '18', '8', '4', '4', '31' Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 12 Juin 2004 Partager Posté 12 Juin 2004 Non, pas à chaque fois. Juste pour voir. En général, il y a un message d'erreur assez explicite qui s'affiche lorsque la requète est fausse. Ca donne une indication assez fiable de la ligne, de l'emplacement, etc. Quand une requète ne veut pas marcher, le mieux est de l'afficher, de la récupérer, et d'essayer pour voir si elle passe dans l'éditeur du phpmyadmin. Pour ce qui est de ton chiffre : '72.857142857143' il serait étonnant que sql accepte de stocker un si grand nombre. Il y a de fortes chances pour qu'il te 'tronque'. Sinon, pour ta requète, la dernière chose que je vois, c'est de mettre le nom des champs après le nom de la table. Exemple : INSERT INTO table (champ1,champ2) VALUES ('value1','value2') Anonymus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 12 Juin 2004 Partager Posté 12 Juin 2004 Après le 13, il te manque un apostrophe Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 12 Juin 2004 Partager Posté 12 Juin 2004 Dans la séquence '$tir'','$passe','$controle','$flair','$prise','$tete,'$sorties' tu as un apostrophe de trop après $tir, et il t'en manques un après $tete. Anonymus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant