Ankündigung

Einklappen
Keine Ankündigung bisher.

Newsscript sortiert nicht so richtig

Einklappen

Neue Werbung 2019

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

  • Newsscript sortiert nicht so richtig

    Hallo zusammen, da ich mit anderen Foren nicht zufrieden bin und keine Antwort erhalten probiere ich es hier einmal hoffe Ihr seid besser .
    Also nun einmal zu meinem Problem ich habe versucht mir ein Newsscript zu schreiben alles schön und gut jedoch sortiert er mir die ausgabe nicht richtig.
    Also hier meine kurzen SCripte.


    Script zum eintragen in die Datenbank

    Code:
     <?php
     session_start();
     //timerabfrage
     $time = time();
    //Datenbank speichern
    $mysql = mysql_connect("localhost", "web64", "passwort")or die ("Keine Verbindung moeglich");
    $db = "usr_web64_1";
    $abfrage= "INSERT INTO news (User, Ueberschrift, News, Time) VALUES('$UserName', '$ueberschrift', '$newslang', '$time')";
    mysql_db_query($db, $abfrage, $mysql);
    
    echo " News wurden erfolgreich hinzugefügt.Sie werden automatisch auf die Hauptseite zurück geleitet"; ?>
    So das eintragen in die Datenbnak funktioniert perfekt alle Daten drin so wie ich sie haben will besonders die UnixTime

    So und nun will ich das alles wieder schön brav abraufen

    2 Script (abrufen)

    Code:
    <?php
      include 'inc/functions.inc.php';
    
      // Verbindung zur Datenbank herstellen
     mysql_connect("localhost", "web64", "datenbank")
    or die("Keine Verbindung möglich: " . mysql_error());
    mysql_select_db("usr_web64_1");
    
    
      $Zeilen_pro_Seite = 20;
      
      if (!isset($Anfangsposition)) {
      $Anfangsposition = 0;
    }
    
    $sql="select * from news limit $Anfangsposition,$Zeilen_pro_Seite";
    $result=mysql_query($sql);
    $result1=mysql_query("SELECT ID, User, Ueberschrift, News, Time  FROM news ORDER BY Time DESC");
    
    $Anzahl=mysql_num_rows($result1);
    while ($row=mysql_fetch_array($result)) {
    $timestamp=$row['Time'];
    $datum = date("d.m.Y",$timestamp);
    $id = $row['ID'];
    
    $news_format= formattext($row['News'], $smilies, $smiliespath, $myBoardCodeTags, $texthtml);
    ?>
    hier ein bissel HTML mit der ausgabe aber ich denke das ist unwichtig

    so und weiter

    Code:
     <?php
    
        }
    
    echo "<div align=\"center\">";
    if($Anfangsposition > 0) {
      //echo "[erste Seite] ";
      $back=$Anfangsposition-$Zeilen_pro_Seite;
      if($back < 0) {
        $back = 0;
      }
         echo "<a href=\"index.php?Anfangsposition=$back\">[zur&ck]</a> ";
    }
    
    if($Anfangsposition < $Anzahl-$Zeilen_pro_Seite) {
      $fwd=$Anfangsposition+$Zeilen_pro_Seite;
      echo "<a href=\"index.php?Anfangsposition=$fwd\"> [weiter]</a> ";
      $fwd=$Anzahl-$Zeilen_pro_Seite;
      //echo "<a href=\"index2.php?Anfangsposition=$fwd\">[letzte Seite]</a> ";
    }
    
    echo"
    ";
    if($Anzahl>$Zeilen_pro_Seite) {
      $Seiten=intval($Anzahl/$Zeilen_pro_Seite);
      if($Anzahl%$Zeilen_pro_Seite) {
        $Seiten++;
      }
    }
    
    for ($i=1;$i<=$Seiten;$i++) {
      $fwd=($i-1)*$Zeilen_pro_Seite;
      echo "<a href=\"index.php?Anfangsposition=$fwd\">$i</a> ";
    }
    
    ?>
    Hoffentlich könnt Ihr mir weiter helfen so weiß ich wirklich nicht mehr weiter.

    Auf Antwort wird gehoft

    Danke im vorraus

  • #2
    ja hat der hier gar keiner eine idee

    Kommentar


    • #3
      Re: Newsscript sortiert nicht so richtig

      Zitat von Trexx83
      jedoch sortiert er mir die ausgabe nicht richtig.
      Also hier meine kurzen Scripte.
      Wie sollen Sie sortiert werden und wie werden sie sortiert?

      wilko

      Kommentar


      • #4
        Zitat von Trexx83
        ja hat der hier gar keiner eine idee
        immer mit der ruhe

        nun ja.
        also du sagst:
        jedoch sortiert er mir die ausgabe nicht richtig.
        ja und was ist richtig und falsch?

        wo liegt genau der fehler?
        bekommst du eine ausgabe oder sogar eine fehlermeldung?
        benutze generell mal mysql_error() .. nicht spezifisch für diesen fall, sondern immer.

        grüße ben
        [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

        Kommentar


        • #5
          Sie sollen nach der Time sortiert werden (unixtime) das neuste immer oben.

          Und @ Ben er gibt mir was aus jedoch nach Lust und laune wie es mir scheint manschmal am anfang und manchmal am ende

          Kommentar


          • #6
            Du benutzt
            Code:
            ORDER BY Time DESC
            Wenn dein Feld Time heißt, sollte das genau den richtigen Effekt bieten!

            Kommentar


            • #7
              ja das macht es ja eben nicht im phpmyadmin ist das kein prop da läuft es . nur im script selbst net

              Kommentar


              • #8
                verwende mal mysql_error()
                [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                Kommentar


                • #9
                  du meinst so :

                  Code:
                   <?php mysql_query("select * from news order by Time desc") or die ("Fehler");  ?>
                  Kommt aber auch kein Fehler.
                  Also die Unix time steht in der Datenbank 100% drin und das in einem int feld

                  Kommentar


                  • #10
                    Zitat von Trexx83
                    und das in einem int feld
                    warum INT?
                    [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                    Kommentar


                    • #11
                      Hehe....ersetz mal die while gegen das:


                      Code:
                      while ($row=mysql_fetch_assoc($result)) {
                      wilko

                      Kommentar


                      • #12
                        Zitat von Ben
                        warum INT?
                        Weil man sonst nicht sortieren könnte! Weil Varchar nur das 1. Symbol nimmt...

                        wilko

                        Kommentar


                        • #13
                          hat mich auch nicht weiter gebracht ich bin ma so böse und poste hier das ganze abruf script
                          Code:
                           <?php
                            include 'inc/functions.inc.php';
                          
                            // Verbindung zur Datenbank herstellen
                           mysql_connect("localhost", "web64", "passwort")
                          or die("Keine Verbindung möglich: " . mysql_error());
                          mysql_select_db("usr_web64_1");
                          
                          
                            $Zeilen_pro_Seite = 20;
                            
                            if (!isset($Anfangsposition)) {
                            $Anfangsposition = 0;
                          }
                          
                          $sql="select * from news limit $Anfangsposition,$Zeilen_pro_Seite";
                          $result=mysql_query($sql);
                          $result1=mysql_query("select * from news order by Time asc") or die ("Fehler");
                          
                          $Anzahl=mysql_num_rows($result1);
                          while ($row=mysql_fetch_assoc($result)) {
                          $timestamp=$row['Time'];
                          $datum = date("d.m.Y",$timestamp);
                          $id = $row['ID'];
                          
                          $news_format= formattext($row['News'], $smilies, $smiliespath, $myBoardCodeTags, $texthtml);
                          ?>
                          <body bgcolor="#EBDFB8" link="#AE9333" vlink="#AE9333" alink="#AE9333">
                          <table width="597" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" align="center" height="65">
                            <tr>
                                <td bordercolor="#FFFFFF" valign="top" height="87">
                                  
                                <table width="100%" border="0" cellspacing="0" cellpadding="0" bordercolor="#CCCCCC" bgcolor="#CCCCCC">
                                  <tr bordercolor="#FFFFFF" bgcolor="#333333">
                                      <td width="439"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#333333">
                                        <font color="#FFFFFF"> 
                                        <?php echo $row['Ueberschrift']; ?>
                                         geschrieben von :
                                        <?php echo $row['User']; ?>
                                        </font></font></td>
                                      <td width="119">
                                        <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">
                                          <?php echo $datum; ?>
                          
                                          </font></div>
                                      </td>
                                    </tr>
                                  </table>
                                  
                          
                          <font face="Verdana, Arial, Helvetica, sans-serif" size="1">
                                    <?php echo $news_format; ?>
                                    
                          
                                    </font></p>
                                  
                                <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                  <tr>
                                      
                                    <td width="466" align="left"> 
                                      <?php echo "<a href=comments.php?ID=$id>Kommentare</a>";?>
                                    </td>
                                      <td width="94" align="center">
                                        <?php //echo "<a href=print.php?ID=$nr>Drucken</a>";?>
                                      </td>
                                      <td width="94" align="center">
                                        <?php //echo "<a href=send.php?ID=$nr>Empfehlen</a>";?>
                                      </td>
                                    </tr>
                                  </table>
                                </td>
                              </tr>
                            </table>
                            
                          
                          
                           
                            <?php
                          
                              }
                          
                          echo "<div align=\"center\">";
                          if($Anfangsposition > 0) {
                            //echo "[erste Seite] ";
                            $back=$Anfangsposition-$Zeilen_pro_Seite;
                            if($back < 0) {
                              $back = 0;
                            }
                               echo "<a href=\"index.php?Anfangsposition=$back\">[zur&ck]</a> ";
                          }
                          
                          if($Anfangsposition < $Anzahl-$Zeilen_pro_Seite) {
                            $fwd=$Anfangsposition+$Zeilen_pro_Seite;
                            echo "<a href=\"index.php?Anfangsposition=$fwd\"> [weiter]</a> ";
                            $fwd=$Anzahl-$Zeilen_pro_Seite;
                            //echo "<a href=\"index2.php?Anfangsposition=$fwd\">[letzte Seite]</a> ";
                          }
                          
                          echo"
                          ";
                          if($Anzahl>$Zeilen_pro_Seite) {
                            $Seiten=intval($Anzahl/$Zeilen_pro_Seite);
                            if($Anzahl%$Zeilen_pro_Seite) {
                              $Seiten++;
                            }
                          }
                          
                          for ($i=1;$i<=$Seiten;$i++) {
                            $fwd=($i-1)*$Zeilen_pro_Seite;
                            echo "<a href=\"index.php?Anfangsposition=$fwd\">$i</a> ";
                          }
                          
                          ?>

                          Kommentar


                          • #14
                            Du speicherst in deine Datenbank doch auch die ID an, oder? Dann mach das ganze doch gleich ber Order by ID

                            Gruß Garry

                            Kommentar


                            • #15
                              mach ma aus der spalte time ein "datetime" format
                              danach speicherst du die einträge mit NOW() ab
                              und erweiters dann die query
                              Code:
                              ORDER BY `time` DESC
                              fertig

                              Kommentar

                              Lädt...
                              X