[PHP] histoire de tableau et de explode

histoire de tableau et de explode [PHP] - Programmation

Marsh Posté le 07-02-2002 à 21:57:03    

Salut à tous,
 
J'ai un petit problème. J'ai une variable "section" qui contient, séparés par des virgules, les abbréviations des sections utilisables par un administrateur.
 
Ex: $section = "n,a,l"
 
Dans cet exemple, l'administrateur a le droit de gérer les news (n), les annonces (a) et les liens (l).
 
Mon problème est d'extraire les différentes lettres pour faire afficher un lien correspondant à la section autorisée.
 
Pour extraire d'entre les virgules il y a explode. Mais ensuite, il me faudrait une fonction à base de while je pense, mais je sais absolument pas comment faire. Je cherche dans la doc, là, mais j'ai du mal à trouver.
 
Donc en fait, l'algo regarde les lettres, et pour chaque lettre entre virgules qu'il trouve, me sort le lien vers cette section.
 
J'espère avoir été assez clair ;)
 
Merci :jap:

Reply

Marsh Posté le 07-02-2002 à 21:57:03   

Reply

Marsh Posté le 07-02-2002 à 22:17:59    

Bon, ben je me répond tout seul... Je devais pas m'être assez creusé la tête :D  
 
Pour ceux que ça intéresse, voilà le code:
 
<?
$query = "SELECT section FROM membres where pseudo='$pseudo_membre'";
$result = mysql_query("$query",$connexion);
$section = @mysql_result($result,0,"section" );
 
$param_section = explode(",",$section);
$nbre_param_section = count($param_section);
 
$i = 0;
while($i<$nbre_param_section)
{
$lien_param_section = $param_section[$i];
switch($lien_param_section)
{
case n:
$titre_param = "Gestion des News";
$url_param = "index.php?rub=membres/admin/gestion_news";
break;
case me:
$titre_param = "Ajouter un Média";
$url_param = "index.php?rub=membres/admin/ajout_media";
break;
case gm:
$titre_param = "Gestion des Médias";
$url_param = "index.php?rub=membres/admin/gestion_medias";
break;
case a:
$titre_param = "Gestion des Annonces";
$url_param = "index.php?rub=membres/admin/gestion_annonces";
break;
case re:
$titre_param = "Gestion des Rencontres";
$url_param = "index.php?rub=membres/admin/gestion_rencontres";
break;
case rs:
$titre_param = "Gestion des Résultats";
$url_param = "index.php?rub=membres/admin/gestion_resultats";
break;
case mb:
$titre_param = "Gestion des Membres";
$url_param = "index.php?rub=membres/admin/gestion_membres";
break;
case l:
$titre_param = "Gestion des Liens";
$url_param = "index.php?rub=membres/admin/gestion_liens";
break;
}
 
echo "<a href='$url_param'>$titre_param</a><br>";
$i++;
 
}
?>
 
@+

Reply

Marsh Posté le 07-02-2002 à 22:22:16    

Ton code, il ne marche pas ?

Reply

Marsh Posté le 07-02-2002 à 22:33:05    

Essais avec sa :
<?
$query = "SELECT section FROM membres where pseudo='$pseudo_membre'";  
$result = mysql_query("$query",$connexion);  
$section = @mysql_result($result,0,"section" );  
 
if (eregi('n', $section)==TRUE){
$titre_param = "Gestion des News";  
$url_param = "index.php?rub=membres/admin/gestion_news";  
echo "<a href='$url_param'>$titre_param</a><br>";  
}
if (eregi('me', $section)==TRUE){
$titre_param = "Ajouter un Média";  
$url_param = "index.php?rub=membres/admin/ajout_media";  
echo "<a href='$url_param'>$titre_param</a><br>";  
}
if (eregi('gm', $section)==TRUE){
$titre_param = "Gestion des Médias";  
$url_param = "index.php?rub=membres/admin/gestion_medias";  
echo "<a href='$url_param'>$titre_param</a><br>";  
}
if (eregi('a', $section)==TRUE){
$titre_param = "Gestion des Annonces";  
$url_param = "index.php?rub=membres/admin/gestion_annonces";  
echo "<a href='$url_param'>$titre_param</a><br>";  
}
if (eregi('re', $section)==TRUE){
$titre_param = "Gestion des Rencontres";  
$url_param = "index.php?rub=membres/admin/gestion_rencontres";  
echo "<a href='$url_param'>$titre_param</a><br>";  
}
if (eregi('rs', $section)==TRUE){
$titre_param = "Gestion des Résultats";  
$url_param = "index.php?rub=membres/admin/gestion_resultats";  
echo "<a href='$url_param'>$titre_param</a><br>";  
}
if (eregi('mb', $section)==TRUE){
$titre_param = "Gestion des Membres";  
$url_param = "index.php?rub=membres/admin/gestion_membres";  
echo "<a href='$url_param'>$titre_param</a><br>";  
}
if (eregi('l', $section)==TRUE){
$titre_param = "Gestion des Liens";  
$url_param = "index.php?rub=membres/admin/gestion_liens";  
echo "<a href='$url_param'>$titre_param</a><br>";  
}
?>
 
je ne te garanti rien

Reply

Marsh Posté le 07-02-2002 à 22:39:17    

bozocarzu a écrit a écrit :

Ton code, il ne marche pas ?  




 
Si il marche, et le tien aussi, bravo :jap:  
 
Mais je préfére le mien, comme ça je peux aussi mettre un <br> pour limiter le nombre de liens par ligne.
 
avec ça:
 
if(is_int($i/3))
{
echo "<br>";
}

 

[jfdsdjhfuetppo]--Message édité par haazheel--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 07-02-2002 à 22:40:52    

Merci, moi je suis plus dans le if que dans le while ;)

 

[jfdsdjhfuetppo]--Message édité par bozocarzu--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 07-02-2002 à 22:49:05    

bozocarzu a écrit a écrit :

Merci, moi je suis plus dans le if que dans le while ;)  




 
ben je t'avouerais que moi aussi, mais je me suis souvenu d'un script d'un moteur de recherche, et de tête j'ai retrouvé les différentes étapes, et c'était bon :D  
 
Allez , @+ :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed