ilch Forum » Allgemein » HTML, PHP, SQL,... » Newsticker

Geschlossen
  1. #1
    User Pic
    DiGGA Mitglied
    Registriert seit
    27.06.2006
    Beiträge
    12
    Beitragswertungen
    0 Beitragspunkte
    Hi
    Ich habe einen Newsticker zusammengecodet.
    Mein Problem ist jetzt, dass ich zur Zeit nur einen Newstitel angezeigt bekomme.
    (Sollen die neusten drei angezeigt werden)

    Ich könnte das Problem doch lösen, wenn ich die gleiche newsid
    nochmal über die variable abrufe, und dann diese -1 rechne???!!!
    <a class="box" href="index.php?news-'.$row->news_id.'">'.$row->news_title.'</a>


    Wenn das möglich wäre, kann mir da jemand den Befehl sagen.
    Ich hab mit google nix gefunden was funktionierte! thx


    Nochmal der ganze Code:
    <?php
    defined ('main') or die ( 'no direct access' );
    
            $abf = 'SELECT *
                    FROM prefix_news
                         WHERE news_recht >= '.$_SESSION['authright'].'
                         ORDER BY news_time DESC
                         LIMIT 0,1';
            $erg = db_query($abf);
            
            
      echo '<table>';
      echo '<tr>';
      while ($row = db_fetch_object($erg))
      {
            echo '<td width="130" height="32">
                      <marquee direction="left" width="130" height="32" scrollAmount="1" scrolldelay="2" onMouseover="this.scrollAmount=0" onMouseout="this.scrollAmount=1" style="border:none;"
                          <a class="box" href="index.php?news-'.$row->news_id.'">'.$row->news_title.'</a>
                      </marquee>
                  </td>';
      }
      echo '</tr>';
      echo '</table>';
    ?>


    Schon mal danke im Vorraus.
    Greez D!GGA


    Zuletzt modifiziert von DiGGA am 04.07.2006 - 17:21:49
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    UnderTakeR Mitglied
    Registriert seit
    20.09.2005
    Beiträge
    5
    Beitragswertungen
    0 Beitragspunkte
    LIMIT 0,1';

    die "1" solltest auf "3" umändern, dann müsste es gehen lächeln
    Visit us: ViruZ Gaming
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Niedi Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    340
    Beitragswertungen
    0 Beitragspunkte
    mein vorposter hat da schon recht, aber was ich ned verstehe, was hattest du mit dem newsid -1 gedacht? versteh den sinn dahinter nicht lachen
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    DiGGA Mitglied
    Registriert seit
    27.06.2006
    Beiträge
    12
    Beitragswertungen
    0 Beitragspunkte
    Das dachte ich erst auch.
    Aber mit dieser Funktion wird festgelegt, wie oft der Inhalt wiederholt wird.
    D.h. ich hätte bei LIMIT 0,2'; den 1. Newstitel im Newsticker 2mal nacheinander. Schau hier im Linken Navi
    (Ich habe die Newstickerbox aus dem Code der LastNews und der scrollenden PartnerBox gemacht)

    Ich dachte, ich könnte den
    <a class="box" href="index.php?news-'.$row->news_id.'">'.$row->news_title.'</a>

    Code nehmen, dreimal abrufen, und jedes mal die newsID variable um 1 reduzieren!
    Leider habe ich dafür noch keinen passenden Befehl gefunden, da ich selbst noch ziemlich PHPneu bin!!

    @Niedi
    z.B. Ein Newspost mit der newsID 7 (//index.php?news-7)
    Nun rufe ich diesen im ersten Befehl auf
    und im zweiten Befehl reduziere ich die newsID variable um 1!
    D.h. ich rufe dann den Titel des Newsposts mit der ID 6 auf!
    So war meine Überlegung
    thx D!GGA


    Zuletzt modifiziert von DiGGA am 04.07.2006 - 21:29:04
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Niedi Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    340
    Beitragswertungen
    0 Beitragspunkte
    $abf = 'SELECT *
                    FROM prefix_news
                         WHERE news_recht >= '.$_SESSION['authright'].'
                         ORDER BY news_time DESC
                         LIMIT 0,1';


    also damit suchst du dir die letzte news raus. wenn du da die 1 in eine zwei ändernst, suchst du dir die letzten zwei raus. das ist ganz sicher so, egal was derzeit angezeigt wird bei dir.

    wenn ich jetzt deinen beispiellink folge und mir das ansehe, sehe ich zwar auch zwei mal den selben text "TS online" aber der link ist ein anderer. einmal die ID 7, welche richtig wäre, und einmal OHNE ID!

    nun meine schlussfolgerung..

    Entweder hast du in deiner Datenbank Mist stehen, oder es ist ein fehler, welchen ich aufgrund meiner müdigkeit grad nicht erkennen kann lachen lachen

    der lösungsvorschlag Untertaker ist richtig und muss funktionieren.

    mfg

    ##edit##

    habs eben mittels phpmyadmin getestet.

    SELECT *
    FROM hp_news
    WHERE news_recht >= -1
    ORDER BY news_time DESC
    LIMIT 0 , 2


    dieses Codestück gibt mir meine letzten Zwei News zurück.

    mfg


    Zuletzt modifiziert von Niedi am 04.07.2006 - 23:51:57
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    DiGGA Mitglied
    Registriert seit
    27.06.2006
    Beiträge
    12
    Beitragswertungen
    0 Beitragspunkte
    Hi
    Danke für deine Antwort.
    Ich habe mit meinem, als auch mit deinem Code geschafft,
    3 News auszulesen, und auch mit richtigem Link.

    Aber mit diesen Codes setzt er die Tabelle mit dem Newstitel
    dreimal nacheinander in die Box! (laufen getrennt voneinander)

    Ich brächte nur einen Code, mit dem ich schreiben kann dass er
    die neuste NewsID ausliest,
    dies wiederholt, aber beim ausgabewert die ID um den Wert 1 verringert.
    D.h. dann der nächst ältere Newspost angezeigt wird.

    Dass die 3 neusten News nacheinander, durch ein zeichen getrennt, durchscrollen.
    -------------------------------------------
    -- News 1 ++ News 2 ++ News 3 --
    -------------------------------------------

    thx D!GGA


    Zuletzt modifiziert von DiGGA am 05.07.2006 - 00:17:50
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Niedi Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    340
    Beitragswertungen
    0 Beitragspunkte
    und was passiert wenn du mal eine news auslässt und die newsids so wären: 47, 45, 44

    dann wäre es eine falsche aussage da du 47,46 und 45 ausgeben würdest.

    was hast du denn nun hier gemacht woerni.wo.funpic.de/index.php ?


    warum das andre nicht funktioniert bei dir, kann ich leider nicht nachvollziehen.. aber so wies jetzt ist, sieht es scheiße aus. ich sags wies is ;-)

    wenn du heute abend zeit hast, können wir uns ja mal zusammensetzen und ne lösung ausarbeiten. für knifflige sachen bin ich immer zu haben, auch wenns wohl ned wirklich schwer sein wird, und wir nur nen fehler übersehen.

    mfg niedi
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    DiGGA Mitglied
    Registriert seit
    27.06.2006
    Beiträge
    12
    Beitragswertungen
    0 Beitragspunkte
    Ja gut so wie es grad ist ist scheiße.
    hab gestern noch gebastelt, und auf
    einmal war der FTP nicht mehr erreichbar. :'(
    Dann musst ich es halt lassen.

    Denke das ich heut abend ab ca. 22 Uhr da bin.
    Ich werde mich jetzt nochmal damit auseinandersetzten!

    Greez D!GGA
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Niedi Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    340
    Beitragswertungen
    0 Beitragspunkte
    alles klar
    dnan meld dich einfach am abend per icq bei mir, dann können wir nochmal drüber reden ;-)

    wenn ich ned antworte, einfach warten. hab dann wahrscheinlich grad css train ;-)
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Panicsheep Hall Of Fame
    Registriert seit
    24.08.2004
    Beiträge
    10.192
    Beitragswertungen
    16 Beitragspunkte
    Dein
    <?php
    defined ('main') or die ( 'no direct access' );
    
            $abf = 'SELECT *
                    FROM prefix_news
                         WHERE news_recht >= '.$_SESSION['authright'].'
                         ORDER BY news_time DESC
                         LIMIT 0,1';
            $erg = db_query($abf);
            
            
      echo '<table>';
      echo '<tr>';
      while ($row = db_fetch_object($erg))
      {
            echo '<td width="130" height="32">
                      <marquee direction="left" width="130" height="32" scrollAmount="1" scrolldelay="2" onMouseover="this.scrollAmount=0" onMouseout="this.scrollAmount=1" style="border:none;"
                          <a class="box" href="index.php?news-'.$row->news_id.'">'.$row->news_title.'</a>
                      </marquee>
                  </td>';
      }
      echo '</tr>';
      echo '</table>';
    ?>

    erstellt mit jeder while Schleife eine neue Tabelle in der der Ticker läuft, was, wie du selber schreibst, "bescheiden" aussieht

    Im folgende Code hab ich die while Schleife auf den Link der News beschränkt. Beispiel siehe ilchsupporter.il.funpic.de/Ilch11A/index.php
    linkes Menü erste Box. Der Code liest nun die drei neusten News aus egal ob da zwischen 1 oder ??? News gelöscht wurden

    <?php
    defined ('main') or die ( 'no direct access' );
    
            $abf = 'SELECT *
                    FROM prefix_news
                         WHERE news_recht >= '.$_SESSION['authright'].'
                         ORDER BY news_time DESC
                         LIMIT 0,3';
            $erg = db_query($abf);
            
            
      echo '<table>';
      echo '<tr>';
      echo '<td width="130" height="32">
                      <marquee direction="left" width="130" height="32" scrollAmount="1" scrolldelay="2" onMouseover="this.scrollAmount=0" onMouseout="this.scrollAmount=1" style="border:none;"';
                          while ($row = db_fetch_object($erg)){
      echo '<a class="box" href="index.php?news-'.$row->news_id.'">'.$row->news_title.'</a>&nbsp;&nbsp;';
      }
      echo '</marquee></td>';
      echo '</tr>';
      echo '</table>';
    ?>
    Omnia bona erunt
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    DiGGA Mitglied
    Registriert seit
    27.06.2006
    Beiträge
    12
    Beitragswertungen
    0 Beitragspunkte
    Hi
    Danke Panicsheep.
    Der Code funktioniert prima. :-)

    THX

    Greez D!GGA
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Niedi Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    340
    Beitragswertungen
    0 Beitragspunkte
    @panicsheep:

    erklär mal bitte warum beim ersten code die id nicht richtig ausgelesen wird und beim zweiten schon. im grunde verändert sich die funktionalität doch nicht, sondern nur der html teil, welcher angepasst wurde.

    oder irre ich mich? -_-

    mfg
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Panicsheep Hall Of Fame
    Registriert seit
    24.08.2004
    Beiträge
    10.192
    Beitragswertungen
    16 Beitragspunkte
    Wenn ich ahnung von PHP hätte, könnte ich dir das sicherlich beantworten
    Omnia bona erunt
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Biki Mitglied
    Registriert seit
    11.11.2005
    Beiträge
    418
    Beitragswertungen
    0 Beitragspunkte
    Also auf dem ersten Blick fällt mir auf, das die while schleife nun nach dem <table> Tag kommt!
    Bildung kommt von Bildschirm und nicht von Buch, sonst hieße es ja Buchung.
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Niedi Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    340
    Beitragswertungen
    0 Beitragspunkte
    jo Biki, das is mir schon klar, jedoch grob gesagt: was hat html mit php zu tun? keine doofen antworten bitte lachen lachen

    Ich meine Das PHP Ergebniss muss, egal ob es in einer tabelle, ausserhalb einer tabelle oder zwischen zwei tabellen ist, das selbe ergebniss auswerfen, denn sonst wärs ja ziemlich unlogisch -_-

    mfg
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Panicsheep Hall Of Fame
    Registriert seit
    24.08.2004
    Beiträge
    10.192
    Beitragswertungen
    16 Beitragspunkte
    Inwiefern hat denn das erste Script die ID falsch ausgelesen??
    Ich seh da am PHP bzw. der SQL abfrage keinen unterschied. außer das bei mir LIMIT 0,3 ist für drei News
    Omnia bona erunt
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Niedi Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    340
    Beitragswertungen
    0 Beitragspunkte
    wenn er das script mit limit 0,1; verwendete, las er beim ersten mal keine id aus, und beim zweiten mal die lettzte id. der titel war aber zwie mal der von der letzten news..

    komisch halt -_-
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Panicsheep Hall Of Fame
    Registriert seit
    24.08.2004
    Beiträge
    10.192
    Beitragswertungen
    16 Beitragspunkte
    ZitatZitat geschrieben von Niedi

    wenn er das script mit limit 0,1; verwendete, las er beim ersten mal keine id aus, und beim zweiten mal die lettzte id. der titel war aber zwie mal der von der letzten news..



    Bahnhof?


    Die Abfrage ist die gleiche nur das durch das LIMIT 0,3 die letzten drei News ausliest.
    Und bei mir auf der Seite (siehe Link weiter oben) geht auch der erste Code. Nur ist es bei dem so das bei LIMIT 0,3 drei Tabellen erstellt werden weil die while Schleife an der falschen Stelle ansetzt.
    Link und titel sind aber immer korrekt

    Vielleicht wurde der Code ja nachträglich geändert, der post wurde schließlich editiert.

    Wie auch immer es funktioniert tadellos und das ist die Hauptsache, oder?
    Omnia bona erunt
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Niedi Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    340
    Beitragswertungen
    0 Beitragspunkte
    nein das ist nicht die hauptsache. ^^

    und sorry für die komische "erklärung"


    es war einfach so, das der obere code nicht gestimmt hat.. auch mit 0,3.. entweder er hatte einen andren in die hp eingebaut gehabt, als er gepostet hat, oder die alien warns..

    moep mfg NIedi
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    DiGGA Mitglied
    Registriert seit
    27.06.2006
    Beiträge
    12
    Beitragswertungen
    0 Beitragspunkte
    hi
    Ich hatte genau das gepostet was ich auf er page hatte.
    Wegen dem oberen Code:
    Die Abfrage stimmte schon, nur hat er die drei Newslinks nicht in eine
    Tabelle nacheinander gepackt, sondern in drei Tabellen nebeneinander!

    Was ich feststellen musste, dass der Newsticker mit FireFox super funktioniert, aber mit dem IE wird der erste Newstitel nicht verlinkt.
    Denke das ist das Problem was Niedi hat..

    Greez D!GGA
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Panicsheep Hall Of Fame
    Registriert seit
    24.08.2004
    Beiträge
    10.192
    Beitragswertungen
    16 Beitragspunkte
    Ok, stimmt da ist ein Fehler im Code

    Zeile
    <marquee direction="left" width="130" height="32" scrollAmount="1" scrolldelay="2" onMouseover="this.scrollAmount=0" onMouseout="this.scrollAmount=1" style="border:none;"';

    ändern zu

    <marquee direction="left" width="130" height="32" scrollAmount="1" scrolldelay="2" onMouseover="this.scrollAmount=0" onMouseout="this.scrollAmount=1" style="border:none;">';


    dann funktioniert auch der erste Link richtig
    Dem Firefox war es egal daher ist mir der Fehler nicht aufgefallen.
    Omnia bona erunt
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    Niedi Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    340
    Beitragswertungen
    0 Beitragspunkte
    ich benutze kein IE ;-)

    mfg Niedi
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten