Neu eingetragenen Datensatz hervorheben. - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Achim (118 Beiträge) am Dienstag, 25.September.2001, 15:15.
    Neu eingetragenen Datensatz hervorheben.

      Ich benutze baseportal unter anderem um eine Highscoreliste zu führen.
      http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/GLT/Highscore1

      Nachdem ich nun mittels
      put ["Name",$Name1,"_Zeit_Minute",$Minuten1,"_Zeit_Sekunde",$Sekunden1,"_Zeit_Stunde",$Std,"Zuege",$Zuege1], "Highscore1";
      
      die Daten hinzugefügt habe, will ich in der folgenden
      Ausgabeschleife den aktuellen Eintrag hervorheben:

      $x = 1;
      get "Id==* sort=Zeit,Zuege", "Highscore1";
      while(get_next("Highscore1"))
      {
      if (($x <21) || ($Name eq $Name1))
      {
      if (($Name1 eq $Name) && ($Zuege1 eq $Zuege) && ($Zeitpunkt > (jetzt - 0.1)))
      {out "<tr bgcolor=#ffffef>";}
      else
      {
      out "<tr bgcolor=#ff";
      if ($x <21)
      {out int(10 - ($x / 2));}
      else
      {out "0";}
      out "000>";
      }
      out "<td align=middle>$x";
      out "</td><td align=right>";
      out datum($Zeit, "Minute:Sekunde");
      out "</td><td align=middle>$Zuege</td><td align=middle>$Name</td><td>";
      out datum($Zeitpunkt, "Tag0.Monat0.Jahr2 Stunde:Minute");
      out "</td></tr>";
      }
      $x++;
      }
      

      Leider funktioniert das nicht:
      Vom Prizip soll das Programm:
      1. alle Datenbankeinträge nach Bestzeit und Zuegeanzahl in einer Schleife durchlaufen und mit dem Zähler $x durchnumerieren - funktioniert
      2. Die ersten 20 Einträge und alle weiteren Einträge bei denen der Name übereinstimmt anzeigen - funktioniert
      3. den aktuell hinzugefügten eintrag hervorheben -
      funktioniert nicht.
      Ich wollte per
      if (($Name1 eq $Name) && ($Zuege1 eq $Zuege) && ($Zeitpunkt > (jetzt - 0.1)))
      
      denn Eintragezeitpunkt mit der aktuellen Zeit 10 Sekunden vergleichen.

      Was habe ich falsch gemacht???


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Achim (118 Beiträge) am Dienstag, 25.September.2001, 15:15.
    Neu eingetragenen Datensatz hervorheben.

      Ich benutze baseportal unter anderem um eine Highscoreliste zu führen.
      http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/GLT/Highscore1

      Nachdem ich nun mittels
      put ["Name",$Name1,"_Zeit_Minute",$Minuten1,"_Zeit_Sekunde",$Sekunden1,"_Zeit_Stunde",$Std,"Zuege",$Zuege1], "Highscore1";
      
      die Daten hinzugefügt habe, will ich in der folgenden
      Ausgabeschleife den aktuellen Eintrag hervorheben:

      $x = 1;
      get "Id==* sort=Zeit,Zuege", "Highscore1";
      while(get_next("Highscore1"))
      {
      if (($x <21) || ($Name eq $Name1))
      {
      if (($Name1 eq $Name) && ($Zuege1 eq $Zuege) && ($Zeitpunkt > (jetzt - 0.1)))
      {out "<tr bgcolor=#ffffef>";}
      else
      {
      out "<tr bgcolor=#ff";
      if ($x <21)
      {out int(10 - ($x / 2));}
      else
      {out "0";}
      out "000>";
      }
      out "<td align=middle>$x";
      out "</td><td align=right>";
      out datum($Zeit, "Minute:Sekunde");
      out "</td><td align=middle>$Zuege</td><td align=middle>$Name</td><td>";
      out datum($Zeitpunkt, "Tag0.Monat0.Jahr2 Stunde:Minute");
      out "</td></tr>";
      }
      $x++;
      }
      

      Leider funktioniert das nicht:
      Vom Prizip soll das Programm:
      1. alle Datenbankeinträge nach Bestzeit und Zuegeanzahl in einer Schleife durchlaufen und mit dem Zähler $x durchnumerieren - funktioniert
      2. Die ersten 20 Einträge und alle weiteren Einträge bei denen der Name übereinstimmt anzeigen - funktioniert
      3. den aktuell hinzugefügten eintrag hervorheben -
      funktioniert nicht.
      Ich wollte per
      if (($Name1 eq $Name) && ($Zuege1 eq $Zuege) && ($Zeitpunkt > (jetzt - 0.1)))
      
      denn Eintragezeitpunkt mit der aktuellen Zeit 10 Sekunden vergleichen.

      Was habe ich falsch gemacht???

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 25.September.2001, 23:30.
    Re: Neu eingetragenen Datensatz hervorheben.

      So ganz versteh ich Deine Rangehensweise noch nicht, aber mal sehen. Also Du schreibst, dass Du mit

      put ["Name",$Name1,"_Zeit_Minute",$Minuten1,"_Zeit_Sekunde",$Sekunden1,"_Zeit_Stunde",$Std,"Zuege",$Zuege1], "Highscore1";
      

      den neuen Eintrag schreibst - im selben Template? Wenn ja, dann weisst Du ja wie der aktuelle Eintrag aussieht und musst in der "get_next"-Schleife einfach danach abfragen (wie Du es ja fast schon hast):

      if($Name1 eq $Name && $Zuege1 eq $Zuege && datum($Zeit,"Stunde.Minute.Sekunde") eq "$Stunde1.$Minute1.$Sekunde1")
      
      ...

      ansonsten müsste Dein Ansatz schon auch funktionieren (ich gehe mal davon aus dass $Zeitpunkt den Zeitpunkt des Eintragens speichert), nur musst Du schreiben:

      if (($Name1 eq $Name) && ($Zuege1 eq $Zuege) && ($Zeitpunkt > datum("jetzt-.10")))
      

     Antworten


     
 Liste der Einträge von 56550 bis 56700:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.13s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!