online faq recherche accueil
 

Il y a 202 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
 Page :  1  2  3
Page Précédente 
Auteur
 Sujet :

[Programmation] Logiciel de recherche pour les tataves

 
n°4659132
rouldiboul​di
mangeur pro. de Kinder
Posté le 15-11-2006 à 19:13:33  profilanswer
 

Bonjour,
 
je vous contacte au sujet d'un probleme qui guette les tataves de HC, dont les discussions sont centralisées ici
 
Nous disposons d'une liste de formules pour des potions, à faire dans l'ordre exact pour les ingrédients ex : ingredient A + B ce n'est pas pareil que B + A
Il faudrait donc faire un logiciel/script ou autre dénomination pour faire ce qu'il suit :
 
- choisir dans 3 listes de tous les ingrédients ceux que l'on désire
- le logiciel recherche toutes les formules contenant exactement ces 3 ingrédients
- il liste toutes les formules en précisant les effets des potions
 
edit : précisions
- base en ligne
- accueil avec login/mdp         => peut attendre
- possibilté d'ajout de formules => peut attendre
 
 
Si quelqu'un pouvait me guider cela me rendrait bien service, sachant que mes connaissances HTML se limitent a Frontpage de base et le PHP je m'y connait pas ... cependant si vous etes motivés vous faites le guide et je remplace les "ingrédients A" etc par ce qui m'interesse.
Bien sûr nous penserons aux aideurs, je pense actuellement a un type de remerciement  ;) .
 
Bouli, humain qui aime les siens  :jap:


Message édité par rouldibouldi le 17-11-2006 à 20:40:19
n°4659136
Gandalf
Vous ne passerez pas !
Profil : Modérateur
Posté le 15-11-2006 à 19:28:04  profilanswer
 

Ouais c'est dans mes cordes et pas bien compliques :)
 
Le seul soucis, c'est que le tps pour faire va me manquer :s enfin je vais voir et y reflechir :)
 
Mais ca doit se faire en php avec une base de donnee mysql derriere ;)


---------------
Fuyez pauvres fous - "de tous ceux qui n'ont rien à dire, les plus agréables sont quand même ceux qui se taisent" Coluche

[:gandalf:4][:gandalf:5][:gandalf:6][:gandalf:7]
- It comes up you are born to be -
Venez ici pour mieux comprendre le fonctionnement du MF
n°4659146
hole_maste​r
Champion du Monde de Kamasutra
Posté le 15-11-2006 à 20:15:51  profilanswer
 

Citation :

- choisir dans 3 listes de tous les ingrédients ceux que l'on désire


 
4 serait plus adéquate :o


---------------
yo les gens!  
:D                                             [:hole_master:2][:hole_master:3][:hole_master:4]          hole_master, maître des trous et du reste aussi...  ©Fandor
quelque part entre la première et la dernière division :what:
Vous voulez sauver un hot-dog? Mangez un américain! :heink:                                             mes merveilles v.1 v.2 v.3
n°4659151
rouldiboul​di
mangeur pro. de Kinder
Posté le 15-11-2006 à 20:32:27  profilanswer
 

a la limite 3 et eventuellement si on mets qqch en 4 ça en tient compte, sinon ça en tien pas compte :)
 
edit : PUt... de SIGN !  :fou:


---------------
Tatav's Liste SCL - ForgeRuns D2C SCL (ladder2-3-4) :hot: - Mon 60k :evil:
Ma soso D2C -  Mon pala D2C
[:ato-orc:4] 5-7 connection represent
n°4659152
Flolou
Less is More
Posté le 15-11-2006 à 20:34:10  profilanswer
 

Tu rentres toutes tes formules dans un tableau excel et tu mets un filtre automatique sur la première ligne : magie ça marche.


---------------
 " Vive la sagesse de Salomon: Boire de bon vin, se gorger de mets délicats, se rouler sur de jolies femmes; se reposer dans des lits bien mollets. Excepté cela,le reste n'est que vanité."  Le Neveu de Rameau, Diderot
[Ma liste de trade] :|: [mileγ Factorγ] :|: [Wasteland...] :|: [Summe deus, fiat tua sancta volontas]
n°4659155
Gandalf
Vous ne passerez pas !
Profil : Modérateur
Posté le 15-11-2006 à 20:39:21  profilanswer
 

Flolou a écrit :

Tu rentres toutes tes formules dans un tableau excel et tu mets un filtre automatique sur la première ligne : magie ça marche.


 
ouais mais ca c'est nul... tout le monde doit avoir le fichier, le fichier doit etre dispo partout, a chaque ajout de MAJ d'une nouvelle formule il faut refaire le fichier, le remettre en ligne, et que tout le monde le reprenne ~~
 
Une bdd en ligne c'est bcp plus pratique...
 
Edit:
 
3 ou 4 plantes au niveau de la conception c'est pareil ;)
 
et tu peux meme faire lister je pense les listes des formules qu'il existe avec ses plantes non encore essaye :D


Message édité par Gandalf le 15-11-2006 à 20:41:27

---------------
Fuyez pauvres fous - "de tous ceux qui n'ont rien à dire, les plus agréables sont quand même ceux qui se taisent" Coluche

[:gandalf:4][:gandalf:5][:gandalf:6][:gandalf:7]
- It comes up you are born to be -
Venez ici pour mieux comprendre le fonctionnement du MF
n°4659173
hole_maste​r
Champion du Monde de Kamasutra
Posté le 15-11-2006 à 22:19:41  profilanswer
 

on avait commencé un truc avec ralf, il y avait aussi mis un classement des meilleurs créateur (nombres de formules trouvées)


