Ankündigung

Einklappen
Keine Ankündigung bisher.

Hilfe!!

Einklappen

Neue Werbung 2019

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

  • Hilfe!!

    Hallo an alle...hab ein kleines Newsscript geschrieben...mithilfe dieser Seite
    http://tut.php-q.net
    hab das einfach Newsscript genommen dazu ein Formular geschrieben und versucht die Funktionen aus dem erweiterten Teil eingebaut..das Loginscipt hab ich auch drin eingebaut...

    der Quellcode für die news.php sieht jetzt so aus...
    Code:
    <?php
     echo "<h2>News</h2>\n";
    	define('DATE_STYLE', '%d.%m.%Y %T Uhr');
    	define('LIMIT_NUM', 10);
        $sql = "SELECT
                    COUNT(*) as Anzahl
                FROM
                    news;";
        $result = mysql_query($sql) OR die(mysql_error());
    
        $anzahl = mysql_result($result, 0);
        $start  = isset($_GET['page'])?(int)$_GET['page']:1;
        /* Die Syntax von ... = .... ? .... : ....;
         * kann man auf
         * http://www.php.net/manual/de/language.expressions.php
         * nachlesen.
         */
        if(!defined('LIMIT_NUM')) {
            die("Benötigte Konstante LIMIT_NUM ist nicht definiert");
        }
    
        // Anzahl der Pages berechnen.
        $num_pages = ceil($anzahl/LIMIT_NUM);
    
        // Anzahl auf min. 1 setzen
        if(!$num_pages) {
            $num_pages = 1;
        }
    
        // Die Start-Page muss zwischen
        // 1 und $num_pages liegen
        if($start < 1) {
            $start = 1;
        }
        if($start > $num_pages) {
            $start = $num_pages;
        }
    
        // offset für den Query bestimmen
     $offset = ($start - 1) * LIMIT_NUM;
     
    	$sql = "SELECT
                    Autor,
    				Titel,
                    Inhalt,
                    DATE_FORMAT(Datum, '".DATE_STYLE."') AS Changedatum
                FROM
                    News
                ORDER BY
                    Datum DESC
    			LIMIT
                   ".$offset.",".LIMIT_NUM.";";
        $result = mysql_query($sql) OR die(mysql_error());
    	$row = mysql_fetch_assoc($result);
    
    	$email = $row['Autor'];
    	
    	$sql_E = "SELECT
                    Email
                FROM
                    users
                WHERE
    				Name = '$email'";
        $result_E = mysql_query($sql_E) OR die(mysql_error());
    	$row_E = mysql_fetch_assoc($result_E);
    	
        if(mysql_num_rows($result)) {
           while($row = mysql_fetch_assoc($result)) {
                echo "<div class=\"newseintrag\">\n";
                echo "    <div class=\"Datum\">\n";
                echo $row['Changedatum'];
               echo "    </div>\n";
                echo "    <div class=\"Titel\">\n";
                echo $row['Titel'];
                echo "    </div>\n";
    			echo "    <div class=\"Name\">\n";
    			echo "<a href=mailto:".$row_E['Email']." title=".$row['Autor'].">".$row['Autor']."</a>";
                echo "    </div>\n";
                echo "    <div class=\"Inhalt\">\n";
                echo nl2br($row['Inhalt']); // \n in 
     umwandeln
                echo "    </div>\n";
                echo "</div>\n";
            }
        } else {
            echo"
    
    Keine News vorhanden</p>\n";
        }
    	// Page-Links nur anzeigen, wenn es mehr als eine sind.
        if($num_pages > 1) {
            echo "
    
    \n";
            for($i = 1; $i <= $num_pages; $i++) {
                if($i == $start) {
                    // ich bin ja schon auf der Seite. Also
                    // Seitenzahl ohne Link erzeugen
                    echo $i."\n";
                } else {
                    echo "<a href=\"index.php?section=news&amp;page=".$i."\">\n";
                    echo $i."\n";
                    echo "</a>\n";
                }
            }
            echo "</p>\n";
        }
    ?>
    So jetzt zum Fehler und zwar schreib ich eine News rein..und sie wird erst angezeigt wenn man danach noch eine geschrieben hat..sie wird sozusagen verschluckt...wisst ihr warum...? Bitte helft mir..ich bin Anfänger........


  • #2
    pack das ganze mal in die [ PHP ] Tags...

    ich würd auf nen fehler mit LIMIT tippen.. habs ma aber jetzt ned ganz angeschaut..


    mfg
    Andi

    Kommentar


    • #3
      php Tags???
      Ähm...was sind das....?? Und wie mach ich das

      Kommentar


      • #4
        Anstatt [.code] nimmst du [.php] ..
        http://phpfriend.de/forum/faq.php#21

        Gib mal deine SQL-Anweisung aus und schreib sie hier rein.
        privater Blog

        Kommentar


        • #5
          So das ist das jetzt hier..
          PHP-Code:
          <?php
           
          echo "<h2>News</h2>\n";
              
          define('DATE_STYLE''%d.%m.%Y %T Uhr');
              
          define('LIMIT_NUM'10);
              
          $sql "SELECT
                          COUNT(*) as Anzahl
                      FROM
                          news;"
          ;
              
          $result mysql_query($sql) OR die(mysql_error());

              
          $anzahl mysql_result($result0);
              
          $start  = isset($_GET['page'])?(int)$_GET['page']:1;
              
          /* Die Syntax von ... = .... ? .... : ....;
               * kann man auf
               * [url]http://www.php.net/manual/de/language.expressions.php[/url]
               * nachlesen.
               */
              
          if(!defined('LIMIT_NUM')) {
                  die(
          "Benötigte Konstante LIMIT_NUM ist nicht definiert");
              }

              
          // Anzahl der Pages berechnen.
              
          $num_pages ceil($anzahl/LIMIT_NUM);

              
          // Anzahl auf min. 1 setzen
              
          if(!$num_pages) {
                  
          $num_pages 1;
              }

              
          // Die Start-Page muss zwischen
              // 1 und $num_pages liegen
              
          if($start 1) {
                  
          $start 1;
              }
              if(
          $start $num_pages) {
                  
          $start $num_pages;
              }

              
          // offset für den Query bestimmen
           
          $offset = ($start 1) * LIMIT_NUM;
           
              
          $sql "SELECT
                          Autor,
                          Titel,
                          Inhalt,
                          DATE_FORMAT(Datum, '"
          .DATE_STYLE."') AS Changedatum
                      FROM
                          News
                      ORDER BY
                          Datum DESC
                      LIMIT
                         "
          .$offset.",".LIMIT_NUM.";";
              
          $result mysql_query($sql) OR die(mysql_error());
              
          $row mysql_fetch_assoc($result);

              
          $email $row['Autor'];
              
              
          $sql_E "SELECT
                          Email
                      FROM
                          users
                      WHERE
                          Name = '
          $email'";
              
          $result_E mysql_query($sql_E) OR die(mysql_error());
              
          $row_E mysql_fetch_assoc($result_E);
              
              if(
          mysql_num_rows($result)) {
                 while(
          $row mysql_fetch_assoc($result)) {
                      echo 
          "<div class=\"newseintrag\">\n";
                      echo 
          "    <div class=\"Datum\">\n";
                      echo 
          $row['Changedatum'];
                      echo 
          "    </div>\n";
                      echo 
          "    <div class=\"Titel\">\n";
                      echo 
          $row['Titel'];
                      echo 
          "    </div>\n";
                      echo 
          "    <div class=\"Name\">\n";
                      echo 
          "<a href=mailto:".$row_E['Email']." title=".$row['Autor'].">".$row['Autor']."</a>";
                      echo 
          "    </div>\n";
                      echo 
          "    <div class=\"Inhalt\">\n";
                      echo 
          nl2br($row['Inhalt']); // \n in 
           
          umwandeln
                      
          echo "    </div>\n";
                      echo 
          "</div>\n";
                  }
              } else {
                  echo
          "

          Keine News vorhanden</p>\n"
          ;
              }
              
          // Page-Links nur anzeigen, wenn es mehr als eine sind.
              
          if($num_pages 1) {
                  echo 
          "

          \n"
          ;
                  for(
          $i 1$i <= $num_pages$i++) {
                      if(
          $i == $start) {
                          
          // ich bin ja schon auf der Seite. Also
                          // Seitenzahl ohne Link erzeugen
                          
          echo $i."\n";
                      } else {
                          echo 
          "<a href=\"index.php?section=news&amp;page=".$i."\">\n";
                          echo 
          $i."\n";
                          echo 
          "</a>\n";
                      }
                  }
                  echo 
          "</p>\n";
              }
          ?>
          SQL-Anweisung....??

          Kommentar


          • #6
            Grundlagen?
            Code:
            $sql = "SELECT
                            Autor,
                            Titel,
                            Inhalt,
                            DATE_FORMAT(Datum, '".DATE_STYLE."') AS Changedatum
                        FROM
                            News
                        ORDER BY
                            Datum DESC
                        LIMIT
                           ".$offset.",".LIMIT_NUM.";";
            Das mal ausgeben lassen. Was steht in deinem Fall in $offset?
            privater Blog

            Kommentar


            • #7
              $offset = 0;

              werden 10 Werte ausgegeben..

              Kommentar

              Lädt...
              X