Je sais pas comment m'y prendre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Je sais pas comment m'y prendre

Re: Je sais pas comment m'y prendre

par coucou » 06 août 2009, 18:56

Bonjour,

Après plusieurs tentative, je n'y arrive toujours pas.
Déjà, pour charger le fichier avec les parties d'origine, enfin je ce que je veux dire, c'est comment lui dire d'aller voir tel fichier pour pouvoir exécuter ce code
Je vois pas comment on peux faire :cry:

Merci d'avance
A+
Christian

Re: Je sais pas comment m'y prendre

par coucou » 03 août 2009, 22:20

Coucou,

Désolé pour la réponse tardive, j'ai une bonne excuse, je suis allé faire mumuse au féria de Bayonne =D> .
Merci Fuzzyline pour le code, Je regarde tout ça et vous tiens au courant :wink:

A+ tout le monde

Re: Je sais pas comment m'y prendre

par FuZZyLine » 31 juil. 2009, 10:37

Salut,

[Event "Chamalieres-Saint Affrique"]
[Site "Chamalières"]
[Date "21.10.21"]
[Round "1.1"]
[White "Etchegaray, Patrice"]
[Black "Georgiev, Krum"]
[Result "1-0"]
[ECO "B22"]
[WhiteElo "2368"]
[BlackElo "2488"]
[PlyCount "77"]
[EventDate "21.??.??"]
[WhiteTeam "Chamalières"]
[BlackTeam "Saint Affrique"]

1. e4 c5 2. c3 ...

[Event "Chamalieres-Saint Affrique"]
[Site "Chamalières"]
[Date "21.10.21"]
[Round "1.2"]
[White "Leygue, Dominique"]
[Black "Robin, Samy"]
[Result "0-1"]
[ECO "C47"]
[WhiteElo "2321"]
[BlackElo "2355"]
[PlyCount "80"]
[EventDate "21.??.??"]
[WhiteTeam "Saint Affrique"]

1. e4 e5 2. Nf3 Nc6 3. Nc3...

[Event "Chamalieres-Saint Affrique"]
[Site "Chamalières"]
[Date "21.10.21"]
[Round "1.3"]
[White "Blanc, Sebastien"]
[Black "Boyd, Stephen"]
[Result "0-1"]
[ECO "A42"]
[WhiteElo "2137"]
[BlackElo "2333"]
[PlyCount "106"]
[EventDate "21.??.??"]
[WhiteTeam "Chamalières"]
[BlackTeam "Saint Affrique"]

1. d4 g6 2. c4 Bg7...
[...]
Zut, je pensais te donner la réponse mais je viens de remarquer qu'au moins une ligne
entre [xxx] diffère d'un bloc à l'autre et en ce cas ma solution tombe à l'eau lol

Je te la mets au cas ou ce serait une erreur de ta part lors de l'édition de ton post mais...

// Cette fonction te retourne un texte ou les [*Clefs] sont supprimées, les ' " ' deviennent
// délimteurs de champs et ou ; devient fin de ligne.
//
function makeFormat($strArg = false, $delim = false)
{
   if (!is_string($strArg)) return false;
   if ($delim === false) $delim = "";
   $txt = $strArg;

   // N'étant pas un pro des PCRE y a sans doute mieux mais bon,
   // dans un premier temps... c'est mieux que rien ;)
   //
   $pattern = "#(\[[\w+]*?")#";
   $txt = preg_replace($pattern, "$delim", $txt);
   $pattern = "#("\])#";
   $txt = preg_replace($pattern, "$delim", $txt);
   $pattern = "#(\d+\.[ ].*\d.*?)#";
   $txt = preg_replace($pattern, $delim."$1".$delim.";", $txt);

   return $txt;
}
[*] J'ai considéré chacun de tes [xxx] comme un champs (une clef) d'ou ma remarque plus haut.
S'ils diffèrent quelque fois cette solution n'est pas la bonne, désolé.

Si au contraire tu as fais une erreur à l'édition la solution est la bonne.
Te suffira juste de l'importer, d'indiquer les délimiteurs et le tour devrait être jouer.

