Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 13 utilisateurs en ligne, consultez le détail
Auteur Message
lecharcutierdelinux
#0 Message posté le : 18-10-2007 à 12:01:13


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 527
Bonjour à tous,

Je fais du php tous les 6 mois, autant dire que c'est pas évident de se rappeller de tout.

J'ai une question au niveau des envois de mails. Je dispose d'une table utilisateur dans laquelle il y a un champ societe. Je souhaiterai que selon la valeur de la societe le formulaire soit envoyé à telle ou telle personne.

En clair, si Mr Dupont fait partie de renault, envoyer le mail à:
Mr Zidane
Mr Lizarazu
...

Si Mr Durant fait partie de la societe peugeot, envoyer le mail à:
Mr Schumacher
Mr Alonzo
...

Pour l'indetification de l'utilisateur, pas de pb, je sais comment détecté sa société grace aux variable de sessions. Par contre après je ne sais pas comment faire pour créer une sorte de mailling dans la fonction mail().

$destinatire_peugeot= 'jacques.moreau@renault.com, denis.ppp@renault.com'.


.....
J'espere que mon explication est claire et d'avance merci!

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
Azollyx
#1 Message posté le : 18-10-2007 à 13:29:00


Hobbit


Forum : Modérateur
Association : Président
Arrivé(e) le : 09-04-2006
Nombre de messages : 1999
C'est étonnant que ce que tu indiques ne marche pas : c'est la syntaxe indiquée dans le manuel.

-------------------------------------
Cherche distributeur manuel/automatique de câlins femelle pour mise en réseau rapprochée.
Nota : je préfèrerais un modèle bien documenté.
lecharcutierdelinux
#2 Message posté le : 18-10-2007 à 14:57:02


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 527
En fait c'est la démarche avant l'envoi du mail,

if $societe_user= 'peugeot'
....
alors la mailling liste est...

puis mail(....);

C'est plus la structure ded la syntaxe qui me pose souçi.

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
tamiel
#3 Message posté le : 18-10-2007 à 19:48:26


Hobbit


Forum : Inscrit
Association :
Arrivé(e) le : 17-10-2003
Nombre de messages : 1062
if ($societe == "peugeot")

{

  mail ....

}




if faut deux "=" pour l'égalité.

Un "=" est une affectation.

-------------------------------------
If you don't know, ask manpage !
lecharcutierdelinux
#4 Message posté le : 18-10-2007 à 23:09:49


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 527
OK, j'ai une autre question php,

J'essaie d'afficher en haut bienvenue Jean Dupont - société PEUGEOT