---------------
yo les gens!  
:D                                             [:hole_master:2][:hole_master:3][:hole_master:4]          hole_master, maître des trous et du reste aussi...  ©Fandor
quelque part entre la première et la dernière division :what:
Vous voulez sauver un hot-dog? Mangez un américain! :heink:                                             mes merveilles v.1 v.2 v.3
n°4659395
rouldiboul​di
mangeur pro. de Kinder
Posté le 17-11-2006 à 20:38:53  profilanswer
 

Flolou a écrit :

Tu rentres toutes tes formules dans un tableau excel et tu mets un filtre automatique sur la première ligne : magie ça marche.


en plus avec ça, tu peux pas avoir toutes les formules contenant les 3 ingrédients, puisque :
les ingrédients sont par ex sous la forme :
 
 
A | B | B | C | D
B | A | D | A
C | D | B | B | A
 
je rentre les plantes A B B il faut qu'il me sorte les formules 1 et 3 or avec les filtres automatiques ça donne juste la 1 et pas la 3 ...
 
de plus comme le dit gandalf il faudrait une base en ligne où on peut ajouter par un script les formules, avec une identification


---------------
Tatav's Liste SCL - ForgeRuns D2C SCL (ladder2-3-4) :hot: - Mon 60k :evil:
Ma soso D2C -  Mon pala D2C
[:ato-orc:4] 5-7 connection represent
n°4659401
Flolou
Less is More
Posté le 17-11-2006 à 21:56:53  profilanswer
 

Bah tu tries tes formules (toujours avec excel, j'crois c'est possible) pour avoir une colonne A une colonne B etc
Et là le filtre fonctionnera fort mieux :D


Message édité par Flolou le 17-11-2006 à 21:57:15

---------------
 " Vive la sagesse de Salomon: Boire de bon vin, se gorger de mets délicats, se rouler sur de jolies femmes; se reposer dans des lits bien mollets. Excepté cela,le reste n'est que vanité."  Le Neveu de Rameau, Diderot
[Ma liste de trade] :|: [mileγ Factorγ] :|: [Wasteland...] :|: [Summe deus, fiat tua sancta volontas]
n°4659406
Gandalf
Vous ne passerez pas !
Profil : Modérateur
Posté le 17-11-2006 à 23:23:25  profilanswer
 

Ca c'est pas complique l'ajout de formule :) du moment qu'on a une base SQL en ligne, c'est facile apres faut juste prendre le tps ^^


---------------
Fuyez pauvres fous - "de tous ceux qui n'ont rien à dire, les plus agréables sont quand même ceux qui se taisent" Coluche

[:gandalf:4][:gandalf:5][:gandalf:6][:gandalf:7]
- It comes up you are born to be -
Venez ici pour mieux comprendre le fonctionnement du MF
n°4659410
Eolindel
asocial, misanthrope
Posté le 18-11-2006 à 00:47:11  profilanswer
 

http://www.siteduzero.com/tuto-3-4 [...] c-php.html
 
y'a franchement de bonnes bases, avec ce qui est expliqué, j'ai réussi à faire  ça:
http://eolindel.free.fr/PHP/pluginlist.php
avec ajout centralisé des plugins et recherche automatique grâce à des expressions régulières, ça casse pas la baraque, mais ça a le mérite de suffire à l'utilisation de ce queje souhaite
 
J'ai aussi fait un truc de gestion des courses pour mon coloc' et moi etc.. Après, il te restera plus qu'aller farfouiller dans l'aide PHP en ligne qui est très bien faite


---------------
[:eolindel:4][:eolindel:5]
['JdR"]Le loup-garou vous lasse ? Essayez Sporz
[photos]le CERN: accélérateur de particule. Non accesssible au public
Gérer sa vidéothèque avec mégathèque, logiciel gratuit
n°4659451
rouldiboul​di
mangeur pro. de Kinder
Posté le 19-11-2006 à 00:47:28  profilanswer
 

merci de la piste ... j'esssayerais de regarder ça  ;)


---------------
Tatav's Liste SCL - ForgeRuns D2C SCL (ladder2-3-4) :hot: - Mon 60k :evil:
Ma soso D2C -  Mon pala D2C
[:ato-orc:4] 5-7 connection represent
n°4659563
rouldiboul​di
mangeur pro. de Kinder
Posté le 20-11-2006 à 19:18:37  profilanswer
 

bon j'ai bien regardé, mais ayant pas mal d'autres choses a faire à côté, j'aimerais un peu d'aide car j'ai pas bien compris comment relier la base MySQL aux requêtes (j'ai tout lu en 4h mais bon ... pas trop le temps comme je vous ai dit)
 
alors il faudrait pour la structure :
 
1ère page :

Code :
  1. titre du type <h1> centré et souligné
  2. case "user"
  3. case "mot_de_passe"
  4. si cela correspond avec la BDD => lien vers 2eme page en gardant le nom d'utilisateur (utilisation du PHP avec variable)
  5. sinon retour à la 1ere page


 
2ème page :

Code :
  1. rechercher selon les plantes : case multichoix : 2 ou 3 ou 4 et bouton "ok => lien vers page2_2 en gardant le nom d'utilisateur et le nb de plantes (PHP avec 2 variables par ex : $user et $nb_plantes_rech)
  2. OU ajouter une formule avec nb de plantes : case multichoix 4 ou 5 et bouton "ok" => lien vers page 2_3 en gardant nom d'utilisateur et le nb de plantes (PHP avec 2 variables par ex : $user et $nb_plantes_ajout)


 
2_2ème page :

