Je cherche une demarche a suivre pour resoudre mon probleme

Invité
Invité n'ayant pas de compte PHPfrance

16 juin 2005, 15:44

Enfaite je pars de se raisonnent , comme j'ai un petit moteur de recheche .je lance une recherche pour trouver un menbres, le resultat apparait comme ceci :

|Nom | prenom | ville | adresse | ----
-------------------------------------------------------------------
Dubois | Batiste | Brest | 24 rue du l'etang | ----

Maintenant que je souhaite mettre une fiche d'appreciation pour chaque menbre , je souhaite rajouter sa au resultat de la recherche

|Nom | prenom | ville | adresse | ---- | Fiche appreciation
--------------------------------------------------------------------------------
Dubois | Batiste | Brest | 24 rue du l'etang | ---- | (lien vers la fiche d'apreciation si elle existe et si elle n'existe je met un lien vers la creation d'une fiche)


Je ne sais pas si sa tien la route ce raisonnement ;

Je crée une un formulaire" fiche.html" et la table "fiche" , sachant que j'ai un formulaire d'insription "formu.html" et une table "personne" .

Dans le programme de mon moteur de recheche je rajoute ceci;

Je fais un test dans ma table fiche et je regarde si le nom trouvé par le moteur de recheche existe (dans la table fiche). Le resutat de la recheche sera le suivant:

|Nom | prenom | ville | adresse | ---- | Fiche appreciation
--------------------------------------------------------------------------------
Dubois | Batiste | Brest | 24 rue de l'etang | ---- | Voir sa fiche (lien vers la fiche d'apreciation )

Si le nom(membre) trouvé par le moteur de recheche n'existe pas dans la table fiche. Le resultat de la recheche sera le suivant.

|Nom | prenom | ville | adresse | ---- | Fiche appreciation
--------------------------------------------------------------------------------
Dubois | Batiste | Brest | 24 rue de l'etang | ---- | Creér une fiche (lien vers fiche.html ).

Un peu tirer par les cheveux mais bon .....

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 juin 2005, 15:55

ben tu récupères dans les résultats l'identifiant de la personne trouvée, que tu va inclure dans le lien vers "Créer une fiche" et donc tu sauras quoi insérer dans la table "Fiches"

Invité
Invité n'ayant pas de compte PHPfrance

16 juin 2005, 16:16

Ok , Merci bien je vais passer a l'action et me debrouiller avec tous ce que tu m'a dis . :wink:

Mais juste un petit souci de dernier minute je veux crée la table fiche , mais malheuresement j'ai sa comme erreur ;

Code : Tout sélectionner

CREATE TABLE `fiche` ( `id_fiche` INT( 5 ) NOT NULL AUTO_INCREMENT , `nom` VARCHAR( 50 ) NOT NULL , `prenom` VARCHAR( 50 ) NOT NULL , `contact` VARCHAR( 50 ) NOT NULL , `rdv` VARCHAR( 50 ) NOT NULL , `observations` LONGBLOB CHARACTER SET binary, `present` VARCHAR( 50 ) NOT NULL , PRIMARY KEY ( `id_fiche` ) )
MySQL a répondu:

#1064 - Erreur de syntaxe pr賠de 'CHARACTER SET binary, `present` VARCHAR(50) NOT NULL, PRIMARY KE' ࠬa ligne 1

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 juin 2005, 16:20

oui j'avais vu ça je ne sais pas de quoi ça vient

si c'est pour stocker du texte tu n'as qu'à mettre TEXT ou LONGTEXT (suivant la longueur envisagée) pour observations

Mammouth du PHP | 19672 Messages

16 juin 2005, 16:22

Enlève le CHARACTER SET BINARY et ça va passer, tu n'as pas besoin de mettre une BLOB en binaire, c'est déjà un format binaire.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

16 juin 2005, 16:38

Bonjour Cyrano

Je met quoi a la place "CHARACTER SET BINARY " si je dois l'enlevé

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 juin 2005, 16:40

à mon avis quand on te dis "enlève" c'est que enlèves, et que tu ne mets rien à la place

