[php] boucles...

boucles... [php] - Programmation

Marsh Posté le 31-05-2002 à 17:11:27    

hello all'
 
donc voila, j'ai un script de logiciels et sur ma page "index" j'ai le nom des categories(avec liens) ainsi que les noms des sous categories(sans liens).
donc voila je limite le nombre de caracteres pour les sous categories et mettre "..." lorsqu'il yen a un certain nombre...
 
Mais le probleme c'est qu'au lieu d'avoir à l'ecran ceci (ce que je voudrai):
 

Citation :


- Internet (10 logiciels)
Navigateurs Communication Outils Webmasters Moteurs de Recherche Téléchargeurs Clients FTP Newsgroups Outils de Connection Serveurs FTP Partage de Fichiers...


 
et bien j'ai ça:
 

Citation :


- Internet (10)
Navigateurs...Communication...Outils Webmasters...Moteurs de Recherche...Téléchargeurs...Clients FTP...Newsgroups...Outils de Connection...Serveurs FTP...Partage de Fichiers...


 
je pense que le probleme vient des boucles mais je m'embrouille !!  :pt1cable:  
 
Donc si qunluqun pouvait m'aider, ça serait vraiment cool !!
 
merci d'avance  :hello:  
 
vla le code:
 

Citation :


while ($ss_cat = mysql_fetch_array($result2))  
 {
 if (strlen($ss_cat[nom])>60) //vla la le fonction pour limiter le nb de cara
 {
 echo("<a href=\"index.php?p=scriptsphp3/logiciels/inside_ss_cat&ss_cat=$ss_cat[id]\" class=\"ss_cat_index\">" . stripslashes($ss_cat['nom']) . "</a>  " );      
 }
 echo '<font color=white>'.substr($ss_cat[nom], 0, 125)."..."; //vla les "..."  
 }
 echo ("<p>" );
 }
  }

 

[jfdsdjhfuetppo]--Message édité par ludo2604 le 31-05-2002 à 17:12:30--[/jfdsdjhfuetppo]


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 31-05-2002 à 17:11:27   

Reply

Marsh Posté le 31-05-2002 à 18:20:55    

tu fais un echo"..."; en dehors de ta boucle si tu le veux qu'une fois :sarcastic:


---------------
All we need is a soul revolution
Reply

Marsh Posté le 31-05-2002 à 18:33:25    

arf, oui merci mais en fait ça debouche sur un autre probleme que je viens de remarquer, c'est que mon code là, il ne limite le nombre de caracteres qu' à un nom de sous categorie seulement et pas plusieurs, moi je veux qu'il limite les caracteres de touts les noms reunis...
Vous comprenez ??


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 31-05-2002 à 18:47:22    

Concatène tes chaînes dans une seule grande chaîne et teste ensuite la longueur de cette chaîne finale.

Reply

Marsh Posté le 31-05-2002 à 19:49:24    

oulla !! hé jsuis debutant moi... :sweat:

Reply

Marsh Posté le 31-05-2002 à 20:52:37    

Est-ce que ce que tu cherches à faire c'est ça :
 
 - Internet
Navigateurs Communication Outils Webmasters Moteurs de Recherche Téléchargeurs Clients FTP Newsgroups Outils de Connection Serveurs FTP Partage de Fichiers...
 
C'est-à-dire, un lien sur la catégorie (Internet), mais pas de lien sur les sous-catégories (Navigateurs....) ?

Reply

Marsh Posté le 31-05-2002 à 20:54:24    

Salut ludo, j'ai deja utilisé ce principe moi je procede comme ca :
 
$taillemax=15;
if(strlen($mot)>$taillemax)    
   {
   for($i=0;i<=$taillemax;$i++)
      {
      echo $mot[i];
      }
    echo "...";
   }
else
   {
   echo $mot;
   }
 
voila c tout con
 
a+

 

[jfdsdjhfuetppo]--Message édité par SquiiiD le 31-05-2002 à 20:55:57--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 31-05-2002 à 22:30:50    

gm_superstar a écrit a écrit :

Est-ce que ce que tu cherches à faire c'est ça :
 
 - Internet
Navigateurs Communication Outils Webmasters Moteurs de Recherche Téléchargeurs Clients FTP Newsgroups Outils de Connection Serveurs FTP Partage de Fichiers...
 
C'est-à-dire, un lien sur la catégorie (Internet), mais pas de lien sur les sous-catégories (Navigateurs....) ?  




 
yes c exactement ça !!!
 
sinon squiiid bah merci mais mon truc ça à peu pres pareil je pense ...


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 31-05-2002 à 23:34:29    

ludo2604 a écrit a écrit :

yes c exactement ça !!!



Bon alors je vois pas comment ton bout de script du premier post peut faire ça ;)
 
Dans ce cas, pourquoi tu testes la longueur de chaque string ? Il vaut mieux décider d'un nombre maximal de sous-catégories que tu veux afficher (soit $SS_CAT_MAX ce nombre) et ensuite pour chaque catégorie, si le nombre de sous-catégories dépasse $SS_CAT_MAX, on affiche les ... sinon on les affiches toutes.
 
Déjà, tu commences par définir une variable qui détermine, pour chaque catégories, le nombre de sous-catégories à afficher :

Code :
  1. $SS_CAT_MAX = 8;


 
Ensuite tu modifies la requète qui permet d'obtenir, pour chaque catégorie, la liste des sous catégories. Je suppose que c'est un truc du style :

Code :
  1. $requete = "SELECT * FROM table_des_sous_categories WHERE categorie = 'id_de_la_categorie' LIMIT 0,$SS_CAT_MAX


 
La clause LIMIT 0,$SS_CAT_MAX permet de ne sélectionner que les $SS_CAT_MAX premières sous catégories.
 
Donc si je reprends ton code :

Code :
  1. while ($ss_cat = mysql_fetch_array($result2)) {
  2.   echo stripslashes($ss_cat["nom"]) . "  ";
  3. }
  4. echo "...";


 
Qui va afficher, pour la catégorie Internet :
Navigateurs  Communication  Outils Webmasters  Moteurs de Recherche  Téléchargeurs  Clients FTP  Newsgroups  Outils de Connection  ...
 
Soit les 8 premières catégories

Reply

Marsh Posté le 31-05-2002 à 23:47:56    

oui voila c'est tout a fait ça cera plus simple :) merci beaucoup ca marche nickel merci à toussssssssssss aussiiiiiiiiiiiiii  :)


---------------
Make Portraits, Not War!  
Reply

Sujets relatifs:

Leave a Replay

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