Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2012, 13h55   #1
Invité de passage
 
Inscription : février 2012
Messages : 2
Détails du profil
Informations forums :
Inscription : février 2012
Messages : 2
Points : 1
Points : 1
Par défaut Concaténation variable PHP

Bonjour,

J'ai un souci de concatenation avec php.

Je travaille avec icalendar et je stocke les differents attributs dans une variable afin d'en faire une piece jointe qui devient un evenement dans outlook.

Ci dessous le code qui fonctionne : tous les attributs icalendar sont bien interprétés.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
$vcal = "BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//GRR//NONSGML GRR//FR
METHOD:REQUEST
BEGIN:VEVENT
UID:u2coh5g3bppodsq2o3t@google.com 
ORGANIZER;RSVP=TRUE;CN=".$email_organisateur.";ROLE=CHAIR:mailto:".$email_organisateur."
ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:test1@test.com
ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:test2@test.com
DTSTAMP:20120124T161544Z 
DTSTART:".$participant_debut."
DTEND:".$participant_fin."
SUMMARY:".$name."
DESCRIPTION:".$description."
LOCATION:".$nom_ressource."
END:VEVENT
END:VCALENDAR";
Ce qui pose problème c'est l'attiribut ATTENDEE (participant). La liste des participants doit être complétée dans une boucle qui va chercher tous les participants. Seulement pour faire cela j'ai scindé le code comme suit :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
 
$vcal = "BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//GRR//NONSGML GRR//FR
METHOD:REQUEST
BEGIN:VEVENT
UID:u2coh5g3bppodsq2o3t@google.com 
ORGANIZER;RSVP=TRUE;CN=".$email_organisateur.";ROLE=CHAIR:mailto:".$email_organisateur."";
 
 
 
// On récupère la liste des destinataires
$sql_participant = "select nom, prenom, email from grr_utilisateurs u, grr_entry_users r  where r.entry_id = '$new_id' and r.login = u.login"; 
$req = mysql_query($sql_participant) or die('Erreur SQL !<br>'.$sql_participant.'<br>'.mysql_error()); 
while($data = mysql_fetch_array($req)) 
    { 
$nom_destinataire = $data['nom'];
$email_destinataire = $data['email'];
// On complete la liste de destinataires
 
   $mail->AddAddress($email_destinataire); 
 
// On complete la liste de personnes invites a la reunion 
$vcal .="ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:".$email_destinataire."";
 
 
    } 
$vcal .="  
DTSTAMP:20120124T161544Z 
DTSTART:".$participant_debut."
DTEND:".$participant_fin."
SUMMARY:".$name."
DESCRIPTION:".$description."
LOCATION:".$nom_ressource."
END:VEVENT
END:VCALENDAR";
Et là seuls les attributs qui sont stipulés avant la boucle sont bien gérés...

Je pense que mon souci vient de l'alimentation de la variable $vcal sachant que je ne maitrise pas très bien la syntaxe php
xxarkadiusxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 14h41   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 554
Points : 2 554
Envoyer un message via Skype™ à rawsrc
Bonjour,

En reprenant ton exemple voici ce que tu obtiens avec ton code :
Code :
ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:test1@test.comATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:test2@test.com
Il n'y a pas de séparation entre le mail du dernier participant et les données des suivants
Essaies avec ceci :
Code :
$vcal .= "ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:".$email_destinataire."\n";
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/02/2012, 14h59   #3
Invité de passage
 
Inscription : février 2012
Messages : 2
Détails du profil
Informations forums :
Inscription : février 2012
Messages : 2
Points : 1
Points : 1
Je te remercie, tu m'as vraiment beaucoup aidé.

Tu m'as mis sur la bonne piste. En faite je n'ai eu qu'à appliquer ton conseil à la précédente partie du code et ça fonctionne parfaitement.


Ci-dessous le code que j'ai modifié en plus de ta modification (j'ai rajouté \n à la fin) :

Code :
1
2
ORGANIZER;RSVP=TRUE;CN=".$email_organisateur.";ROLE=CHAIR:mailto:".$email_organisateur."\n";

Et voici le résultat


Merci !
xxarkadiusxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h44.


 
 
 
 
Partenaires

Hébergement Web