Bonjour. J'ai un problème de compatibilité. J'ai développé un petit gestionnaire de mailing liste en php5. Mais je dois l'installé sur un serveur php4 pour quelqu'un et après avoir transformé une partie du code, il reste un problème que je n'arrive pas à corriger: Si un courriel est abonnés à plusieur groupes, il me cré des doublons de la ligne ( si le courriel est en dans deux groupes, j'ai deux lignes identiques en sortie dans mon tableau...). Voici le code correspondant:
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
 
$tabCourrielComp = CourrielCollection::GetAllWithGrp();
// <script type="text/javascript" src="Inc/tablesort.js"></script>
$table_html = '
 
<script type="text/javascript" src="Inc/tablefilter.js"></script>
<script type="text/javascript" src="Inc/jquery-latest.pack.js"></script>
<script type="text/javascript" src="Inc/jquery.jeditable.js"></script>
<table id="theTable" cellpadding="0" cellspacing="0" class="sortable-onload-3 rowstyle-alternative" > 
	<thead>
  		<tr>
    		<th class="sortable">Nom</th>
    		<th class="sortable">Prénom</th>
    		<th class="sortable">Courriel</th>';
 
$tabGroupe = MailGrpCollection::GetAll();
 
$nbgroup = 0;
$j=1;
foreach ($tabGroupe as $grp)
{
	$table_html .= '<th class="">'.$grp->GetTitre('fr').'</th>';
	${"Grp_".$j} = $grp->GetId();
	$nbgroup++;$j++;
}
 
$table_html .= '
			<th class=""> </th>
		</tr>
  	</thead>
 
  <tbody>';
foreach ($tabCourrielComp as $courriel)
{
	for ($i=1;$i<=$nbgroup;$i++)
			{
				${"check_".$i} = '';${"value_".$i} = 'class="noninscrit">-</span>';
			}
	foreach ($tabCourrielComp as $courriel2)
	{
		if ($courriel->GetCourriel() == $courriel2->GetCourriel() AND $courriel->GetIdGrpCour() != $courriel2->GetIdGrpCour() AND $courriel->GetCourriel() != null)
		{
			for ($i=1;$i<=$nbgroup;$i++)
			{
				if (${"Grp_".$i} == $courriel2->GetIdGrpCour()) {${"check_".$i} = 'checked="checked"';${"value_".$i} = 'class="inscrit">Inscrit</span>';}
			}
			$courriel2->SetCourriel(null);
		}		
	}
	if ($courriel->GetCourriel() != null)
	{
		for ($i=1;$i<=$nbgroup;$i++)
			{
				if (${"Grp_".$i} == $courriel->GetIdGrpCour()) {${"check_".$i} = 'checked="checked"';${"value_".$i} = 'class="inscrit">Inscrit</span>';}
			}
		$table_html .= '
  		<tr id="tr_'.$courriel->GetId().'">
  			<td id="nom_'.$courriel->GetId().'" class="editable">'.$courriel->GetNom().'</td>
    		<td id="prenom_'.$courriel->GetId().'" class="editable">'.$courriel->GetPrenom().'</td>
    		<td id="courriel_'.$courriel->GetId().'" class="editable">'.$courriel->GetCourriel().'</td>
  		';
		for ($i=1;$i<=$nbgroup;$i++)
			{
				$table_html .= '<td><input id="check_'.$courriel->GetId().${"Grp_".$i}.'" value="" type="checkbox" onclick="changeStatut('.$courriel->GetId().${"Grp_".$i}.','.$courriel->GetId().','.${"Grp_".$i}.')" '.${"check_".$i}.'/><span id="statut_'.$courriel->GetId().${"Grp_".$i}.'" '.${"value_".$i}.'</td>';
			}
		$table_html .= '
			<td id="suppr_'.$courriel->GetId().'" class="suppr"><img src="Images/Btn/trash_16.gif" style="cursor: pointer;" title="Supprimer" onclick="supprCourriel('.$courriel->GetId().')" alt="Cliquer pour supprimer le courriel."/></td>
		</tr>';
	}
}
Je sais que les foreach posent problèmes avec php4, mais je ne vois pas comment faire autrement pour trier mon résultat...
Merci.