Code :
  1. afficage de la BDD en fonction du nb de plante et des effets, en affichant le nom dans l'ordre
  2. Et lien vers la 2eme page en transmettant le nom d'utilisateur ($user)


 
2_3ème page :

Code :
  1. Choisir les plantes dans des cases multichoix entre 11 plantes, et ce dans 4 à 5 cases différentes (dépend de $nb_plantes_ajout)
  2. champ text pour l'effet de la potion
  3. bouton ok qui ajoute la formule à la BDD en précisant dans els différents champs : plantes dans l'ordre , effet, nom de l'ajouteur ($user)
  4. Et lien vers la 2eme page en transmettant le nom d'utilisateur ($user)


 
 
edit : si vous connaissez un forum de PHP où on pourrait m'aider, faites moi un lien svp ;)


Message édité par rouldibouldi le 20-11-2006 à 19:19:15

---------------
Tatav's Liste SCL - ForgeRuns D2C SCL (ladder2-3-4) :hot: - Mon 60k :evil:
Ma soso D2C -  Mon pala D2C
[:ato-orc:4] 5-7 connection represent
n°4659643
merfolk
Jedi retraité
Posté le 21-11-2006 à 21:45:09  profilanswer
 

je t'ai répondu sur trade...

Citation :

je viens de jeter un coup d'oeil, mais en fait ...
Selon moi, faire un truc comme ça, j'estime à une quarantaine d'heures de boulot facile :/
 
ce que tu veux c'est
- identifiant, mot de passe bdd...
- ajout de données
- recherche dans les données..
- formulaires de saisies etc.
 
c'est du temps tout ça


 
simple remarque :  
tu as un herbergeur PHP / MYSQL au moins ? car ....c'est payant l'hebergement.


Message édité par merfolk le 21-11-2006 à 21:45:43

---------------
Jedi Knight FF Oasis FF Bgj
n°4659644
Gandalf
Vous ne passerez pas !
Profil : Modérateur
Posté le 21-11-2006 à 21:47:11  profilanswer
 

l'hebergement non pas forcement, un hebergement chez free c'est gratuit et ca te premettrait de faire ca ;)


---------------
Fuyez pauvres fous - "de tous ceux qui n'ont rien à dire, les plus agréables sont quand même ceux qui se taisent" Coluche

[:gandalf:4][:gandalf:5][:gandalf:6][:gandalf:7]
- It comes up you are born to be -
Venez ici pour mieux comprendre le fonctionnement du MF
n°4659645
merfolk
Jedi retraité
Posté le 21-11-2006 à 21:48:28  profilanswer
 

oui mais c'est le seul -et il faut que tu sois abonné chez free-. Et les soit-disant hebergeurs "gratuits avec messsage de pub par ex" sont des bouses abominables et sont des attrapes-nigaux
 
Ex:  ifrance. Le moins nuls de tous reste nul. (Et ce n'est pas une question de lenteurs de chargement / surcharge de pubs etc. C'est : problèmes constants avec BDD, site inacessible les 3/4 du temps, erreur dans les fonctions sql_connect etc. Tout est fait pour que tu t'abonnes à  la formules "pas trop cher" et par miracle, il n'y a plus de problèmes)
 
Wanadoo n'offre pas de site perso avec support *php/mysql* par ex


Message édité par merfolk le 21-11-2006 à 21:54:15

---------------
Jedi Knight FF Oasis FF Bgj
n°4659655
rouldiboul​di
mangeur pro. de Kinder
Posté le 22-11-2006 à 00:04:36  profilanswer
 

pour te répondre oui j'ai un compte chez free
40 heures je voyais pas ça aussi gros ... on va peut etre garder la méthode excel personnelle, osef des autres tataves non ? :/


---------------
Tatav's Liste SCL - ForgeRuns D2C SCL (ladder2-3-4) :hot: - Mon 60k :evil:
Ma soso D2C -  Mon pala D2C
[:ato-orc:4] 5-7 connection represent
n°4659656
Flolou
Less is More
Posté le 22-11-2006 à 00:07:04  profilanswer
 

Bah tu peux utiliser un excel le temps de mettre en place ton site php puis après basculer :D


---------------
 " Vive la sagesse de Salomon: Boire de bon vin, se gorger de mets délicats, se rouler sur de jolies femmes; se reposer dans des lits bien mollets. Excepté cela,le reste n'est que vanité."  Le Neveu de Rameau, Diderot
[Ma liste de trade] :|: [mileγ Factorγ] :|: [Wasteland...] :|: [Summe deus, fiat tua sancta volontas]
n°4659657
Gandalf
Vous ne passerez pas !
Profil : Modérateur
Posté le 22-11-2006 à 00:07:48  profilanswer
 

Non pas tant que ca ~~ mais c'est clair que c'est du tps... tu en as je pense pour une grosse journee, tout ce qui est design, OSEF :)


---------------
Fuyez pauvres fous - "de tous ceux qui n'ont rien à dire, les plus agréables sont quand même ceux qui se taisent" Coluche

[:gandalf:4][:gandalf:5][:gandalf:6][:gandalf:7]
- It comes up you are born to be -
Venez ici pour mieux comprendre le fonctionnement du MF
n°4659658
rouldiboul​di
mangeur pro. de Kinder
Posté le 22-11-2006 à 00:11:39  profilanswer
 

j'ai pas cette journée
et ça c'est pour une personne maîtrisant le PHP, moi j'ai decouvert les premieres lignes de code ya 3 jours :s