sinon il aurait dit "remplace par ..."

;)

Invité
Invité n'ayant pas de compte PHPfrance

16 juin 2005, 16:47

ok , j'ai rien dis :oops:
Sa marche , Merci a vous tous

Mammouth du PHP | 19672 Messages

16 juin 2005, 16:52

En fin de compte : [Résolu] :?: ou pas...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

airben
Invité n'ayant pas de compte PHPfrance

16 juin 2005, 17:10

On peut dire que le probleme est resolue vu que je cherché avant tous la demarche a suivre.

Merci

airben
Invité n'ayant pas de compte PHPfrance

21 juin 2005, 14:54

Bonjour

Voila , j'ai donc pensé a faire ceci (Désolé si je me repette mais pour bien comprendre mon petit souci , il faut repeté).

Donc voila ;(sachant que mon souci c'est au niveau du test de l'identifiant afin d'affiché les differents lien) .

Je m'explique , voila j'ai 2 tables comme comme vous le savez
-------------
Formu
------------
id_formu (cle)
Nom
Prenom
***
**
---------------

---------------
Fiche
--------------
id_fiche (cle)

id_formu
Non
Prenom
Observation
RDV
----------------

La table fiche correspond a un formulaire d'appreciation(fiche.php) et la table Formu correspond à un formulaire d'insription.

Je souhaite donc associé a chaque formulaire deposé par une personne une fiche d'apppreciation .(Un peu comme a l'ecole lorsque l'on fait un controle ou examen , on associe toujours à un control un note et une obervation).

Lorsque j'affiche par nom et prenom (je sais faire)la liste de tous ce qui on deposé un formulaire . J'aimerais rajouter en en face du nom de chaque personne un lien.

Ce lien aura 2 aspects :

Le premiere aspect :
Si la personne a une fiche , le lien sera "voir la fiche de cette personne"

Le deuxieme aspect:
Si la personne n'a pas de fiche , le lien sera " creer la fiche" .

Donc il faut que je fasse un test sur la table fiche pour voir si l'identifiant (id_formu) exite ou pas .pour mettre mes differents lien.
Comment faire ce type de test ? :?

Merci pour votre aide

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

21 juin 2005, 15:03

tu peux sélectionner ces infos dans une requête
problème : si tu fais ceci

Code : Tout sélectionner

SELECT id_formu, nom, prenom, id_fiche FROM formu fo, fiche fi WHERE fo.id_formu = fi.id_formu
tu n'auras que les personnes qui ont une fiche
tu peux donc utiliser LEFT/RIGHT OUTER JOIN qui te renverra toute les lignes, et comblera avec NULL s'il n'y a pas de lien
voir ici : http://www.laltruiste.com/document.php? ... nture.html

si tu n'as pas de fiche pour cette personne, tu récupéreras NULL, tu peux donc faire un test en PHP et afficher le lien qui correspond

regarde un peu comment ça marche et reviens si tu as besoin d'aide ;)

airben
Invité n'ayant pas de compte PHPfrance

21 juin 2005, 15:58

Merci je vais voir ça

airben
Invité n'ayant pas de compte PHPfrance

21 juin 2005, 16:15

Juste 2 question toute bete . :oops:
Dans un fichier faut'il a chaque fois ce connecté a la base pour faire une requet. Comme ceci

Code : Tout sélectionner

$db = mysql_connect('localhost', 'root', ''); mysql_select_db('mabase',$db); $sql = mysql_query('SELECT * FROM fiche WHERE id_formu="$id_formu"'); $fiche_ou_pas = mysql_num_rows($sql) $db = mysql_connect('localhost', 'root', ''); mysql_select_db('mabase',$db); $sqlquery= "SELECT * FROM formu WHERE ma candition; $result = mysql_query($sqlquery); $number = mysql_numrows($result);
Deplus peut avoir plusieurs requets dans un meme fichier

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

21 juin 2005, 16:18

non, une seule connexion suffit, tu peux avoir autant de connexion que tu veux

la connexion est fermée à la fin du script ou tu peux la fermer toi-même