Pas de souci pour le nom et le prenom puisque juste apres l'identification sur mon site je peux passer les valeurs du formulaire d'itentifaction en session (j'utilise avant un $POST_).

Par contre après la vérification mot de passe par SQL, je souhaiterais aller chercher la valeur du champ société pour affiché le PEUGEOT.

Le probleme, j'ai fait une requête SQL mais à prioi elle essaie d'y mettre en tableau (ça me met array).

En gros je fais un :
"select societe where user=$user et password=$password".

La société c'est juste un résultat, je ne sais pas comment afficher un seul résultat sans pour autant faire un tableau et l'afficher simplement après avec echo.

Je sais j'suis nul.

PS= J'comprends pas car sur tous les sites de formation a chaques fois après une requete sql ils l'affichent dans un tableau. Moi j'veux juste vous "Membre de la société $societe".

Erff..

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
Azollyx
#5 Message posté le : 19-10-2007 à 13:08:09


Hobbit


Forum : Modérateur
Association : Président
Arrivé(e) le : 09-04-2006
Nombre de messages : 1999
Toute requête relationnelle retourne une table, même si c'est une table qui ne contient qu'une colone et une ligne.
Je viens de regarder une doc et ça n'a pas l'air d'être un tableau mais un objet qu'il faut manipuler avec mysql_result :
$result;
mysql_connect...
$result = mysql_query($query);
$toto = mysql_result($result,0,"colone");

Cela doit pouvoir s'abgréger :
$toto = mysql_result(mysql_query($query),0,"col");


édit : source

--Message édité par Azollyx le 19-10-2007 à 13:08:35--


-------------------------------------
Cherche distributeur manuel/automatique de câlins femelle pour mise en réseau rapprochée.
Nota : je préfèrerais un modèle bien documenté.
jblecanard
#6 Message posté le : 19-10-2007 à 13:33:44


Elfe


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 3998
Azollyx a raison, je ne ferais qu'enrichir sa réponse en précisant qu'il n'y a pas que mysql_result pour gérer les variables dites "ressources mysql". Il y a aussi mysql_fetch_array, mysql_fetch_row... tout ça à découvrir sur la documentation officielle. Il y a la liste des fonctions et leur manuel juste après l'exemple de code.

--Message édité par jblecanard le 19-10-2007 à 13:34:45--


-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
lecharcutierdelinux
#7 Message posté le : 19-10-2007 à 16:06:22


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 527
Merci pour ces infos,

mais si je prends par exemple le cas du profil trustonme, qd on veut le modifier on a aussi les résultats actuels.

Par exemple

Date de naissance: 22/06/2983

La date est un seul résultat, pourtant c'est pas un tableau? Quelle requête feriez vous juste pour afficher un résultat?

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
jblecanard
#8 Message posté le : 19-10-2007 à 16:23:22


Elfe


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 3998
Alors, tu as besoin d'une petite explication...

Il y a deux types de requêtes MySQL. Les requêtes qui modifient les données, dont on vérifie seulement l'exécution correcte, et les requêtes qui collectent des informations.

Dans ton cas il s'agit d'en collecter.

Tu vas avoir une ligne du style :

$resultat = mysql_query("SELECT `societe` FROM nomdelatable WHERE `user`='$user' AND `password`='$password' LIMIT 1;");

$resultat, quelle que soit la situation, ne sera ni un tableau ni une valeur. c'est une ressource MySQL. Pour lire cette ressource, tu as besoin de différentes fonctions, comme celles proposées par Azollyx et moi-même. Tu peux taper par exemple, après la requête précédente :


$tableau=mysql_fetch_array($resultat);

if($tableau!=false){

    //Code si la base a trouvé une entrée correspondante

    print_r($tableau);

}

else{

    // Code si aucune entrée correspondante n'a été trouvée ou si la requête est foireuse

    echo("Aucune entrée correspondante");

}



ou plus synthétiquement :


if($tableau=mysql_fetch_array($resultat)){

    //Code si la base a trouvé une entrée correspondante

    // $tableau EST un tableau ici, ne contenant éventuellement qu'une seule entrée

    print_r($tableau);

}

else{

    // Code si aucune entrée correspondante n'a été trouvée ou si la requête est foireuse

    echo("Aucune entrée correspondante");

}



Est-ce plus clair ?

NB : ne met pas de mots de passes en clair dans ta base de donnée. N'oublie pas de passer un petit md5 dessus .

-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
tamiel
#9 Message posté le : 19-10-2007 à 18:13:34


Hobbit


Forum : Inscrit
Association :
Arrivé(e) le : 17-10-2003
Nombre de messages : 1062
Si le résultat final est un tableau mais avec une seule réponse.

Donc pour l'extraire : $mydate = $tableau[0];

-------------------------------------
If you don't know, ask manpage !
lecharcutierdelinux
#10 Message posté le : 22-10-2007 à 14:54:15


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 527
Merci pour votre aide,

J'ai cependant tjrs un problème, j'ai repris le premier code de jblecanard que et le résultat fonctionne sauf qu'il s'affiche bizarrement:


Array ( [0] => peugeot [societe] => peugeot )

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
jblecanard
#11 Message posté le : 22-10-2007 à 16:36:59


Elfe


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 3998
Ce n'est pas bizarre !

print_r est une fonction qui sert à visualiser le contenu d'un tableau en l'écrivant de la manière dont tu vois. Ici, la tableau résulatat est un tableau à une seule entrée, l'entrée en question contenant le nom de la société
A toi maintenant d'adapter le code à ton besoin...

--Message édité par jblecanard le 22-10-2007 à 16:37:29--


-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
lecharcutierdelinux
#12 Message posté le : 22-10-2007 à 16:54:39


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 527
Qu'entends-tu par adapter à mes besoins?
J'ai essayé de remplacer ton print_f par un simple echo pour voir crit "peugeot" mais maintenant j'ai "array" à la place.

Ta requête SQL extrait bien peugeot mais désolé j'ai toujours pas compris comment afficher "peugeot" tout seul sans rien.

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
jblecanard
#13 Message posté le : 22-10-2007 à 17:09:53


Elfe


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 3998
Si tu tapes :

echo($tableau["societe"]);

Tu auras bien "peugeot" tout seul. $tableau, est un tableau, print_r affiche des tableaux. Si tu essaye d'afficher un tableau avec echo, ça fait "Array", c'est logique. Tu devrais refaire un tour dans la doc de php sur les tableaux, et ça devrait être beaucoup plus clair pour toi...

-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
Azollyx
#14 Message posté le : 22-10-2007 à 21:12:48


Hobbit


Forum : Modérateur
Association : Président
Arrivé(e) le : 09-04-2006
Nombre de messages : 1999
jblecanard a écrit :


echo($tableau["societe"]);

Je ne suis pas sûr (je n'ai pas touché au bordel depuis quelques années) mais ça ne serait pas echo $tableau[0]["societe"]; plutôt ?

--Message édité par Azollyx le 22-10-2007 à 21:13:06--


-------------------------------------
Cherche distributeur manuel/automatique de câlins femelle pour mise en réseau rapprochée.
Nota : je préfèrerais un modèle bien documenté.
lecharcutierdelinux
#15 Message posté le : 23-10-2007 à 10:53:49


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 527
OK le résultat me donne bien "peugeot".

Pour aller plus loins je voulais savoir si après je pouvais travailler avec cette variable.

En clair je voulais savoir si je pouvais faire un truc dans le genre qui me permette en finction de la société de faire telle ou telle action:

switch($tableau["societe"])
{
case "peugeot"
...
case "renault"

....


Merci bcp

-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.