Bonjour,

je ne suis pas sûre de comprendre la fonction while, premièrement est ce possible de l'insérer dans le message d'un email ?

Dans ce code ci je voudrais que la ligne <tr><td>-'.$lign['nom'].'</td></tr> se répète autant de fois qu'il y a de résultat. Comme elle est ici, je n'ai que le premier résultat et si je mets un while je n'ai aucun résultat.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// REQUETE
$requete=mysql_db_query($sql_bdd,"select distinct(email) from listes where liste=\"$liste\" limit $debut,$limit",$db_link);
$nombre=mysql_num_rows($requete);
 
$user="xxx";
$host="localhost";
$password="xxx";
$database="xxx";
$To=mysql_result($requete,$i,"email");
$sqlquery = "SELECT nom FROM tirs WHERE $liste='Oui'";
$resulta = mysql_query($sqlquery) or die ("Impossible d'exécuter la requête");
$lign = mysql_fetch_array ($resulta,MYSQL_ASSOC);
 
$connection =mysql_connect($host, $user, $password) or die ("Connexion impossible au serveur");
$db=mysql_select_db($database, $connection) or die ("La BD ne peut être selectionnée");
$query = "SELECT nomsociete FROM Membre WHERE email='$To'";
$resultat = mysql_query($query) or die ("Impossible d'exécuter la requête");
$ligne = mysql_fetch_array ($resultat,MYSQL_ASSOC);
 
$sujet=str_replace("xxquotxx","\"",$sujet);
$texte=str_replace("xxquotxx","\"",$texte);
$sujet=stripslashes($sujet);
$texte=stripslashes($texte);
 
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= 'From: Newsletter Swiss-target.ch <newsletter@swiss-target.ch>' . "\r\n";
 
$newsmessage ='
  <html>
<head>
</head>
<body><table border="0" cellpadding="5" cellspacing="0" width="80%" align="center">
<br /><tr><td colspan="3" bgcolor="#19431B" align="center">
<font color="#E4E0B0" size="+1">Newsletter</font></td></tr></table>
<table border="0" cellpadding="5" cellspacing="0" width="80%" align="center" bgcolor="#E4E0B0">
<font color="#19431B">
<tr><td>Cher '.$ligne['nomsociete'].',</td></tr>
<tr><td>-'.$lign['nom'].'</td></tr>
<tr><td>
<br>
'.$texte.'
<br></td></tr>
 <tr><td>Nous apprécions l\'intérêt que nous portez à notre site. Si vous avez des questions à poser vous pouvez envoyer un e-mail à info@swiss-target.ch.<br></td></tr>
 
  <tr><td>Cordialement, <i>Swiss-target.ch</i><br><br></tr></td></table>
  <table border="0" cellpadding="5" cellspacing="0" width="80%" align="center">
<tr><td colspan="3" bgcolor="#19431B">&nbsp;</td></tr>
</table>
  </body>
</html>';
 
$i=0;
$tmp=$debut+$limit;
$a=$tmp-$limit+1;
echo "<table align=\"center\">\n";
while ($i<$nombre) 
	{
	$To=mysql_result($requete,$i,"email");
	$test="Erreur : Mail non envoy&eacute;";
 
	if(mail("$To", "$sujet", "$newsmessage", "$headers")) {$test="Mail envoy&eacute;";}
	break;
 
	echo "<tr><td><font size=1><b>$a-</b> </font>$To</td><td><b>$test</b></td></tr>\n";
	$i++; $a++;
	}
echo "</table>\n";
 
$tmp=$debut+$limit;
if($tmp>$nb_total) {$tmp=$nb_total;}
echo "<br><br><b>$tmp</b> mails envoyés sur <b>$nb_total</b> !<br><br>";
 
$sujet=str_replace("\"","xxquotxx",$sujet);
$texte=str_replace("\"","xxquotxx",$texte);
Ensuite, est ce possible de faire un while dans du java ?

Pareil qu'avant avec le code ci dessous (avec while) je n'ai aucun résultat et si je l'enlève je n'ai qu'un seul résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
    <script type="text/javascript">//<![CDATA[
      function load()
        {
        if (GBrowserIsCompatible())
          {
          var map = new GMap2(document.getElementById("map"));
          map.setCenter(new GLatLng(46.818188, 8.227512), 7);
		  map.addControl(new GLargeMapControl3D());
		  map.enableScrollWheelZoom();
		  map.addControl(new GMapTypeControl());
		  map.addControl(new GOverviewMapControl());
		  map.addControl(new GScaleControl());
// "point" correspond aux coordonnées du marker
          while ($ligne = mysql_fetch_array ($result2,MYSQL_ASSOC)) {
		  var point = (new GLatLng(<?php echo $ligne["lat"]; ?>,<?php echo $ligne["lng"]; ?>));
		  };
 
 
// Initialisation d'un nouvel objet GIcon et de ses propriétés
          var MonIcon = new GIcon(G_DEFAULT_ICON);
          MonIcon.iconSize=new GSize(32,32);
          MonIcon.iconAnchor=new GPoint(16,32);
          MonIcon.image="images/purple-pushpin.png";
// Affichage du marker (repère)
          var marker = new GMarker(point,MonIcon);
          map.addOverlay(marker);
 
          }
        }
    //]]></script>
Est-ce que je rédige mal cette fonction ou ce n'est pas possible ?

Merci d'avance !

Mary