Bon code @+ ;)

PS1: Désolé si je t'ai fais une fausse joie mais j'ai vu le problème mentionné que bien trop tard.
PS2: Gaffe aussi à ton charset, charger le fichier ainsi peut te poser des blems plus tard.

EDIT: Petite modif sur les délimiteurs de champs. Testé avec phpMyAdmin et le résultat est nickel.

par coucou » 31 juil. 2009, 00:04

Bonjour,

Je viens de passer un bon moment à regarder le langage XML, comme l'a conseillé Albat :wink: .
Je vois que ça à l'air un peu vaste pour un super débutant comme moi :lol: .

Il n'y aurait pas des petits tuyaux pour voir vers ou je pourrais me diriger dans un 1er temps.

Merci d'avance

PS : Pour Mitcef, je pense que je vais partir sur une automatisation vers ma base Mysql.

par micetf » 30 juil. 2009, 09:56

Peut-être que, pour la demande initiale,
tu pourrais t'inspirer de ceci :
<?php 
$couleur = 'White';
$nom = 'Blanc, Sebastien';
$sesParties = array();

$contenu = file('parties.txt');
foreach($contenu as $ligne) {
	echo trim($ligne).' - '.'['.$couleur.' "'.$nom.'"]'."<br/>";
	if (trim($ligne)=='['.$couleur.' "'.$nom.'"]') {
		$noLigne=key($contenu);
		$sesParties[] = array_slice($contenu,$noLigne-4,$noLigne+12);
	}
}

echo "<pre>";
var_dump($sesParties);
echo "</pre>";
Ensuite, si tu as bien compris ce code,
il me semble qu'il te sera plus facile d'automatiser un import dans mysql,
puis d'abandonner cette méthode pour une autre à base de requêtes SQL.

Voilà, mais peut-être que certaines subtilités de l'import de fichiers textes dans mysql
qui permettraient immédiatement un traitement plus simple me sont inconnues,
auquel cas je compte sur les experts du forum pour rectifier ma proposition.

Fred

par FuZZyLine » 30 juil. 2009, 08:52

Salut,
Bonjour,
Je vois pas de quel case tu parles, ce qu'il y a entre les crochets ??
Sinon, pour le mysql, j'y avais déjà penser.
J'avais créée une table "base de partie" et avec des champs "joueur blanc", "joueur noir", "event"
etc... Mais c'est horriblement long pour insérer les parties dedans la base.
Effectivement long, sutout si tu fais ca à la main, ligne/ligne.... Mais comme indiqué par
" albat " tes données sont près-classées, l'ordre semble toujours le même donc te suffirait
de créer ta base, la table; d'intégrer des délimitateurs (délimiteurs ??? bref...) à ton fichier
pour faire l'import.
Le xml, je connais pas du tout ??
Si tu as des petites pistes Albat, je suis preneur et j'irais aussi faire un petit tour le net pour me renseigner.
Langage structuré (balisé) tel le html
Le but de tout ça, c'est d'automatiser l'import dans mysql :roll:
Merci
Bonne journée tout le monde
En gros ta demande porte non plus sur [topic 1] : Comment interroger la base...
Mais plus : [topic précédent] : Comment je peux intégrer le fichier automatiquement...
Pardonne cette question c'est juste pour cibler au mieux ton besoin.

@+ bon code ;)

par coucou » 30 juil. 2009, 08:13

Bonjour,
Superpilou,
Heu à quoi correspond ce qu'il a marqué dans les cases car je ne comprends pas vraiment.
Je vois pas de quel case tu parles, ce qu'il y a entre les crochets ??

Sinon, pour le mysql, j'y avais déjà penser.
J'avais créée une table "base de partie" et avec des champs "joueur blanc", "joueur noir", "event" etc...
Mais c'est horriblement long pour insérer les parties dedans la base.
Le xml, je connais pas du tout ??
Si tu as des petites pistes Albat, je suis preneur et j'irais aussi faire un petit tour le net pour me renseigner.

