2016-09-02 6 views
0

aktiv sein Wie kann ich eine bestimmte li machen, aktiv zu sein in einer while Schleife? Der Indikator wird der Wert der GET sein, die $subj = $_GET['subjdescr']; ist Ich bin schlecht bei Javascript und CSS. Kann mir jemand Ideen geben, wie das geht? Oder Hinweise.Wie kann ich eine bestimmte li in einer while-Schleife

Wenn ich die englische 2 klicken, möchte ich die 2 Englisch aktiv sein. Andernfalls, wenn ich auf Mathematik klicke, wird die Mathematik aktiv sein. enter image description here

hier ist mein Code.

<li><ul class="premium-menu nav nav-list collapse in"> 
    <?php 

    $subj = $_GET['subjdescr']; 

     $sql ="SELECT enroll_ref FROM std_enrolled WHERE stud_no = '$stud_no'"; 
      $result = mysqli_query($con, $sql); 

      while($row = mysqli_fetch_array($result)){ 
      $enroll_ref = $row['enroll_ref']; 
      } 



       $sql3 ="SELECT DISTINCT subj_descr FROM subj_enrolled WHERE enroll_ref = '$enroll_ref'"; 
      $results = mysqli_query($con, $sql3); 


      while($row = mysqli_fetch_array($results)){ 
      $subj_descr = $row['subj_descr']; 

    ?> 
    //i want the value of the subj_descr is equals to the value of get data $subj. 
<li <?=$subj_descr=='$subj'?'class="active"':'' ?> ><a href="viewlecture.php?subjdescr=<?php echo $subj_descr;?>"><span class="fa fa-caret-right"></span><?php echo ucwords(strtolower($subj_descr)); ?></a></li> 
    <?php 
     } 
    ?> 
</ul></li> 
+0

Sie zur Überprüfung stellen Sie die aktive Klasse , was das Problem ist? Sie haben CSS für den Active li eingestellt? –

+0

Sie sind alle aktiv. – nethken

Antwort

1

Verwendung staic variable

<?php 
    static $i =0; 
    while($row = mysqli_fetch_array($results)){ 
       $subj_descr = $row['subj_descr']; 

     ?> 

    <li class="<?php if($i == 0) { echo 'active'; } ?>"><a href="viewlecture.php?subjdescr=<?php echo $subj_descr;?>"><span class="fa fa-caret-right"></span><?php echo ucwords(strtolower($subj_descr)); ?></a></li> 
    <?php 
      ++$i; 
      } 
     ?> 
+0

Funktioniert nicht. Nur der erste Eintrag ist aktiv. Selbst wenn ich auf den zweiten Eintrag klicke, ist der erste Eintrag noch aktiv. – nethken

+0

Sie haben jquery zum Beispiel dafür verwendet werden //

  • Ein weiterer
  • +0

    Können Sie das konkretisieren Herr sein? Ich habe keine Kenntnisse über js .. – nethken

    0

    Verwendung eine Erklärung in Ihrem li

    while($row = mysqli_fetch_array($results)){ 
        $subj_descr = $row['subj_descr']; 
    ?> 
        <li <?=$subj_descr=='English 2'?'class="active"':'' ?>><a href="viewlecture.php?subjdescr=<?php echo $subj_descr;?>"><span class="fa fa-caret-right"></span><?php echo ucwords(strtolower($subj_descr)); ?></a></li> 
    <?php 
        } 
    ?> 
    
    +0

    Problem. Was sollte ich zu "Ihrem aktiven Wert" sagen? – nethken

    +0

    @nethken welche möchten Sie aktivieren? Hat es einen bestimmten Wert? – harrrrrrry

    +0

    Ich möchte aktivieren, was Benutzer klicken. Beispiel Ich habe auf "Englisch 2" geklickt. Ich möchte, dass das aktiv ist. – nethken

    Verwandte Themen