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

  • Gast-Avatar
    Ein Gast erstellte das Thema Newsscript sortiert nicht so richtig.

    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

  • Gast-Avatar
    Ein Gast antwortete
    Code:
    limit 3, 500000
    von 3 bis 500000

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    okay

    wie ist den das gegnteil von Limit?
    Möchte nämlich ab den 3 Datensatz alles ausgeben.
    Oder wie schreibt man das Limit 3,unlimited

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    fürs nächste ma

    Code:
    $abfrage= "INSERT INTO news (User, Ueberschrift, News, Time) VALUES('$UserName', '$ueberschrift', '$newslang', NOW())";

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    habe das problem anders gelöst aber danke für eure hilfe

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Nunja hat nicht ganz geklappt .
    Ich wollte now() ner Variable zuordnen und da kamm ein Fehler bei raus.
    Und in der Spalte Time steht jetzt nur noch überall 0000-00-00 00:00:00 aber das ist ja klar weil er die andere Zeit nicht mitübernehmen konnte.
    Aber wie geht das mit dem now().Kann ich dem keine Variable zuordnen oder wie?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Dazu bezüglich eine Frage. Ich kriege es nämlich nicht hin, dass die Einträge zu dieser Zeit abgespeichert werden sollen, wo sie auch geschrieben sind und nicht das aktuelle Datum.

    Hier mein Script:

    Code:
    <html>
    <body>
    
    <?
    include ("News/db.php");
    $query = "SELECT * FROM artikel ORDER BY id DESC LIMIT 0,5";
    $result = mysql_query($query);
    $datum = time();
    
    while ($line = mysql_fetch_array($result)) { ?>
    
    <table align="center" width="80%" border="1" style="border-collapse: collapse" bordercolor="#333333" cellspacing="1" cellpadding="2" bgcolor="#E9E5E4">
    <tr> 
      <td width="90%" height="20" bgcolor="#F5F5F5"><div align="left"><?=$line[titel]?></div></td>
      <td width="10%" height="20" bgcolor="#F5F5F5"> <div align="center"><? echo "$datum" ?></div></td>
    </tr>
    <tr bordercolor="#333333">
      <td bgcolor="#EFF1F3" colspan="2" height="20">
      
    
    
      <?=$line[text]?>
      </p>
      </td>
    </tr>
    <tr bordercolor="#333333"> 
      <td bgcolor="#F5F5F5" colspan="2" width="10%" height="20">
      Geschrieben von: <?=$line[name]?></td>
    </tr>
    </table>
    
    
    
    
    <?
    }
    mysql_free_result($result);
    mysql_close();
    ?>
    
    </body>
    </html>
    Gruß Garry

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Du speicherst in deine Datenbank doch auch die ID an, oder? Dann mach das ganze doch gleich ber Order by ID

    Gruß Garry

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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> ";
    }
    
    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Ben
    warum INT?
    Weil man sonst nicht sortieren könnte! Weil Varchar nur das 1. Symbol nimmt...

    wilko

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Hehe....ersetz mal die while gegen das:


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

    Einen Kommentar schreiben:


  • imported_Ben
    antwortet
    Zitat von Trexx83
    und das in einem int feld
    warum INT?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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

    Einen Kommentar schreiben:


  • imported_Ben
    antwortet
    verwende mal mysql_error()

    Einen Kommentar schreiben:

Lädt...
X