Avatar billede expnet Seniormester
04. april 2013 - 10:26 Der er 9 kommentarer og
1 løsning

funcion med optælning

Hej

jeg sidder med et lille problem. Jeg har svært ved at løse, håber der en her inde der kan hjælpe mig med at løse det.


Der hvor jeg gerne vil have hjælp er, hvor i min kode står ´class="sub"´

Der ville jeg gerne have den talt op "sub1 sub2" i forhold til hvor mange under menuer der er.

<?
function RenderSubCate($array,$parent, $class = ''){
$html = "";
foreach($array as $category){

if($category['parent_id'] == $parent){
if($category['parent_id'] == 0){

$class = 'HvMenu';
$html .= "\t".'<div class="'.$class.'">'."";                   
$html .= "".'<a href="index.php?id='.$category['id'].'">'.$category['name'].'</a>' . "";
$html .= '</div>'."\n";
$html .= RenderSubCate($array, $category['id'], '');

}else{
$class = 'sub';
$html .= "\n\t".'<div class="'.$class.'">'."";
$html .= "".'<a href="index.php?id='.$category['id'].'">'.$category['name'].'</a>' . "";
$html .= "\t".'</div>'."\n";
$html .= RenderSubCate($array,$category['id'], $class);
}

}
}

return $html;
}
?>
Avatar billede rix Praktikant
04. april 2013 - 12:34 #1
Den får sin class fra §class hvis du skal have hjælp bliver du nådt til at vise koden hvor den bliver lalddt fra
Avatar billede jakobdo Ekspert
04. april 2013 - 12:47 #2
Måske et grimt hack, men test lige:

<?
function RenderSubCate($array, $parent, $class = ''){
  $html = "";
  foreach($array as $id => $category){
    if($category['parent_id'] == $parent){
      if($category['parent_id'] == 0){
        $class = 'HvMenu';
        $html .= "\t".'<div class="'.$class.'">'."";                   
        $html .= "".'<a href="index.php?id='.$category['id'].'">'.$category['name'].'</a>' . "";
        $html .= '</div>'."\n";
        $html .= RenderSubCate($array, $category['id'], '');
      }else{
        $class = 'sub' . $id;
        $html .= "\n\t".'<div class="'.$class.'">'."";
        $html .= "".'<a href="index.php?id='.$category['id'].'">'.$category['name'].'</a>' . "";
        $html .= "\t".'</div>'."\n";
        $html .= RenderSubCate($array,$category['id'], $class);
      }
    }
  }
  return $html;
}
?>
Avatar billede expnet Seniormester
04. april 2013 - 14:07 #3
Jakobdo -> der skrive den kun sub en gang med et nummer

det er planen at den bare skal opsamle nummerserie selv og skrive sub1 sub2 sub3 ud fra hvor mange submenuer jeg har under en hovedemenu med mellerum
Avatar billede expnet Seniormester
04. april 2013 - 14:10 #4
rix ->

min array bliver lave af denne kode

$menu = array();
$sql_kate = "select id, parent_id, name from cate order by id asc";
$kate = mysql_query($sql_kate);
while($rs = mysql_fetch_assoc($kate)){
    $menu[$rs['id']] = $rs;
}
Avatar billede jakobdo Ekspert
04. april 2013 - 14:22 #5
Ville det ikke være nemmere at smide en "tæller" med i din $menu ?

Og så bruge den i koden senere ?
Avatar billede expnet Seniormester
04. april 2013 - 14:35 #6
<div class="LeftMenu">

<div class="HvMenu"><a href="#1">Link 1-0</a></div>
<div class="HvMenu"><a href="#2">Link 2-0</a></div>
<div class="HvMenu"><a href="#3">Link 3-0</a></div>

    <div class="sub1"><a href="#6">Link 6-3</a></div>
        <div class="sub1 sub2"><a href="#7">Link 7-6</a></div>
    <div class="sub1"><a href="#8">Link 8-3</a></div>
        <div class="sub1 sub2"><a href="#9">Link 9-8</a></div>
            <div class="sub1 sub2 sub3"><a href="#10">Link 10-9</a></div>
   
<div class="HvMenu"><a href="#4">Link 4-0</a></div>
<div class="HvMenu"><a href="#5">Link 5-0</a></div>

</div>
Avatar billede expnet Seniormester
04. april 2013 - 14:36 #7
måske men der hvor den giver mig problemer er at jeg vil have at
jeg vil lige prøve at give eks på hvordan jeg ønsket "output"

Forklaring:
Link "ID" - "Parnet_id"

<div class="LeftMenu">

<div class="HvMenu"><a href="#1">Link 1-0</a></div>
<div class="HvMenu"><a href="#2">Link 2-0</a></div>
<div class="HvMenu"><a href="#3">Link 3-0</a></div>

    <div class="sub1"><a href="#6">Link 6-3</a></div>
        <div class="sub1 sub2"><a href="#7">Link 7-6</a></div>
    <div class="sub1"><a href="#8">Link 8-3</a></div>
        <div class="sub1 sub2"><a href="#9">Link 9-8</a></div>
            <div class="sub1 sub2 sub3"><a href="#10">Link 10-9</a></div>
   
<div class="HvMenu"><a href="#4">Link 4-0</a></div>
<div class="HvMenu"><a href="#5">Link 5-0</a></div>

</div>
Avatar billede jakobdo Ekspert
06. april 2013 - 21:41 #8
Hvad er din videre plan, siden du vil have disse klasser på ?
Skyldes det du vil folde menuerne ud og ind med noget jquery eller ?
Avatar billede expnet Seniormester
12. april 2013 - 17:41 #9
min plan er at style mouseover men at sub menuer skal flugte helt ud til hvor hvMenu starter men de skal være indbygget
Avatar billede expnet Seniormester
21. april 2013 - 11:10 #10
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Søstrene Grene skifter Microsoft ud med SAP og rykker for første gang i clouden i stor ERP-transformation: Der er brug for en helt ny tilgang