bestimmte ergebnissreihen hervorheben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • bestimmte ergebnissreihen hervorheben

    Hi, ich schaffe es nicht das ich bestimmte ergebnissreihen zb. mit anderer hintergrundfarbe hervorheben kann. ziel ist es die reihen hervorzuheben wo die "id" gleich der benutzerid ist.
    hier der code:
    PHP-Code:
    $resultmsg mysql_query("select DATE_FORMAT(uhrzeit,'%H:%i') as uhrzeit, bla... ORDER BY zeit LIMIT 20 ") ;
    //function show-daten
    function show_msg($resultmsg) {
        
    $rows mysql_num_rows($resultmsg);
        
    $cols mysql_num_fields($resultmsg);
        
        if(
    $rows>0) {
             echo 
    "<table width=100% align=center border=0>";
            echo 
    "<tr>";
            echo 
    "<td height=30>Pos</td>";
            echo 
    "<td height=30>von</td>";
            echo 
    "<td height=30>id</td>";
            echo 
    "<td height=30>betreff</td>";
            echo 
    "<td height=30>text</td>";
            echo 
    "<td height=30>Uhrzeit</td>";
            echo 
    "</tr>"
         }
    //Tabelleninhalt
            
            
    $farben=array('#cccccc','#e7e7e7');
            
    $i=1;
            while(
    $row mysql_fetch_array($resultmsg)) {
                
                
    $farbe = (next($farben)) ? current($farben) : reset($farben); 
                
            echo 
    "<tr bgcolor=$farbe>";
            echo 
    "<td align=center>$i</td>"
            echo 
    "<td align=center>$row[name]</td>";
            echo 
    "<td align=center>$row[id]</td>";
            echo 
    "<td align=center>$row[betreff]</td>";
            echo 
    "<td align=center>$row[text]</td>";
            echo 
    "<td align=center>$row[uhrzeit]</td>";
            echo 
    "</tr>\n";
            
    $i++;
            }
            
            echo 
    "</table>";
     } 
    die einzelnen reihen werden so zwar immer in untersch. farbe ausgegeben aber das nun zb. alle einträge die von "id 20" stammen die hintergrundfarbe rot bekommen bekomm ich nicht hin...
    ich hoffe ihr habt ne idee

  • #2
    PHP-Code:
        // $currentid muss die gewählte id sein
          
    $choose_farbe="#ff0000"// das rot (glaube ich 
                
    $farbe = ($row['id']==$currentid?$choose_farbe:
    ((
    next($farben)) ? current($farben) : reset($farben)); 
    H I L F E
    GD FreeType Antialising
    Gesuch PHP Entwicklungsumgebung
    ------------------------------------------
    Der Cmabrigde rael tset, sruf whoin du wlilst

    Kommentar


    • #3
      wow, danke für die schnelle antwort. habe den code direkt nach dem "while..." wie folgt eingefügt:
      PHP-Code:


      // $currentid muss die gewählte id sein
            
      $choose_farbe="#ff0000"// das rot (glaube ich 
                  
      $farbe = ($row['id']==$currentid?$choose_farbe:
      ((
      next($farben)) ? current($farben) : reset($farben))); 
      irgendwie is meine birne heute matsch und wäre auf diese lösung eh nie gekommen
      nun aber folgendes. die $currentid wird weiter oben bestimmt aber die farbe ändert sich nicht. wenn ich aus $farbe = ($row['id']==1000? mache dann werden alle einträge der id 1000 rot markiert... $currentid hat aber auch den wert 1000 jedoch passiert dann nix??!

      Kommentar


      • #4
        ..... $currentid hat aber auch den wert 1000 jedoch passiert dann nix??!
        das fällt schwer zu glauben, mach doch mal ein

        PHP-Code:
          echo $currentid;
         
        $farbe = ($row['id']==$currentid?$choose_farbe:
        ((
        next($farben)) ? current($farben) : reset($farben))); 
        hm oder mom hat bestimmt was mit den klammen zu tun

        PHP-Code:
        farbe = (($row['id']==$currentid)?$choose_farbe:
        ((
        next($farben)) ? current($farben) : reset($farben))); 
        probier das mal

        gruss

        rth
        H I L F E
        GD FreeType Antialising
        Gesuch PHP Entwicklungsumgebung
        ------------------------------------------
        Der Cmabrigde rael tset, sruf whoin du wlilst

        Kommentar


        • #5
          an den klammern lag es nicht.
          die $currentid wird am anfang des scripts bereits ausgelesen und hat zb. den wert "1000"
          aber weiter unten im script wo der teil mit der tabellenerstellung ist, is die $currentid dann scheinbar "leer"...warum weis ich aber nicht

          Kommentar


          • #6
            na dann häng mal das ganze script, als attachment dran.
            H I L F E
            GD FreeType Antialising
            Gesuch PHP Entwicklungsumgebung
            ------------------------------------------
            Der Cmabrigde rael tset, sruf whoin du wlilst

            Kommentar


            • #7
              hier der ganze relevante teil des scripts:
              PHP-Code:
              <?php

              session_start
              ();

              if(!
              session_is_registered('user')) {
                  
              header("location:index.php");
                  die;
              }    
              require(
              "rm_test-connect.inc.php");



                


              //allgemeine infos 
              $resultInf=mysql_query("SELECT id, name, from info WHERE id= '".$_SESSION['id']."' ");
                  while(
              $row=mysql_fetch_array($resultInf)) {
                      
              $currentid$row['id'];
                      
              $name$row['name'];
                      
                  }

              //tabelle auslesen
              $resultmsg mysql_query("select DATE_FORMAT(uhrzeit,'%H:%i') as uhrzeit, bla... ORDER BY zeit LIMIT 20 ") ;
              //function show-daten
              function show_msg($resultmsg) {
                  
              $rows mysql_num_rows($resultmsg);
                  
              $cols mysql_num_fields($resultmsg);
                  
                  if(
              $rows>0) {
                       echo 
              "<table width=100% align=center border=0>";
                      echo 
              "<tr>";
                      echo 
              "<td height=30>Pos</td>";
                      echo 
              "<td height=30>von</td>";
                      echo 
              "<td height=30>id</td>";
                      echo 
              "<td height=30>betreff</td>";
                      echo 
              "<td height=30>text</td>";
                      echo 
              "<td height=30>Uhrzeit</td>";
                      echo 
              "</tr>"
                   }
              //Tabelleninhalt
                      
                      
              $farben=array('#cccccc','#e7e7e7');
                      
              $i=1;
                      while(
              $row mysql_fetch_array($resultmsg)) {
                          
              $choose_farbe="#ff0000"
                         
              $farbe = ($row['rennstallid']==$currentid?$choose_farbe:
              ((
              next($farben)) ? current($farben) : reset($farben)));

                      echo 
              "<tr bgcolor=$farbe>";
                      echo 
              "<td align=center>$i</td>"
                      echo 
              "<td align=center>$row[name]</td>";
                      echo 
              "<td align=center>$row[id]</td>";
                      echo 
              "<td align=center>$row[betreff]</td>";
                      echo 
              "<td align=center>$row[text]</td>";
                      echo 
              "<td align=center>$row[uhrzeit]</td>";
                      echo 
              "</tr>\n";
                      
              $i++;
                      }
                      
                      echo 
              "</table>";
               }
              ?>

              und weiter unten dann:


              <table width="100%" border="0" cellspacing="0" cellpadding="0">
                        <tr>
                          <td width="3%">&nbsp;</td>
                          <td>
                            <?php show_msg($resultmsg); ?>
                          </td>
                          <td width="3%">&nbsp;</td>
                        </tr>
                      </table>

              //ENDE

              Kommentar


              • #8
                $currentid ist in der function nicht bekannt !!!

                PHP-Code:

                function show_msg($resultmsg) {
                    global 
                $currentid

                ... 

                dann klappt es !


                gruss rth
                H I L F E
                GD FreeType Antialising
                Gesuch PHP Entwicklungsumgebung
                ------------------------------------------
                Der Cmabrigde rael tset, sruf whoin du wlilst

                Kommentar


                • #9
                  wow, danke!!
                  nun funktioniert es...

                  kann ich davon ausgehen das variablen die ausserhalb einer funktion bestimmt werden zuerst mit "global $variable" der funktion bereitgestellt werden müssen um sie innerhalb der funktion zu benutzen?

                  Kommentar


                  • #10
                    ja das kanst du , lies hierzu auch mal

                    http://www.php.net/manual/de/languag...bles.scope.php


                    gruss rth
                    H I L F E
                    GD FreeType Antialising
                    Gesuch PHP Entwicklungsumgebung
                    ------------------------------------------
                    Der Cmabrigde rael tset, sruf whoin du wlilst

                    Kommentar


                    • #11
                      alles klar, wieder was gelernt
                      thx für deine hilfe

                      Kommentar

                      Lädt...
                      X