Grafikwechsel

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

  • Grafikwechsel

    Ich lasse eine Liste im Tabellenlayout aus einer DB ausgeben. Jetzt möchte ich dem Benutzter anzeigen welcher Eintrag neu ist und welcher nicht.

    Das Problem ist, er zeigt mir immer die gleiche Grafik an.

    PHP-Code:
        echo "<p><table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"1\" bgcolor=\"#f5f6fa\">";    
        echo 
    "<tr class=\"txt\">";
        
        echo 
    "<p>";
        
        if (
    $alt $row->rid);

        
    $isnew        '5';
        
    $isnewtime     time() - $isnew;
                
        if ( 
    $row->zeit $isnewtime ){    
        echo 
    "<td  width=\"30\" height=\"14\">
        <div align=\"center\"><img src=\"new.gif\" alt=\"Neu\" align=\"absmiddle\" width=\"30\" height=\"14\"></div></td>"
    ;    
        }
        
        if ( 
    $row->zeit $isnewtime ){
        echo 
    "<td  width=\"30\" height=\"14\">
        <div align=\"center\"><img src=\"cat.gif\" alt=\"Cat\" align=\"absmiddle\" width=\"10\" height=\"9\"></div></td>"
    ;
        }
        
        echo 
    "<td colspan=\"4\" width=\"100%\"><a href =$row->url class=\"menü\">$row->titel  </a> </td>";

        echo 
    "<td height=\"15\" width=\"50\"><div align=\"center\"> ($row->hits) </div></td>";
        echo 
    "<td height=\"15\" width=\"50\"></td>";
        echo 
    "<td height=\"15\" width=\"50\"></td>";
          echo 
    "</tr>";
            
        echo 
    "</table> <p>"
    in der ruhe liegt die kraft

  • #2
    was soll das?
    PHP-Code:
    if ($alt $row->rid); 
    Kissolino.com

    Kommentar


    • #3
      ok, hier ist mal der kompl. Code.

      PHP-Code:

                              <?php

       
      ###############################################
       # Die Datensätze auf mehrere Seiten aufteilen
       ###############################################    

          // Stellt fest ob eine Seitenzahl übermittelt worden ist
          
      $_GET['p'] = (!isset($_GET['p']) || $_GET['p'] == || empty($_GET['p'])) ? $_GET['p'];

          
      // Anzahl der Datensätze pro Seite
          
      $perpage 5;

          
      // Das obere und untere Limit
          
      $limitlower = ($_GET['p']-1)*$perpage+1;
          
      $limitupper $_GET['p'] * $perpage;

      $action = ( isset($_GET['action']) && !empty($_GET['action']) && (trim($_GET['action'])!="") ) ? $_GET['action'] : FALSE;
      $id = ( isset($_GET['id']) && !empty($_GET['id']) && (trim($_GET['id'])!="") ) ? $_GET['id'] : FALSE;

          if(
      $action == ""){
          
      $sql "SELECT a.id,a.rid,a.titel,a.url,a.beschreibung,a.zeit,a.hits,
                         b.rid,b.rubrik
                  FROM  links a INNER JOIN linkrubrik b
                  USING (rid)
                  WHERE a.rid=b.rid ORDER BY a.rid,a.id  limit "
      .($limitlower-1).",".$perpage;
          }
          
          if(
      $action == "sort"){
          
      $sql "SELECT a.id,a.rid,a.titel,a.url,a.beschreibung,a.zeit,a.hits,
                         b.rid,b.rubrik
                  FROM  links a INNER JOIN linkrubrik b
                  USING (rid)
                  WHERE a.rid=
      $_GET[id] ORDER BY a.id  limit ".($limitlower-1).",".$perpage;
          }
          
          
      // Enthält die Anzahl der Datensätze
          
      $sql_hits "select count(*) as hits from links";
          if(
      $id)$sql_hits .= " WHERE rid = $id ";
          
          
      $r_sql_hits mysql_query($sql_hits);
          
      $r_sql mysql_query($sql);

          if(
      $r_sql){
          
      $hits mysql_fetch_row($r_sql_hits);
          
      $hits $hits[0];
          
          
      $limitupper = ($limitupper $hits) ? $hits $limitupper;
          
      $limitlower = ($limitlower $hits) ? $hits $perpage $limitlower;
          
      $limitlower = ($limitlower <= 0) ? $limitlower;

          if(
      $hits==0){
          echo 
      " <div align=\"center\"> &laquo;&laquo; Keine Datensätze vorhanden &raquo;&raquo; </div>";
          
          }
          else
          {
          echo 
      '</p>';
          
      $alt='0';
               
          while (
      $row mysql_fetch_object($r_sql))
          {
       
      // Kategorien 
              
          
      if($row->rid != $alt)
          {
                  echo 
      "<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\" width=\"100%\" bgcolor=\"#333333\">";    
                  echo 
      "<tr>";    
                  echo 
      "<td width=\"100%\" height=\"14\" class=\"cattitel\">.: $row->rubrik</td>";
                  echo 
      "</tr>";
                  echo 
      "</table> ";
           }


       
      // Wenn die Kategorien gleich sind dann    
          
          
      echo "<p><table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"1\" bgcolor=\"#f5f6fa\">";    
          echo 
      "<tr class=\"txt\">";
          
          echo 
      "<p>";
          
          if (
      $alt $row->rid);

          
      $isnew        '5';
          
      $isnewtime     time() - $isnew;
                  
          if ( 
      $row->zeit $isnewtime ){    
          echo 
      "<td  width=\"30\" height=\"14\">
          <div align=\"center\"><img src=\"new.gif\" alt=\"Neu\" align=\"absmiddle\" width=\"30\" height=\"14\"></div></td>"
      ;    
          }
          
          if ( 
      $row->zeit $isnewtime ){
          echo 
      "<td  width=\"30\" height=\"14\">
          <div align=\"center\"><img src=\"cat.gif\" alt=\"Cat\" align=\"absmiddle\" width=\"10\" height=\"9\"></div></td>"
      ;
          }
          
          echo 
      "<td colspan=\"4\" width=\"100%\"><a href =$row->url class=\"menü\">$row->titel  </a> </td>";

          echo 
      "<td height=\"15\" width=\"50\"><div align=\"center\"> ($row->hits) </div></td>";
          echo 
      "<td height=\"15\" width=\"50\"></td>";
          echo 
      "<td height=\"15\" width=\"50\"></td>";
            echo 
      "</tr>";
              
          echo 
      "</table> <p>";     
          }
          
      }

          
      // Feststellen ob alles auf eine Seite passt
          
      $page = ($hits<$perpage) ? ceil($hits/$perpage);

          if(
      $_GET['p'] > 1){
          
      $left_arrow '<a href=index.php?p='.($_GET['p']-1).' class=nav> Back </a>';
          }else{
          
      $left_arrow '<span class="title"></span>';
      }

          if(
      $_GET['p'] > $page){
          
      $right_arrow '<a href="index.php?p='.($_GET['p']+1).'" class="nav"> Next </a>';

          }else{
          
      $right_arrow '<span class="nav">  </span>';
          
      $lastpage '<span class="nav">  </span>';
          }
          }

      ?>
      in der ruhe liegt die kraft

      Kommentar


      • #4
        schaust du dir bitte mal meinen oberen post an, analysierst diesen und stellst den/die fehler ab ...
        Kissolino.com

        Kommentar


        • #5
          Re: Grafikwechsel

          Original geschrieben von maffy
          PHP-Code:
          $isnew        '5';
          $isnewtime     time() - $isnew
          Also hier fallen mir schonmal zwei Sachen auf:

          1. du weisst $isnew einen String zu und willst diesen dann von einer Zahl subtrahieren und ich weiss nicht, ob PHP das richtig berechnet (bin z.Z. eher mit Java zu Gange ... und das würde jedenfalls aufschreien )

          2. $isnew sind ja nur 5 Sekunden ... also zeigt er nur Sachen als "neu" an, die höchsten 5 Seks in der DB stehen .. is das nich bissi wenig?
          [color=red]Geht nicht[/color] ist keine Fehlermeldung

          Kommentar


          • #6
            Eigendlich soll das so sein, dass er mir die Einträge der letzten 5 Tage als neu anzeigt.
            in der ruhe liegt die kraft

            Kommentar


            • #7
              du weisst $isnew einen String zu und willst diesen dann von einer Zahl subtrahieren und ich weiss nicht, ob PHP das richtig berechnet
              Das juckt php normalerweise nicht.

              @maffy
              für die letzten fünf tage muss $isnew=432000 sein (Sekunden von fünf tagen)

              Kommentar


              • #8
                Ich habe das jetzt so gemacht. Die Zeit muss ich noch entsprechend auf fünf Tage erhöhen.

                PHP-Code:
                     $time         time();
                    
                $diff         round("$time"86400");
                                    
                    if ( 
                $row->zeit $diff ){    
                    echo 
                "<td width=\"30\">
                    <div align=\"center\"><img src=\"new.gif\" alt=\"Neu\" align=\"absmiddle\" width=\"30\" height=\"14\"></div></td>"
                ;    
                    }else{
                    echo 
                "<td width=\"30\">";
                    echo 
                "<div align=\"center\"><img src=\"cat.gif\" alt=\"Cat\" align=\"absmiddle\" width=\"10\" height=\"9\"></div>";
                    echo 
                "</td>";
                    } 
                in der ruhe liegt die kraft

                Kommentar


                • #9
                  Und haut es nun hin, oder funktioniert es immernoch nicht ....

                  Wobei ich nicht kapiere, wozu das round() gut sein sein soll ... time() liefert immer ganze Zahlen zurück.

                  PHP-Code:
                  $diff time()-86400
                  Das würde es auch tun ... nur so als Zusatzinfo
                  [color=red]Geht nicht[/color] ist keine Fehlermeldung

                  Kommentar

                  Lädt...
                  X