Tabelleninhalte farblich formatieren

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

  • Tabelleninhalte farblich formatieren

    Hallo zusammen,

    ich bin, wie ja viele die hier verzweifelt posten, ein Noob und habe ein Problem:
    Ich möchte die Ausgabe eines Datum farblich formatieren. Das heißt: immer wenn ein Datum > Tagesdatum ist, dann (beispielsweise) in rot. Wenn Datum < Tagesdatum schwarz.

    Nur, wie?



    PHP-Code:
      // Farbe der Spalte ermitteln

        
    $datum=mktime(000date("d"), date("m"), date("Y"));
        
    $termin=mktime(000intval('$the_day'), intval('$the_month'), intval('$the_year'));
     
        if(
    $termin $datum)
        {
        
    $farbe '#000000';
        } 
        else
        {
         
    $farbe '#ffffff';
        } 
    Ich hab mal versucht das Tagesdatum mit dem Datum in der Datenbank zu vergleichen. Allerdings wendet er die Formatierung auf alle Werte dieser Spalte an:

    PHP-Code:
         // shows
            
    echo("\t<tr>\n\t\t<td  style='width:100px' style='border-bottom: 1px solid black;'>"
     
    "$the_artist_name"</td>\n");
            
            echo(
    "\t\t<td style='width:100px' style='border-bottom: 1px solid black;'>
    <font color='
    $farbe'>$the_day"." "$the_month"." "$the_year"</font></td>\n"); 
    Schlagt mich, beißt mich, gebt mir tiernamen, aber ich bin für jeden Tip sehr dankbar. ;-) Oder ein Link, wo ich was finden kann. Meine Suche hat bis jetzt nichts gebracht, weil ich nicht richtig weiß wonach ich suchen soll... Danke im Voraus!

    Gruß, Blues
    Zuletzt geändert von Bluesmaker; 01.03.2005, 23:22.

  • #2
    Den Link kriegste:

    http://php-resource.de/forum/showthr...threadid=50454

    Bitte zu Herzen nehmen
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      1. umbrich bitte deinen code, der fällt bei mir schon rechts vom schreibtisch

      2.
      PHP-Code:
      echo $termin=mktime(000intval('$the_day'), intval('$the_month'), intval('$the_year')); 
      was erhältst du als ausgabe?
      tipp: lass die ' ' weg

      3. was steht in $the_day & co ... =>echo?
      4. hier müsste ein parse_error kommen:
      PHP-Code:
      echo("..." "$the_artist_name"...\n"); 
      tipp: lass die " " zwischen den . weg

      5. to be continued
      Kissolino.com

      Kommentar


      • #4
        1. ok sorry.

        2. ohne die ' sieht es schon besser aus...
        ich will ein vergleichbares datum erhalten, da es sich bei $the_day &co um Datenbankfelder handelt. Also nicht ein Datenbankfeld für ein Datum sondern leider 3 verschiedene Felder.


        3. siehe 2.

        4. da errort gar nix ;-) Wenn ich die " weg mache, dann kommt ein parse error.

        5. Ich habe einige Daten in der Tabelle. Im Moment (nachdem ich in Punkt 2 die ' geklaut hab) wird aber nur ein Datum weiß dargestellt: 01.01.2005. Sehr merkwürdig.

        Weder 5.5.2005 noch 12.2.2005 werden beachtet...

        Kommentar


        • #5
          Original geschrieben von Bluesmaker
          ich will ein vergleichbares datum erhalten, da es sich bei $the_day &co um Datenbankfelder handelt. Also nicht ein Datenbankfeld für ein Datum sondern leider 3 verschiedene Felder.
          a) datum oder timestamp?
          b) 3 felder? ist aber doof ... wenn sich das nicht ändern lässt, schau dir CONCAT im mysql-manual an

          da errort gar nix ;-) Wenn ich die " weg mache, dann kommt ein parse error.
          stimmt, die stringverkettung ist nicht falsch, aber auch nicht sauber. allerdings solltest du auch nicht ALLE " entfernen, sondern eher so:
          PHP-Code:
          echo "bla".$irgendwas."blubb"
          5. Ich habe einige Daten in der Tabelle. Im Moment (nachdem ich in Punkt 2 die ' geklaut hab) wird aber nur ein Datum weiß dargestellt: 01.01.2005. Sehr merkwürdig.
          ohne zu wissen, wie du das innerhalb/ausserhalb einer schleife behandelst, wird es schwierig
          Kissolino.com

          Kommentar


          • #6
            Vielen Dank erst mal für die Erste Hilfe. Ich befürchte ich muss erst mal abbrechen, aber morgen sitz ich wieder am Problem.

            Du hast mir schon weiter geholfen. CONCAT werd ich mir mal anschauen, hört sich vielversprechend an...

            Gn8!

            Kommentar


            • #7
              Soderle. Nur noch eine kleine Rückmeldung: Mit der Hilfe eines Kollegen hat es jetzt so funktioniert wie es funktionieren solle:

              PHP-Code:
              TO_DAYS(CONCAT($database_table.year,'-',$database_table.month,'-',$database_table.day))
               
              datumsfeldTO_DAYS(CURRENT_TIMESTAMPheute 
              und



              PHP-Code:
              if($row["datumsfeld"] > $row["heute"])    // Farbe des Datums ermitteln
                      
              {
                      
              $farbe '#000000';
                      }
                      else
                      {
                       
              $farbe '#ffffff';
                      } 
              Vielen Dank nochmal. Klasse Forum. Schnelle Hilfe auch für absolute nixblicker wie mich

              Kommentar

              Lädt...
              X