Le but de tout ça, c'est d'automatiser l'import dans mysql :roll:

Merci
Bonne journée tout le monde

par albat » 30 juil. 2009, 01:20

Effectivement, la solution la plus simple est d'importer toutes ces données dans une base.
Tu bénéficieras alors des outils de recherche de MySQL.

Ce ne devrait pas être trop difficile de structurer tes données pour les injecter dans la base
car tes fichiers texte suivent un formatage précis et constant, comparable (dans l'esprit !) à du XML.

Je n'avais jamais remarqué qu'une partie d'échecs ressemblait autant à de l'Assembleur... :lol:

par Superpilou » 29 juil. 2009, 23:50

Heu à quoi correspond ce qu'il a marqué dans les cases car je ne comprends pas vraiment.
Sinon utilise du mysql comme ca on fait une recherche rapidement et ca te sélectionnera les détails que tu cherches.

Je sais pas comment m'y prendre

par coucou » 29 juil. 2009, 23:36

Coucou tout le monde,
Je m'occupe d'un site d'échecs et j'aimerais porter une petite touche pour le différencier des autres club de la région.

Voilà, j'ai un fichier texte avec par exemple 1000 parties sous cette forme
[Event "Chamalieres-Saint Affrique"]
[Site "Chamalières"]
[Date "21.10.21"]
[Round "1.1"]
[White "Etchegaray, Patrice"]
[Black "Georgiev, Krum"]
[Result "1-0"]
[ECO "B22"]
[WhiteElo "2368"]
[BlackElo "2488"]
[PlyCount "77"]
[EventDate "21.??.??"]
[WhiteTeam "Chamalières"]
[BlackTeam "Saint Affrique"]

1. e4 c5 2. c3 d6 3. d4 Nf6 4. Bd3 Nc6 5. d5 Ne5 6. Nf3 Nxd3+ 7. Qxd3 g6 8. c4
Bg7 9. Nc3 O-O 10. O-O Bg4 11. h3 Bxf3 12. Qxf3 Nd7 13. Bd2 a6 14. a4 Qb6 15.
Qe2 Qb3 16. Ra3 Qxb2 17. Ra2 Qb6 18. Rb1 Qc7 19. Rab2 Rab8 20. f4 b6 21. Rb3
Nf6 22. g4 e6 23. g5 Nd7 24. h4 Qd8 25. Kg2 Qe7 26. Qf3 Rbe8 27. Re1 Qd8 28. h5
f6 29. hxg6 hxg6 30. dxe6 Rxe6 31. Qh3 Re7 32. Nd5 fxg5 33. f5 g4 34. Nxe7+
Qxe7 35. Qxg4 Ne5 36. Qh3 Qb7 37. fxg6 Rf6 38. Qh7+ Kf8 39. Bg5 1-0

[Event "Chamalieres-Saint Affrique"]
[Site "Chamalières"]
[Date "21.10.21"]
[Round "1.2"]
[White "Leygue, Dominique"]
[Black "Robin, Samy"]
[Result "0-1"]
[ECO "C47"]
[WhiteElo "2321"]
[BlackElo "2355"]
[PlyCount "80"]
[EventDate "21.??.??"]
[WhiteTeam "Saint Affrique"]

1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. d4 exd4 5. Nxd4 Bb4 6. Nxc6 bxc6 7. Bd3 d5 8.
exd5 cxd5 9. O-O O-O 10. Bg5 c6 11. Qf3 Be7 12. Rfe1 Re8 13. h3 h6 14. Bh4 Rb8
15. b3 Rb4 16. Bg3 Be6 17. Ne2 c5 18. Rad1 Bc8 19. Be5 Rb6 20. Ng3 Bf8 21. Bc3
Rxe1+ 22. Rxe1 Re6 23. Rxe6 Bxe6 24. Bxf6 Qxf6 25. Qxf6 gxf6 26. c4 d4 27. Nh5
f5 28. Ng3 f4 29. Nh5 Bd6 30. Kf1 f3 31. g4 Be5 32. Be4 Kf8 33. Bxf3 f5 34. Bd5
Bxd5 35. cxd5 f4 36. Ke2 Ke7 37. Kf3 d3 38. h4 Kd6 39. g5 hxg5 40. hxg5 Kxd5
0-1

[Event "Chamalieres-Saint Affrique"]
[Site "Chamalières"]
[Date "21.10.21"]
[Round "1.3"]
[White "Blanc, Sebastien"]
[Black "Boyd, Stephen"]
[Result "0-1"]
[ECO "A42"]
[WhiteElo "2137"]
[BlackElo "2333"]
[PlyCount "106"]
[EventDate "21.??.??"]
[WhiteTeam "Chamalières"]
[BlackTeam "Saint Affrique"]

1. d4 g6 2. c4 Bg7 3. e4 d6 4. Nf3 e5 5. Nc3 Nd7 6. Be2 c6 7. O-O Nh6 8. d5 c5
9. a3 O-O 10. b4 f6 11. Nb5 Nf7 12. Ne1 f5 13. Nc3 b6 14. Nd3 Nf6 15. f3 f4 16.
a4 a5 17. bxa5 bxa5 18. Bd2 g5 19. g4 fxg3 20. hxg3 h5 21. Kg2 Bh6 22. Rh1 Kh7
23. Qc2 Rg8 24. Raf1 h4 25. g4 Nh8 26. Qc1 Ng6 27. Nf2 Nf4+ 28. Bxf4 exf4 29.
Bd3 Kh8 30. e5 dxe5 31. Nce4 Bf8 32. Qc3 Nxe4 33. Nxe4 Bd6 34. Rb1 Rg7 35. Rb2
Rb8 36. Rxb8 Bxb8 37. Nxc5 Ba7 38. Nb3 Qe8 39. Qxa5 Bxg4 40. fxg4 e4 41. Re1
Be3 42. Qc3 exd3 43. Nc5 d2 44. Qxd2 Qc8 45. Rxe3 Qxg4+ 46. Kh1 fxe3 47. Qxe3
Rf7 48. Ne6 Qd1+ 49. Kh2 Qc2+ 50. Kh3 Qf5+ 51. Kh2 g4 52. Qd4+ Kg8 53. Qe3 g3+
0-1
Forcément, ici j'en ai que 3 sinon ce serait vraiment trop long.

Alors ce que j'aimerais faire, c'est que quand je fais une recherche d'un joueur blanc, il me sélectionne toutes les parties de ce joueur. Et vice versa avec les noirs.

En fait il faudrait qu'il me sélectionne la partie, ce qui est en rouge ici par exemple
[Event "Chamalieres-Saint Affrique"]
[Site "Chamalières"]
[Date "21.10.21"]
[Round "1.1"]
[White "Etchegaray, Patrice"]
[Black "Georgiev, Krum"]
[Result "1-0"]
[ECO "B22"]
[WhiteElo "2368"]
[BlackElo "2488"]
[PlyCount "77"]
[EventDate "21.??.??"]
[WhiteTeam "Chamalières"]
[BlackTeam "Saint Affrique"]

1. e4 c5 2. c3 d6 3. d4 Nf6 4. Bd3 Nc6 5. d5 Ne5 6. Nf3 Nxd3+ 7. Qxd3 g6 8. c4
Bg7 9. Nc3 O-O 10. O-O Bg4 11. h3 Bxf3 12. Qxf3 Nd7 13. Bd2 a6 14. a4 Qb6 15.
Qe2 Qb3 16. Ra3 Qxb2 17. Ra2 Qb6 18. Rb1 Qc7 19. Rab2 Rab8 20. f4 b6 21. Rb3
Nf6 22. g4 e6 23. g5 Nd7 24. h4 Qd8 25. Kg2 Qe7 26. Qf3 Rbe8 27. Re1 Qd8 28. h5
f6 29. hxg6 hxg6 30. dxe6 Rxe6 31. Qh3 Re7 32. Nd5 fxg5 33. f5 g4 34. Nxe7+
Qxe7 35. Qxg4 Ne5 36. Qh3 Qb7 37. fxg6 Rf6 38. Qh7+ Kf8 39. Bg5 1-0

[Event "Chamalieres-Saint Affrique"]
[Site "Chamalières"]
[Date "21.10.21"]
[Round "1.2"]
[White "Leygue, Dominique"]
[Black "Robin, Samy"]
[Result "0-1"]
[ECO "C47"]
[WhiteElo "2321"]
[BlackElo "2355"]
[PlyCount "80"]
[EventDate "21.??.??"]
[WhiteTeam "Saint Affrique"]

1. e4 e5 2. Nf3 Nc6 3. Nc3 Nf6 4. d4 exd4 5. Nxd4 Bb4 6. Nxc6 bxc6 7. Bd3 d5 8.
exd5 cxd5 9. O-O O-O 10. Bg5 c6 11. Qf3 Be7 12. Rfe1 Re8 13. h3 h6 14. Bh4 Rb8
15. b3 Rb4 16. Bg3 Be6 17. Ne2 c5 18. Rad1 Bc8 19. Be5 Rb6 20. Ng3 Bf8 21. Bc3
Rxe1+ 22. Rxe1 Re6 23. Rxe6 Bxe6 24. Bxf6 Qxf6 25. Qxf6 gxf6 26. c4 d4 27. Nh5
f5 28. Ng3 f4 29. Nh5 Bd6 30. Kf1 f3 31. g4 Be5 32. Be4 Kf8 33. Bxf3 f5 34. Bd5
Bxd5 35. cxd5 f4 36. Ke2 Ke7 37. Kf3 d3 38. h4 Kd6 39. g5 hxg5 40. hxg5 Kxd5
0-1


[Event "Chamalieres-Saint Affrique"]
[Site "Chamalières"]
[Date "21.10.21"]
[Round "1.3"]
[White "Blanc, Sebastien"]
[Black "Boyd, Stephen"]
[Result "0-1"]
[ECO "A42"]
[WhiteElo "2137"]
[BlackElo "2333"]
[PlyCount "106"]
[EventDate "21.??.??"]
[WhiteTeam "Chamalières"]
[BlackTeam "Saint Affrique"]

1. d4 g6 2. c4 Bg7 3. e4 d6 4. Nf3 e5 5. Nc3 Nd7 6. Be2 c6 7. O-O Nh6 8. d5 c5
9. a3 O-O 10. b4 f6 11. Nb5 Nf7 12. Ne1 f5 13. Nc3 b6 14. Nd3 Nf6 15. f3 f4 16.
a4 a5 17. bxa5 bxa5 18. Bd2 g5 19. g4 fxg3 20. hxg3 h5 21. Kg2 Bh6 22. Rh1 Kh7
23. Qc2 Rg8 24. Raf1 h4 25. g4 Nh8 26. Qc1 Ng6 27. Nf2 Nf4+ 28. Bxf4 exf4 29.
Bd3 Kh8 30. e5 dxe5 31. Nce4 Bf8 32. Qc3 Nxe4 33. Nxe4 Bd6 34. Rb1 Rg7 35. Rb2
Rb8 36. Rxb8 Bxb8 37. Nxc5 Ba7 38. Nb3 Qe8 39. Qxa5 Bxg4 40. fxg4 e4 41. Re1
Be3 42. Qc3 exd3 43. Nc5 d2 44. Qxd2 Qc8 45. Rxe3 Qxg4+ 46. Kh1 fxe3 47. Qxe3
Rf7 48. Ne6 Qd1+ 49. Kh2 Qc2+ 50. Kh3 Qf5+ 51. Kh2 g4 52. Qd4+ Kg8 53. Qe3 g3+
0-1
Ca fait 2 jours que je cherche et je sais pas comment m'y prendre ??
J'espère que vous m'avez compris
Merci d'avance pour votre aide :D

Un peu comme sur ce site du Canada : http://www.fqechecs.qc.ca/index.php
Sur la gauche un peu vers le bas : module rechercher parties