Aller au contenu

Bourinho

Hubmaster
  • Compteur de contenus

    338
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par Bourinho

  1. Salut, comme d'habitude, je ne suis pas sur que cela marche du premier coup, mais ça doit être une bonne base (...sql...oulala faut que j'arrête!!!) $query = "SELECT tournoi.nom_tournoi, COUNT(*) AS NbMatchs, COUNT(DISTINCT victoires.id) AS NbVictoires, COUNT(DISTINCT nuls.id) AS NbNuls, COUNT(DISTINCT defaites.id) AS NbDefaites, SUM(victoires.score1)+SUM(victoires.scoreP1)+SUM(defaites.score2)+SUM(defaites.scoreP2)+SUM(nuls.score1) AS NbButP, SUM(victoires.score2)+SUM(victoires.scoreP2)+SUM(defaites.score1)+SUM(defaites.scoreP1)+SUM(nuls.score1) AS NbButC, min(victoires.elimination_id)-1 AS finV, min(defaites.elimination_id) AS finD, FROM matchs AS victoires, matchs AS defaites,matchs AS nuls,tournoi,elimination WHERE (victoires.joueur1_id=$IdJoueur OR defaites.joueur2_id=$IdJoueur OR nuls.joueur1_id=$IdJoueur OR nuls.joueur1_id=$IdJoueur) AND matchs.elimination_id=elimination.id AND matchs.tournoi_id=tournoi.id GROUP BY tournoi.nom_tournoi"; J'ai notamment des doutes concernant l'affichage de l'id l'élimination ... cette requête est faite pour une table elimination du genre: ID-NOM 0-Champion 1-Finale 2-Demi-finale 3-Quart de finale 4-... 5-... Normalement, ça doit pas être trop mal... Et avec ça, tu peux gérer le nom élimination "champion"... on va dire que IdPoule et l'Id d'elimination de la poule... si -1<finV<IdPoule -> IdElimination = finV sinon (ça veut dire que la derniere victoire de ce joueur a eu lieu en poule...et encore, s'il a gagné ce looser ) si finD=0 -> (ce joueur n'a pas connu de défaite (bravo)... et n'a pas connu de victoire après les poules (bouh)) IdElimination = IdPoule (car il n'a pas pu joué le tour suivant les poules...) sinon (le joueur a connu au moins une défaite) IdElimination = finD (il a été éliminé lors de sa dernière défaite...) Ce petit raisonnement (qui je l'espère est bon...) te fourni ce que tu cherches pour le cas d'une seule poule (genre pas comme la ChampionsLeague mais comme la Coupe du Monde)... mais je pense qu'il y a moyen de s'en tirer dans le cas de plusieurs poules... A+ PS : Si ton site viens à être payant... y aurait moyen de gérer l'inscription gratuite???
  2. Salut, Déjà, si tu suis l'edit2, tu peux enlever $queryVictoireD et $queryDefaiteR... Ca fait une requete moins longue et il y a peut être moyen d'en faire une plus courte...je vais me plonger sur la question ce soir...(je vais devenir un champion des requêtes!!! ) Ensuite, pour ta réponse à l'edit 3, tu veux dire que tu comptes aussi les penaltys après prolongations comme des buts??? Tu pourrais éventuellement faire des champs spéciaux pour les prolongations et les tirs au but... nom_joueur1 / nom_equipe1 / nom_joueur2 / nom_equipe2 / score 1/ score2 / scoreP1 / scoreP2 / scoreTAB1 / scoreTAB2 / nom_tournoi / nom_elimination ou les champs scoreP1 / scoreP2 / scoreTAB1 / scoreTAB2 peuvent être NULL Dis moi ce que tu en penses... PS : Ca te permettrait d'afficher un score de la façon suivante par exemple: Bourinho 2-2 (5-0 aTaB) spamyx Bourinho 3-2 aP spamyx
  3. Salut real34, Tu peux expliquer par ce que tu entends par au cas par cas??? Tu auras toujours à créer toi même les titres de tes pages... après, tu peux les stocker dans une table SQL et créer une fonction PHP qui te permet de fournir la balise "title" suivant le nom de la page... Ta table MesTitres pourrait être de la forme suivante : Page / Titre et ta balise title pourrait devenir : <?php $PageActuelle=$_SESSION['PageActuelle']; $reponse = mysql_query("SELECT Titre FROM MesTitres WHERE Page=\'$PageActuelle\'"); while ($donnees = mysql_fetch_array($reponse) ) { echo "<title>$donnees['Titre']</title>"; } ?> Le $_SESSION['PageActuelle'] peut être remplacé par $_GET (avec de l'URL rewriting...). Si cela ne correspond pas à tes attentes, j'en suis désolé...
  4. Bon, allez, c'est parti, pour ton premier tableau : $queryVictoireR = "SELECT tournoi.nom_tournoi, COUNT(*) AS NbMatchs, NbMatchs AS NbVictoires, 0 AS NbNuls, 0 AS NbDefaites, SUM(matchs.score1) AS NbButP, SUM(matchs.score2) AS ButsC, 0 AS fin FROM matchs, tournoi WHERE (matchs.joueur1_id=$IdJoueur AND matchs.score1>Reception.score2) GROUP BY tournoi.nom_tournoi"; $queryVictoireD = "SELECT tournoi.nom_tournoi, COUNT(*) AS NbMatchs, NbMatchs AS NbVictoires, 0 AS NbNuls, 0 AS NbDefaites,SUM(matchs.score2) AS NbButP,SUM(matchs.score1) AS NbButsC, 0 AS fin FROM matchs, tournoi WHERE (matchs.joueur2_id=$IdJoueur AND matchs.score2>Reception.score1) GROUP BY tournoi.nom_tournoi"; $queryDefaiteR = "SELECT tournoi.nom_tournoi, COUNT(*) AS NbMatchs, 0 AS NbVictoires, 0 AS NbNuls, NbMatchs AS NbDefaites, SUM(matchs.score1) AS NbButP,SUM(matchs.score2) AS NbButsC,max(elimination.id) AS fin FROM matchs, tournoi, elimination WHERE (matchs.joueur1_id=$IdJoueur AND matchs.score2>Reception.score1 AND matchs.elimination_id=elimination.id) GROUP BY tournoi.nom_tournoi"; $queryDefaiteD = "SELECT tournoi.nom_tournoi, COUNT(*) AS NbMatchs, 0 AS NbVictoires, 0 AS NbNuls, NbMatchs AS NbDefaites, SUM(matchs.score2) AS NbButP,SUM(matchs.score1) AS NbButsC,max(elimination.id) AS fin FROM matchs, tournoi, elimination WHERE (matchs.joueur2_id=$IdJoueur AND matchs.score1>Reception.score2 AND matchs.elimination_id=elimination.id) GROUP BY tournoi.nom_tournoi"; $queryNul = "SELECT tournoi.nom_tournoi, COUNT(*) AS NbMatchs, 0 AS NbVictoires, NbMatchs AS NbNuls, 0 AS NbDefaites, SUM(matchs.score1) AS NbButP, NbButP AS NbButsC,max(elimination.id) AS fin FROM matchs, tournoi, elimination WHERE (matchs.joueur2_id=$IdJoueur AND matchs.score1>Reception.score2 AND matchs.elimination_id=elimination.id) GROUP BY tournoi.nom_tournoi"; $query="$queryVictoireR UNION $queryVictoireD UNION $queryDefaiteR UNION $queryDefaiteD UNION $queryNul" $queryjenpeuplu= "SELECT tournoi.nom_tournoi, SUM(NbMatchs) AS NbMa, SUM(NbVictoires) AS NbVi, SUM(NbNuls) AS NbNu, SUM(NbDefaites) AS NbDe, SUM(NbButP) AS NbBP , SUM(NbButsC) AS NbBC, max(fin) AS Elim FROM ($query) GROUP BY tournoi.nom_tournoi" Je ne sais pas si cela marche tel quel mais je pense que c'est une bonne base... Edit : Les UNION, ça permet de mettre les différentes requêtes dans le même "tableau"... et le dernier GROUP BY est là pour mettre les nuls, victoires et défaites qui on eut lieu dans le même tournoi sur une même ligne...enfin normalement Edit2 : Ca pourrait certainement être très intéressant de toujours mettre le vainqueur en Joueur1 dans ta table match... A mon avis, y a moyen de gagner beaucoup en rapidité... Et si ça se trouve, la requête serait, ...comment dire...plus digeste!!!! Edit3 : T'as pensé au cas des pénaltys ou des prolongations??? Ca risque de te poser problème à un moment ou à un autre...(Pour un match du genre Italie Allemagne!!!)
  5. Salut à toi, je pense que je vais finir par faire le design de ton site à ce rythme .Plus sérieusement, As-tu testé ce que je t'ai proposé au message #11 pour que ton second menu propose bien les equipes et les joueurs disponibles??? Sinon, pour insérer tes données dans ta table match, faut que tu choisisses une page cible pour ton formulaire... et dans cette page, avec des $_POST, tu récupères les choix de l'internaute (comme page, t'en fais une jolie qui prévient ton internaute que son formulaire a bien été envoyé à la base de données blablablabla). Ensuite, tu insères ces $_POST dans la table avec une requête de type INSERT ... INTO ... . Conseil : ne prends pas directement les valeurs de tes $_POST dans tes requêtes pour une question de sécurité (fais une REGEX ou un htmlentities...) Je vais essayer de voir ce que je peux faire ce soir si personnne ne l'a déjà fait... il est 9:20 et faut que j'y vais Si ce que je t'ai expliqué ressemble à du chinois...vas faire un tour sur ce premier tutorial et sur ce second tutorial.
  6. Salut à tous, Je n'attaquais pas de front le site en question...j'ai juste émis des hypothèses... Pour le coup, vous avez les connaissances suffisantes pour vérifier que mes hypothèses étaient fausses (ce qui soit dit en passant est mieux!!!). Je ne sais pas si cela pourra se révéler utile pour l'étude de marché de net2com, mais cela pourra lui expliquer certains résultats de Google parfois surprenant... Voilà tout...
  7. Salut net2com (et bienvenu sur le Hub!!!) Il doit y avoir un maximum de liens qui pointent vers ce site... Etant donné que le contenu est faible...Il peut utiliser des méthodes peu recommandables type farm-link ou pages satellites... jusqu'au moment ou Googlebot se rendra compte de la supercherie... Une autre méthode peut aussi être de ne pas proposer les mêmes pages au robots qu'aux visiteurs humains... mais Googlebot n'aime pas ça non plus!!! Ou alors il a extrémement bien fait ses balises meta!!!
  8. Ah, merci... J'avais pas vérifié toutes les options de "Mes controles"... Ca m'évitera de me coucher à des heures impossibles
  9. Bonjour à tous, Je tiens à mettre en exergue le fait que l'horloge du forum ne semble pas être au point... En tout cas, en Nouvelle Zélande, elle apparait avec une heure de retard... C'est peut-être du au passage à l'heure d'été??? Ca ne doit pas intéresser grand monde en France, mais quand t'es à l'étranger, t'aimes bien savoir quelle est l'heure dans ton pays d'origine, ne serait-ce que pour savoir à quelle heure vivent les autres utilisateurs du forum... Enfin moi, avec ce décalage horaire...je sais plus trop
  10. Allez, c'est cadeau de la maison (en fait, ton problème m'intéressait beaucoup car je risque de le rencontrer dans peu de temps ) $query_liste_matchs = "SELECT J1.nom_joueur, E1.nom_equipe, J2.nom_joueur, E2.nom_equipe, matchs.score1, matchs.score2, tournoi.nom_tournoi, elimination.nom_elimination FROM joueur AS J1, equipe AS E1, joueur AS J2, equipe AS E2, matchs, tournoi, elimination WHERE matchs.joueur1_id=J1.id and matchs.equipe1_id=E1.id and matchs.joueur2_id=J2.id and matchs.equipe2_id=E2.id and matchs.elimination_id=elimination.id and matchs.tournoi_id=tournoi.id"; En fait, l'astuce, c'est d'appeler la même table dans deux "alias" différents (c'est ce que je fais avec les AS)...ce qui fait que tu peux l'utiliser comme deux tables indépendantes.... Je ne sais pas si cela peut marcher tel quel, mais la piste à suivre est celle là je pense!!!!
  11. En fait, tu peux lire différemment ta base de données suivant ce que tu veux faire... Donne nous plus d'info sur ce que tu veux afficher ou faire avec les résultats... Si tu veux afficher un tableau du type nom_joueur1 / nom_equipe1 / nom_joueur2 / nom_equipe2 / score 1/ score2 / nom_tournoi / nom_elimination je te propose un lien qui va te permettre de résoudre ton problème...
  12. Salut Laure, je ne m'énervais aucunement... Je ne pensais pas avoir été sec en écrivant ma réponse... Désolé de t'avoir choqué... Pour m'excuser, un lien qui te sera utile je pense... Je ne l'ai pas testé...(pas encore eu l'usage de ce type de script...) Encore pardon...
  13. Laure, de toute façon, c'est toi qui va l'envoyer le fichier, pas Paypal.... Donc, la seule chose que tu peux attendre de Paypal, c'est bien une "notification immédiate de paiement"... Après, c'est à toi de gérer l'automatisation de l'envoi du fichier à la réception de la confirmation du paiement!!! Edit : Battu par captain_torche...
  14. Je crois que ton problème vient du fait que tu as déjà "vidé" $Rs_equipe (avec les mysql_fetch_assoc du premier menu déroulant). Ce que je te conseillerais de faire (ça ne doit pas être la solution optimale mais c'est déjà un début.) $Rs_equipe1=mysql_query($TaRequete); $Rs_equipe2=$Rs_equipe1; et ensuite : <select name="equipe1_id"> <?php do { ?> <option value="<?php echo $row_Rs_equipe['id']?>" ><?php echo $row_Rs_equipe['nom']?></option> <?php } while ($row_Rs_equipe = mysql_fetch_assoc($Rs_equipe1)); ?> </select> <select name="equipe2_id"> <?php do { ?> <option value="<?php echo $row_Rs_equipe['id']?>" ><?php echo $row_Rs_equipe['nom']?></option> <?php } while ($row_Rs_equipe = mysql_fetch_assoc($Rs_equipe2)); ?> </select> Je ne suis pas sur de ce que j'avance mais à mon humble avis, c'est une bonne piste... Par contre, il y a un truc qui me chagrine, c'est le do {...} while (...) parce que à la la première boucle, que vaut ton $row_Rs_equipe['id']??? Ca posera certainement un problème avec la solution que je te propose... Mais si cela fonctionne, tant mieux! Ce que je pense, c'est que ce do{...}while(...) permet d'avoir une case vide par défaut (sans nom d'équipe...). A mon avis, la case par défaut dans ton second menu déroulant sera la dernière équipe de ta table... Mais ce sera un problème facile à résoudre si jamais c'est le cas...
  15. Je vais tacher d'etre un peu plus clair : Il s'agirait d'un site web ou les internautes pourraient envoyer des informations à des entreprises via mon serveur et ma base de donnée. Le truc, c'est que je voudrais que les entreprises puissent avoir la copie des ces informations sur leur disque dur en cas de coupure internet mais qu'elles puissent aussi modifier les données présentes sur ma base. C'est cela qui me dirige vers une application faite maison car le navigateur ne peut plus accéder aux données en cas de panne (et sans copie, point de salut!). En clair, les infos presentes sur la base de donnée de mon serveur seraient "toujours" (sauf panne) identiques à celles présentes chez l'entreprise. En espérant avoir été plus clair...
  16. Bonjour, je ne savais pas trop dans quelle partie du forum aller....alors j'ai pris celle là au hasard Non, je rigole, c'est celle qui me paraît la plus appropriée!!! En fait, je souhaiterais créer un site Web qui ne nécessite rien de plus qu'un navigateur (genre Firefox par exemple... ) pour les clients mais qui ferait appel à une application côté entreprise... Je pense à cette solution car je pense qu'on a plus de liberté en développant l'application qui reçoit les données...(c'est un point de vue ) Question 1 Est-ce difficile à mettre en place??? (Je veux dire la liaison entre l'application et le site web (plus particulièrement sa base de données)) Sachant que je m'oriente vers un développement en Visual Basic..(Bon choix???) Question 2 Cette liaison est-elle plus simple à sécuriser qu'un site web??? (C'est à dire: Est-ce qu'il ne vaudrait mieux pas faire l'interface côté entreprise via le site web avec des pages web sécurisées avec certificat ssl???) Par avance, merci!
  17. Visiblement, sans être Sherlock Holmes, on a l'impression que c'est le "BETWEEN" qui pose soucis... Et si tu mettais des parenthèses??? SELECT * FROM coll_printer_commande WHERE (print_date BETWEEN '2006-05-01' AND '2006-05-31') C'est peut-être pas la solution mais visiblement, y a de ça car sur ce topic y a un exemple (qui fonctionne apparemment...) qui ressemble curieusement au tien...à part que l'utilisateur utilise des parenthèses... a priori, la requête doit capter ce qui suit SELECT * FROM coll_printer_commande WHERE (print_date BETWEEN '2006-05-01') AND '2006-05-31' C'est juste une indication...Je sais pas si cela fonctionne...
  18. Bah, nos messages sont bien stockés dans une base de donnée, non??? Du coup, ils viennent de la BDD quand on souhaite les afficher... Quant au code que tu as mis, étant donné que je ne connais rien (mais alors vraiment rien!!! ) en JavaScript, et bien je ne vois pas ce qui le différencie d'un autre .
  19. Salut Dan, Mais toi, tu les affiches bien les balises <script> sur ce forum, et ça a pas l'air de te poser plus de problèmes que ça visiblement... Merci
  20. Merci pour le lien captain_torche... Mais ça ne me donne pas la formule (magique???) du style: $Prenom=Yapludesouci($_POST['Prenom']); Non, je rigole, c'est très instructif (je suis déjà un adepte de phpsecure ) mais je me demandais juste si quequ'un n'avait pas sous le bras une longue instruction qui gère tout toute seule . Mais bon, visiblement, je vais devoir m'y coller!!!!
  21. Bonjour à tous, je viens me greffer sur ce fil car ce ont je souhaite parler se rapproche énormément du sujet abordé ici... Comment ça marche ici pour la sécurité??? Parce qu'on cherche a éviter les sources d'ennuis (du style...code php ou javascript ) et ici, on propose fièrement des quantités de code!!! En fait, je cherche à faire la même chose, c'est à dire éventuellement afficher du code sans risque pour mon site!!!! Le but définitif, c'est d'éviter d'utiliser des Regex où je pourrais omettre la possibilité d'utiliser des caractères qui enverrait l'internaute sur les roses... Un exemple par exemple: L'internaute souhaite enregistrer l'adresse suivante: 13 rue de la mairie Lieu dit "Trou Perdu" 13666 PasDeBol Je pensais faire une Regex du style preg_match('!^[a-z0-9._-]+$!', $Adresse) et l'adresse ne sera pas correcte selon ma regex (elle est un peu violente mais c'est pour l'exemple )Je peux éventuellement l'élargir mais il doit bien y avoir un moyen de prendre tout en compte (comme ici) et l'afficher sans prendre de risque (comme ici) addslashes : ça laisse passer pas mal de trucs... htmlentities : ça déforme tout (et en utilisant html_entity_decode, je pense qu'on revient au même problème) htmlspecialchars : comme htmlentities... Si jamais quelqu'un à un morceau de réponse, ils sont les bienvenus (lui et le morceau de réponse )
  22. Samut à toi! Juste une petite remarque au passage...technologie ne prend pas d'accent...(contrairement à ce que tu as marqué dans "Ce site utlise la téchnologie Flash,...") C'était juste pour dire que personne n'est parfait!!! Sinon, c'est du bon boulot :a_thumbsup_20:
  23. Merci Anonymous!!! Donc, si j'ai bien compris, la condition que tu proposes donne : _vrai si $_POST['Truc']="1" (ou ce qu'on veut suivant ce que l'on a à tester...) _faux sinon et on n'a pas de message d'erreur si $_POST['Truc'] n'existe pas!!! Si c'est ça, ça m'arrange bien!!!!
  24. Ok, en fait je faisais une analogie avec un problème quasiment identique qui est le suivant : if ((isset($_POST['Truc']))&&($_POST['Truc']==1)) Ca renvoit un message d'erreur ("WARNING") alors que l'on fait le isset avant...du coup, j'ai un peu de mal avec la chronologie dans les conditions PHP...
  25. Je pense que le code que tu souhaites utiliser ne fonctionnera pas comme tu le souhaites : if((!@isset($_SESSION['pseudo'])) || ($_SESSION['pseudo']=="")) Je ne suis pas sur, mais je pense que dans tous les cas, il y aura quelqu'un ici pour me reprendre. Je pense que malgré ton ISSET, php va évaluer la condition ($_SESSION['pseudo']=="") pour savoir si la condition entière présente dans ton if va être satisfaite ou non. Je te conseille de faire comme suit: if(!isset($_SESSION['pseudo'])) { $condition=true; } else { if ($_SESSION['pseudo']=="") { $condition=true; } else { $condition=false; } } if ($condition==true) {...} Là, au moins, t'es sur que ta condition ($_SESSION['pseudo']=="") ne t'enverra pas das les roses car $_SESSION['pseudo'] existe forcément si elle doit être évaluée.
×
×
  • Créer...