8798 sujets

Développement web côté serveur, CMS

Bonjour

Je souhaiterais numéroter mes titres de façon automatique avec des illustrations Smiley eek .

Pour ce faire, j’utilise une variable tableau « $_num_actuel » pour enregistrer le numéro d’ordre actuel de chaque niveau de titre (h1, h2, h3, h4, h5, h6)

Cette variable ($_num_actuel ) est transmise à une fonction appelée par chaque titre rencontré. Cette fonction recalcule les numéros d’ordre de chaque niveau en fonction du niveau du titre appelant.

Malheureusement, j’ai un véritable problème avec les variables tableau et j’ai des messages « Array » en lieu et place de mon résultat Smiley sweatdrop

Voici mon code de la page


// en debut de chaque page
// inisialisation du tableau
// tout les titre sont a zero
$_num_actuel=array();

for ($nb_boucle =1 ; $nb_boucle < 7; $nb_boucle++){
    $_num_actuel[$nb_boucle]=$nb_boucle;
}

//Avant chaque titre rencontré
// demande de calcul des numeros d'ordre de chaque niveau
$_num_actuel=GestionH($niveauh,$_num_actuel);

// j'appel alors une fonction pour afficher les immage
// avec comme paramètre
          //le niveau herarchique,
          //le numero d'ordre
          //le nombre de digit souhaité (gestion des 0 devant)
// Si dessous affichage du titre <h3> sur 4 digits
NumChapitre(3,$_num_actuel(3),4)."TEXTE DU TITRE </h3>";




code Fonction


//On fourni le niveau du titre 1 pour h1, 2 pour h2.....
//On fourni egalement le tableau des numero d'ordre actuel de chaque niveau.

function GestionH($niveauh,$_num_actuel)
{

// +1 sur niveau actuelle
// retour a 1 des niveau inferieur.
    switch ($niveauh) {
        
    case 1:
        $_num_actuel[1]++;
        $_num_actuel[2]=1;
        $_num_actuel[3]=1;
        $_num_actuel[4]=1;
        $_num_actuel[5]=1;
        $_num_actuel[6]=1;

        break; 

    case 2: 
        $_num_actuel[2]++;
        $_num_actuel[3]=1;
        $_num_actuel[4]=1;
        $_num_actuel[5]=1;
        $_num_actuel[6]=1;

        break; 

    case 3: 
        $_num_actuel[3]++;
        $_num_actuel[4]=1;
        $_num_actuel[5]=1;
        $_num_actuel[6]=1;

        break; 

    case 4: 
        $_num_actuel[4]++;
        $_num_actuel[5]=1;
        $_num_actuel[6]=1;
        break;

    case 5: 
        $_num_actuel[5]++;
        $_num_actuel[6]=1;
        break;

    case 6: 
        $_num_actuel[6]++;
        break; 
        
    default:  
         break;
    }
    
    return ($_num_actuel);
}

upload/29083-titre.jpg
Salut, J'ai pas bien compris ce que tu veux faire mais dans le code j'ai vu ça :
NumChapitre(3,$_num_actuel(3),4)."TEXTE DU TITRE </h3>";


$_num_actuel(3) n'est pas une fonction mais un array... essaye peut etre avec $_num_actuel[3] Smiley smile
Merci de cette réponse. Je teste tout de suite.

Le problème semble venir d'autre part.

L'objectif est de substituer aux numérotations des titres qu'il est possible d'avoir avec le css (counter....) par une image pour chaque chiffre avec son reflet.

Apres de nombreuse recherche j'ai trouver la solution.


AJOUTER un "&" a la variable de ma fonction
function GestionH($niveauh,&$_num_actuel)

Il me faut encore comprendre la notion de modification de valeur d'une variable d'un script (une variable globale) grâce aun passage de variable par référence !!!!!!!!! Smiley biggol
Modifié par loloH77 (08 Feb 2011 - 10:29)