---------------
Tatav's Liste SCL - ForgeRuns D2C SCL (ladder2-3-4) :hot: - Mon 60k :evil:
Ma soso D2C -  Mon pala D2C
[:ato-orc:4] 5-7 connection represent
n°4659659
Gandalf
Vous ne passerez pas !
Profil : Modérateur
Posté le 22-11-2006 à 00:15:49  profilanswer
 

non c'est clair que ce n'est pas pour toi tu vas y passer la semaine a faire un truc bof :/
 
Le truc c'est que je n'ai pour le moment pas le tps non plus :(


---------------
Fuyez pauvres fous - "de tous ceux qui n'ont rien à dire, les plus agréables sont quand même ceux qui se taisent" Coluche

[:gandalf:4][:gandalf:5][:gandalf:6][:gandalf:7]
- It comes up you are born to be -
Venez ici pour mieux comprendre le fonctionnement du MF
n°4659662
Almir
Posté le 22-11-2006 à 00:48:24  profilanswer
 

ca m'a pas l'air compliquer votre histoire, en sql c'est archi-faisable en quelques heures.  
 
apparement faut faire une table avec le nom des differents ingredients, puis une table avec les formules donc en shema de la deuxieme ca donne un truc comme :{ ingredient1, ingredient2, ingredient3 ,effets de la formule}
 
 
avec php html=> un formulaire a 3 liste deroulantes
(donc des requetes SELECT DISTINCT nom FROM liste)
 
puis sur la page de traitement une requete qui affiche les resultat (SELECT DISTINCT effets FROM listeformules WHERE ingredient1=$POST_[ingredient1] AND ingredient2=$POST_[ingredient2] AND ingredient3=$POST_[ingredient3])
 
ca me parrait pas compliquer, ensuite si tu veut mettre une partie login/logout tu creer une table membre et tu creer une page avec un formulaire de mot de passe et creation de cookie ou session comme on en voit partout sur le net...
 
bon le plus long ca sera surtout pour rentrer toute les valeur dans tes table, mais si tu veut te simplifier encore plus la vie tu creer une partie admin avec un formulaire pour inserer un nouvel ingredient ou une nouvelle recette :D


Message édité par Almir le 22-11-2006 à 00:49:24

---------------
[Almir] [Tradelist d2c&lod]
n°4659670
hole_maste​r
Champion du Monde de Kamasutra
Posté le 22-11-2006 à 00:33:35  profilanswer
 

le truc, c'est que dans la formule que tu as prise:
 
ing1;ing2;ing3
 
il faut savoir qu'on ne cherche pas ce que donne cette formule bien precise, mais toute les formule possible avec ces 3 ingredients placé differment.
 
donc ing1;ing2;ing3 doit etre different de ing1;ing3;ing2
etc
 
sachant que pour notre cas, il faut minimum 4 ingredients (maximum 5) et qu'il faut au moins 2 ingredients différents dans une formule. (il y a 10 ingredients)
 
de plus il nous faudra different formulaire de recherche:
-une recherche par ingredient pour avoir les formule possible
-une recherche par résultat voulu, pour nous donner les formules possible
-une recherche par utilisateur, pour nous donner le nombre de formules trouvées par l'utilisateur.


---------------
yo les gens!  
:D                                             [:hole_master:2][:hole_master:3][:hole_master:4]          hole_master, maître des trous et du reste aussi...  ©Fandor
quelque part entre la première et la dernière division :what:
Vous voulez sauver un hot-dog? Mangez un américain! :heink:                                             mes merveilles v.1 v.2 v.3
n°4659679
merfolk
Jedi retraité
Posté le 22-11-2006 à 11:28:01  profilanswer
 

Il y en a pour largement plus qu'une journée, même si tu maîtrises désolé de vous contredire.
Oui, comme tu dis almir. Ca c'est exactement ce qu'on appelle la partie visible de l'iceberg.
 
concretement, je vais te détailler ton chantier, roudibouli : ça peut te guider aussi
 
Le départ
- définir le schéma de la bdd de façon précise...quoi comme table...combien d'ingrédients 3 ou variable ?  Quels sont les relations entre les acteurs ? c'est des relations de 1 à 1, de 1 à N etc. Autant de paramètres qui vont influencer le schéma final de la base...
- créér cette bdd..c'est bien beau de voir qu'il te faut à peu près "tel ou tel champ" mais après faut tout préciser...nom/type du champ / obligatoire ou pas/ primary key etc
 
suite
- Si tu ne veux pas passer encore une petite dizaine d'heures supplémentaire à créer des outils de saisie
--> gestion ingredients / liste / ajout / suppr / edition
--> gestion utilisateurs / liste / ajout / suppr / edition
--> gestion formules / liste / ajout / suppr / edition

il te faut quand même préremplir la base de données
 
suite les formulaires
- En gros chaque formulaire = 2 fichiers....le fichier & le fichier "quand on submit on arrive là et on traite ce qu'il y a traiter puis on redirige sur la page suivante, qui sera à calculer selon le contexte"
- Les formulaires peuvent être statiques ou dynamiques... remplir des listes déroulantes avec les données de la base et faire de la préselection dans les listes etc.
- il y a très souvent des champs cachés à gérer en parallèle dans les formulaires...ex une liste...faut savoir que le 3ème item de la liste c'est l'indice 415 dans la bdd...en général c'est  
un champ hidden à coté de chaque element de la liste qui contient ce fameux "415"
 
derrière les formulaires se cache la connexion à la base de données
- Il faut faire toutes les requêtes SQL ....  
 -- >de selection basique genre getListeIngredients() -> qui servira à alimenter les listes déroulantes  
  --> d'insertion d'une formule/ d'un ingredient etc.
  --> d'édition d'une formule/ d'un ingredient etc.
(la syntaxe d'un insert et completement différente de celle d'un update petit rappel, ça veut aussi dire que quand le gars cliquera sur "valider", il faut aussi savoir si t'es en "mode insert" ou mode "update" )
- Idéalement faire des objets qui gèrent ça...genre un objet "formules", un objet "ingredient" avec des méthodes "ajouter/supprimer etc"
- le  / les moteur(s) de recherche...en 2 mots : un formulaire qui genera la bonne requête SQL selon les critères que le gars a coché dans la page HTML par ex
- d'une façon générale il faut aussi simplement gerer la connexion avec la bdd / j'entends par là : avoir le SQL c'est joli..Mais il te faut : "être connecté à la BDD/envoyer cette requete à la BDD / recuperer le resultat / générer un tableau avec les resultset"
idéalement il faut raisonner par couches. Exemple:
- 1 classe SQL qui s'occupe d'envoyer SQL au server / recuperer resultat et renvoyer un tableau
- 1 classe ingredient, qui s'occupe de generer la requete SQL et qui utiliser la classeSQL pour le sotckage / chargement
- le formulaire PHP/HTML utilisera la classe ingredient...

 
 
suite
- il faut faire toutes les vérifications. Exemple:
quand qqn rajoute une formule il faut vériifer qu'elle existe pas déjà et si oui revenir à la page avec un beau message "dsl existe déjà" un truc dans le genre
- Il faut aussi faire toutes les vérifications genre : "que se passera t'il quand notre ami "bob l'éponge" entrera sa formule ? ...ton programme va se planter  car ' signifie "fin de chaine" en sql...autant de cas à gérer
- Idéalement faire une super classe qui s'occupe de ce genre de verifications
 
gestion sessions
- utiliser le tableau $_SESSIONS  ou des cookies
- possibiltié de se logger / delogger / (s'inscrire peut être ?)
- interdire l'acces à certaines pages si pas loggé etc
 
gestion acces admin ?
- mise en place fichier htaacces...est-ce que ton herbergeur le supporte déjà ?
- nouveaux formulaires à créer..gestion users / stats etc. Autant de SQL derrière
 
finalisation
- re-lookage des formulaires...Sachant que attention : tu n'as evidement pas utilisé un système de templates, donc tes fichiers sources c'est un mélange de php qui fait du print de code html
"print("<html><dlk>...<>" )" donc mettre un minimum en forme c'est pas immédiat du tout.
 
En parallèle de tout ça
- faut compter le temps de reflexion et de recherche des infos aussi...personne ne connait les syntaxes par coeur. Comment preselectionner un item dans une liste déroulante par exemple
- faut compter que y aura des petits bugs ...toutes les fautes de syntaxe...ou même tu écrits "ingedient" au lieu de "ingredient" quelque part, tu peux galérer des heures à trouver la faute ;)
 
De plus
- il faut que la bdd soit bien conçue dès le départ. Image tu te rends compe il te manque une info dans ta table ingrédient...je sais pas disons "couleur de l'ingrédient". Ben il va falloir:  
--> rajouter le champ dans la bdd
--> toutes tes requêtes sql vont planter du fait de ce champ en plus..il faut les mettre à jour etc.
 

C'est un paquet de choses à faire et c'est loin d'être fait en quelques heures à peine...quelques jours en avançant à bon rythme plutôt.  
En quelques heures tu n'auras même pas créé la bdd dans phpmyadmin et saisi quelques données dedans  :sarcastic:

 

Fondamentalement : oui PHP MYSQL c'est le top...200 fois mieux qu'un excel...mais c'est comme tout; le top ça a un prix

- tu irais plus vite sans BDD, en utilisant comme ce que j'avais fait dans mon petit jeu là, un fichier txt avec les données.  Moins optimisé, mais bien plus rapide à mettre en place
- mais pareil , c'est à court terme...si tu veux des recherches compliquées, c'est toi qui va devoir écrire le code, vu que tu n'as pas SQL pour faire les recherches à ta place
en gros  
à la place de faire  

Code :
  1. select * from formules where ingredient in (''''')


tu devras faire toi meme

Code :
  1. boucle sur toutes mes formules
  2.      est-ce que cette formules est ok
  3.             si oui je fais mon traitement
  4. // sachant que  ce qui peut être dur cest "est-ce que cette formule est ok"...si tu veux comparer des dates par exemple


 

- PHP et MYSQL sont 2 superbes outils "simples" (simple pour les informaticiens, c'est à dire absolument incompréhensibles pour un esprit normalement constitué ), mais ça ne signife pas que monter un site avec c'est rapide
- ces 2 technologies sont indépendantes...tu peux faire du php sans bdd...dès que tu rajoutes une bdd derrière, ça devient vite 3* plus complexe à mettre en place

 
Voilà  :jap:  dslé de donner un petit coup de frein, mais comme ça tu as une estimation plus précise et quelques détails techniques de la tâche à accomplir - Ceci dit c'est intéressant le php, si tu bosses tranquillement un peu tous les soirs, tu vas arriver à quelque chose ;)


Message édité par merfolk le 22-11-2006 à 17:47:51
n°4659722
Almir
Posté le 22-11-2006 à 17:32:52  profilanswer
 

@hole_master : D'accord je pense que j'ai pas bien compris vos besoins, vous voulez une liste dynamique avec des membre qui inserent/updateront les formules ou une liste statique pour faire des recherche (cf 1er post) ?
 
@merfolk : entierement d'accord sur ton shema. apparement tu veut faire un truc vraiment complet, c'est sur que ca va te prendre du temps, mais en gros c'est 80% de code reutilisable...
le seul probleme ce sera si les formules ont un nombre variable d'ingredients, ca sera dur d'optimiser une bd sur ce shema.


Message édité par Almir le 22-11-2006 à 17:35:49

---------------
[Almir] [Tradelist d2c&lod]
n°4659727
merfolk
Jedi retraité
Posté le 22-11-2006 à 17:56:01  profilanswer
 

ben si t'es d'accord ne dis pas qu'en quelques heures c'est fait... :p
Et ce n'est pas moi qui veut un site complet, cest eux - et ça, c'est ce que ça représente en boulot
 
faire une requête sql c'est même pas 5% de la tâche ;)
____
 

Code :
  1. Concernant la structure des tables : ce n'est pas un problème
  2. Table Ingredient   / ID_ingredient  / Nom / texte...
  3. Table Formules   / ID_Formule  / Nom / ID_du user qui a posté la formule
  4. Table IngredientsDansFormule  ID_Formule / ID_ingredient / ordre
  5. et voilà

n°4659728
hole_maste​r
Champion du Monde de Kamasutra
Posté le 22-11-2006 à 18:00:44  profilanswer
 

les membres n'ont pas forcement besoin d'entrer les formule eux meme, seul l'admin peut le faire.
par contre il faut un acces restreint aux membres, donc avec autentification.


---------------
yo les gens!  
:D                                             [:hole_master:2][:hole_master:3][:hole_master:4]          hole_master, maître des trous et du reste aussi...  ©Fandor
quelque part entre la première et la dernière division :what:
Vous voulez sauver un hot-dog? Mangez un américain! :heink:                                             mes merveilles v.1 v.2 v.3
n°4659737
rouldiboul​di
mangeur pro. de Kinder
Posté le 22-11-2006 à 18:40:29  profilanswer
 

exact mais pour restreindre :
- pas de formulaire d'inscription pour les membres, yen a pas des milliers, ils communiquent avec moi par mail et j'entre manuellement leur user et pass
- pour l'entrée des formules, c'est pareil, ça simplifiera la tâche
- recherche uniquement accessible aux membres
 
mais ceci dépasse totalement mes compétences merfolk, merci d'être passé pour nous avoir filé des pistes de recherche sérieuses si qqn si colle plus tard, en s'y connaissant :)


---------------
Tatav's Liste SCL - ForgeRuns D2C SCL (ladder2-3-4) :hot: - Mon 60k :evil:
Ma soso D2C -  Mon pala D2C
[:ato-orc:4] 5-7 connection represent
n°4659747
merfolk
Jedi retraité
Posté le 22-11-2006 à 19:35:42  profilanswer
 

je pense avoir trouvé une bonne solution ;
 
- sans bdd
- avec des fichiers.txt qui ont un certains format que tu mettras à jour manuellement en respectant ce format
- un formulaire de recherche accessible depuis un seul login / mdp avec 3 listes déroulantes
 
ça convient ? Ca c'est quelques heures de boulots. Ce soir je peux l'avoir fini ;)
 


---------------
Jedi Knight FF Oasis FF Bgj
n°4659748
hole_maste​r
Champion du Monde de Kamasutra
Posté le 22-11-2006 à 19:40:34  profilanswer
 

en fait il faudrait 5 liste déroulantes, mais il n'est pas nécéssaire de toute les renseigner pour lancer la recherche.


---------------
yo les gens!  
:D                                             [:hole_master:2][:hole_master:3][:hole_master:4]          hole_master, maître des trous et du reste aussi...  ©Fandor
quelque part entre la première et la dernière division :what:
Vous voulez sauver un hot-dog? Mangez un américain! :heink:                                             mes merveilles v.1 v.2 v.3
n°4659749
merfolk
Jedi retraité
Posté le 22-11-2006 à 19:43:02  profilanswer
 

- un ingrédient c'est juste son nom  ?
- dans une formule peut y avoir plusieurs fois le même ingredient c'est ça ?


---------------
Jedi Knight FF Oasis FF Bgj
n°4659755
hole_maste​r
Champion du Monde de Kamasutra
Posté le 22-11-2006 à 19:54:18  profilanswer
 

oui, mais il en faut au moins 2 differents
 
genre
 
A+A+A+A+A c'est pas possible
A+A+A+A+B c'est possible


---------------
yo les gens!  
:D                                             [:hole_master:2][:hole_master:3][:hole_master:4]          hole_master, maître des trous et du reste aussi...  ©Fandor
quelque part entre la première et la dernière division :what:
Vous voulez sauver un hot-dog? Mangez un américain! :heink:                                             mes merveilles v.1 v.2 v.3
n°4659770
rouldiboul​di
mangeur pro. de Kinder
Posté le 22-11-2006 à 20:42:48  profilanswer
 

exacte pour une formule il faut :
- tenir compte des ingrédients, sachant que il peut y avoir jusqu'a 4 fois le meme ingrédient
- tenir compte de l'ordre
- tenir compte de la qté d'ingrédients (4 ou 5 selon les formules)


---------------
Tatav's Liste SCL - ForgeRuns D2C SCL (ladder2-3-4) :hot: - Mon 60k :evil:
Ma soso D2C -  Mon pala D2C
[:ato-orc:4] 5-7 connection represent
n°4659788
merfolk
Jedi retraité
Posté le 22-11-2006 à 21:48:00  profilanswer
 

Alors :
 
Voici le fichier des ingredients

Citation :


A
B
C
D
E
F
G
H


 
tu l'appelles ingredients.txt et tu le places sur ton ftp free
1 ligne par nom d'ingrédient*


Message édité par merfolk le 22-11-2006 à 21:48:24

---------------
Jedi Knight FF Oasis FF Bgj
n°4659790
merfolk
Jedi retraité
Posté le 22-11-2006 à 21:50:07  profilanswer
 

voici le fichier des formules
 

Citation :


nomFormule;A;B;C
nomFormule2;C;B;C
nomFormule3;A;B;C
nomFormule4;G;B;F
nomFormule5;H;B;C;A;A


 
tu l'appelles formules.txt et tu le places sur ton ftp free
1 ligne = 1 formule
<nom formule> , [ingredient1]..[ingredientN]


Message édité par merfolk le 22-11-2006 à 21:50:19

---------------
Jedi Knight FF Oasis FF Bgj
n°4659792
merfolk
Jedi retraité
Posté le 22-11-2006 à 21:51:15  profilanswer
 

voici le fichier index.php
tu le places sur ton ftp free...
 
 

Code :
  1. <?php
  2. // rajoute les users la dedans
  3.  // syntaxe user = pass,  
  4.  //si tu rajoutes une ligne, il faut pas oublier la virgule sur la precedente
  5. $users = array(
  6.   "lol"=>"noob",
  7.   "jack"=>"benoit"
  8. );
  9. // texte dans le message box
  10. $auth_text = "Utilisez identifiant et motdepasse";
  11. // verif si t'es loggé
  12.    if(!(empty($_SERVER["PHP_AUTH_USER"]) || empty($_SERVER["PHP_AUTH_PW"])) && $_SERVER["PHP_AUTH_PW"]==$users[$_SERVER["PHP_AUTH_USER"]])
  13.    {
  14.  // si oui, genration du formulaire HTML
  15.  print("<html>" );
  16.  print("<body>" );
  17.  print("<form name=\"a\" method=\"POST\" action=\"indexAction.php\">" );
  18.  print("<h1>liste intégrale des ingredients</h1>" );
  19.  // recup liste des ingredients dans fichier bdd
  20.  $listeIngredients = explode("\r\n",file_get_contents("ingredients.txt" ));
  21.  if (count($listeIngredients) ==0)
  22.   die("aucun ingredient dans le fichier" );
  23.  // on dégage le dernier \n parasite
  24.  if ($listeIngredients[count($listeIngredients)-1] == "" )
  25.   array_pop($listeIngredients);
  26.  foreach($listeIngredients as $ing)
  27.  {
  28.   print("$ing // " );
  29.  }
  30.  print("<br><h1>Recherche des formules comportant ces ingrédients</h1>" );
  31.  // recup liste des formules et verification si cest valide
  32.  $listeFormules = explode("\r\n",file_get_contents("formules.txt" ));
  33.  if (count($listeFormules) ==0)
  34.   die("aucune formule dans le fichier" );
  35.  // on dégage le dernier \n parasite
  36.  if ($listeFormules[count($listeFormules)-1] == "" )
  37.   array_pop($listeFormules);
  38.  foreach($listeFormules as $formule)
  39.  {
  40.   $dataFormule = explode(";",$formule);
  41.   for($for = 1 ; $for < count($dataFormule) ; ++$for)
  42.   {
  43.    if (!in_array($dataFormule[$for],$listeIngredients))
  44.    {
  45.     die("bon alors tu ouvres le fichier des formules,
  46.      et tu le corriges vite fait, car  -- {$dataFormule[$for]} -- , ce n'est pas un ingrédient valide" );
  47.    }
  48.   }
  49.  }
  50.  // generation de 5 listes déroulantes
  51.  for ($i = 1 ; $i <= 5 ; ++$i)
  52.  {
  53.   print("Ingredient $i : <select name=\"requete[]\">" );
  54.   print("<option value=\"0\" selected>Indifférent</option>" );
  55.   foreach($listeIngredients as $ing)
  56.   {
  57.    print("<option value=\"$ing\" >$ing</option>" );
  58.   }
  59.   print("</select><br>" );
  60.  }
  61.  // si respecter ordre de la recherche ou pas
  62.  print("<br><input type=\"checkbox\" name=\"ordre\" value=\"1\">Respecter Ordre des ingredients</input><br>" );
  63.  // recherche nom
  64.  print("<br>chercher formule dont le nom contient :  <input type=\"text\" name=\"nomFormule\"><br>" );
  65.  print("<br><input type=\"submit\" value=\"rechercher\">" );
  66.  print("</body>" );
  67.  print("</html>" );
  68.  
  69.    }
  70.    else
  71.    {
  72.  // si tes pas loggé tu te logg
  73.       header("www-authenticate: basic realm=\"$auth_text\"" );
  74.       header("http/1.0 401 unauthorized" );
  75.   print ("tu n'es pas assez doué, laisse tomber" );
  76.    }
  77.  
  78. ?>


 
(tu doubles clic avant de faire copier coller, ça enleve les numeros)
 
 
--Edit owned pour flood  :(  y a encore 1 post qui vient)--


Message édité par merfolk le 23-11-2006 à 20:00:52

---------------
Jedi Knight FF Oasis FF Bgj
n°4659797
merfolk
Jedi retraité
Posté le 22-11-2006 à 21:56:43  profilanswer
 

voici le fichier indexAction.php
tu le places sur ton ftp free...
 

Code :
  1. <?php
  2. // rajoute les users la dedans
  3.  // syntaxe user => pass,  
  4.  //si tu rajoutes une ligne, il faut pas oublier la virgule sur la precedente
  5. $users = array(
  6.   "lol"=>"noob",
  7.   "jack"=>"benoit"
  8. );
  9. // texte dans le message box
  10. $auth_text = "Utilisez identifiant et motdepasse";
  11. // verif si t'es loggé
  12.    if(!(empty($_SERVER["PHP_AUTH_USER"]) || empty($_SERVER["PHP_AUTH_PW"])) && $_SERVER["PHP_AUTH_PW"]==$users[$_SERVER["PHP_AUTH_USER"]])
  13.    { 
  14.  print("<h1>Formules recherchees</h1>" );
  15.  
  16.  // affichage critères de recherche
  17.  $ordre = false;
  18.  if (isset($_POST["ordre"]) && ($_POST["ordre"]==1))
  19.   $ordre=true;
  20.  for($i = 0 ; $i < 5 ; ++$i)
  21.  {
  22.   $aff = $i+1;
  23.   if ($_POST["requete"][$i] == "0" )
  24.   {
  25.    print("Ingredient $aff : Indifférent <br> " );
  26.   }
  27.   else
  28.   {
  29.    print("Ingredient $aff : {$_POST["requete"][$i]} <br> " );
  30.   }
  31.  }
  32.  if ($ordre)
  33.   print(" dans l'ordre<br>" );
  34.  else
  35.   print(" peu importe l'ordre<br>" );
  36.  if ($_POST["nomFormule"] != "" )
  37.   print("le nom de la formule doit contenir [{$_POST["nomFormule"]}] <br>" );
  38.  else
  39.   print("peu importe le nom de la formule<br>" );
  40.  // recup liste des formules
  41.  $listeFormules = explode("\r\n",file_get_contents("formules.txt" ));
  42.  if (count($listeFormules) ==0)
  43.   die("aucune formule dans le fichier" );
  44.  // on dégage le dernier \n parasite
  45.  if ($listeFormules[count($listeFormules)-1] == "" )
  46.   array_pop($listeFormules);
  47.   // recherche
  48.  $listeFormulesOK = Array();
  49.  foreach($listeFormules as $formule)
  50.  {
  51.   // Formule courante
  52.   $dataFormule = explode(";",$formule);
  53.   $oki = true;
  54.   if (!$ordre)
  55.   {
  56.    // on va faire classe
  57.    $hach = Array();
  58.    foreach($_POST["requete"] as $critere)
  59.    {
  60.     if ($critere != "0" )// indifferent = c'est bon
  61.     {
  62.      if (!isset($hach[$critere]))
  63.       $hach[$critere] = 0;
  64.      ++$hach[$critere];
  65.     }
  66.    }
  67.    for($i = 1 ; $i < count($dataFormule); ++$i)
  68.    {
  69.     if (!isset($hach[$dataFormule[$i]]))
  70.      $hach[$dataFormule[$i]]=0;
  71.     --$hach[$dataFormule[$i]];
  72.    }
  73.    foreach($hach as $restant)
  74.    {
  75.     if ($restant > 0)
  76.      $oki = false;
  77.    }
  78.   }
  79.   else
  80.   {
  81.    // on regarde si les 5 criteres collent
  82.    for($i= 0 ; $i < 5 ; ++$i)
  83.    {
  84.     if ($_POST["requete"][$i] != "0" )// indifferent = c'est bon
  85.     {
  86.      if (!isset($dataFormule[$i+1]))
  87.      {
  88.       $oki = false;
  89.       break;
  90.      }
  91.      else
  92.      {
  93.       if ($dataFormule[$i+1] != $_POST["requete"][$i]) // +1 car element 0 du tableau = le nom
  94.       {
  95.        $oki = false;
  96.        break;
  97.       }
  98.      }
  99.     }
  100.    }
  101.   }
  102.   //est-ce que test sur nom aussi ?
  103.   if ($_POST["nomFormule"] != "" )
  104.   {
  105.    $nomComp = strtoupper($_POST["nomFormule"]);
  106.    if (strstr (strtoupper($dataFormule[0]),$nomComp) === FALSE)
  107.    {
  108.     $oki=false;
  109.    }
  110.   }
  111.   // si on ne l'a pas eliminer , on la conserve
  112.   if ($oki)
  113.     $listeFormulesOK[]=$formule;
  114.  }
  115.  // affichage formules
  116.  print("<h1>liste des formules concernees</h1>" );
  117.  foreach($listeFormulesOK as $f)
  118.  {
  119.   print($f."<br>" );
  120.  }
  121.   // retour
  122.  print("<br><br><a href=\"index.php\">autre recherche </a>" );
  123. }
  124. else
  125. {
  126.  // si tes pas loggé tu te logg
  127.  header("www-authenticate: basic realm=\"$auth_text\"" );
  128.  header("http/1.0 401 unauthorized" );
  129.  print ("tu n'es pas assez doué, laisse tomber" );
  130. }
  131. ?>


 
(tu doubles clic avant de faire copier coller, ça enleve les numeros)


Message édité par merfolk le 24-11-2006 à 20:17:13

---------------
Jedi Knight FF Oasis FF Bgj
n°4659798
merfolk
Jedi retraité
Posté le 22-11-2006 à 21:57:17  profilanswer
 

et voilà ce que c'est censé donner :
 
1 : Recherche
 
http://img117.imageshack.us/img117/2377/aaarx3.th.jpg
 
 
2 : Resultat
 
http://img162.imageshack.us/img162/361/bbbbj0.th.jpg


Message édité par merfolk le 22-11-2006 à 21:58:17

---------------
Jedi Knight FF Oasis FF Bgj
n°4659800
Flolou
Less is More
Posté le 22-11-2006 à 21:58:14  profilanswer
 

Et t'as fait