Bummsi: Grafiken zuweisen

Hallo,

sorry für die schlechte Überschrift, mir fiel keine bessere ein; ich hoffe, dass das Problem im Text klarer wird.

Für eine Spielerei brauche ich mal bitte Hilfe:

Ich habe meine News nach Hits sortiert und möchte den 3 Nachrichten mit den meisten Hits entsprechende Grafiken zuweisen.

Also praktisch

if { Nachricht 1 ist am meisten angeklickt } (<img="gold.gif">);
if { Nachricht 2 ist am meisten angeklickt } (<img="silber.gif">);
if { Nachricht 3 ist am meisten angeklickt } (<img="bronze.gif">);

else alle anderen Nachrichten bekommen <img src="sonstwas.gif">;

Mir ist klar, dass ich das über DESC LIMIT 1,1 etc. lösen könnte. Es muss aber ja auch einen anderen Weg geben.

Mit welchen Schlagwörtern komme ich zum Ziel? Vielen Dank!

  1. @@Bummsi:

    nuqneH

    Mir ist klar, dass ich das über DESC LIMIT 1,1 etc. lösen könnte. Es muss aber ja auch einen anderen Weg geben.

    CSS: Die Grafik als Hintergrundbild. Informiere dich dabei auch über CSS-Sprites! [ALA]

    Mit welchen Schlagwörtern komme ich zum Ziel? Vielen Dank!

    CSS 2.1: :first-child [CSS2 §5.11.1] und Selektoren für benachbarte Elemente [CSS2 §5.7]

    CSS 3: :nth-child [CSS3-SELCTORS §6.6.5.2]

    Qapla'

    --
    Volumen einer Pizza mit Radius z und Dicke a: pi z z a
    1. Danke! Allerdings habe ich mich offensichtlich falsch ausgedrückt.

      Ein CSS-Problem soll meins nicht sein :-). Die Grafik darf ruhig <img src="..." alt=""> angeordnet sein. Mein Problem ist ein anderes:

      Ich habe diese Anfrage ...

        
      $sql = "SELECT * FROM news ORDER BY hits DESC LIMIT 30";  
      
      

      in der Kurzfassung. Der mit den meisten Hits soll jetzt eine Grafik bekommen, der mit den zweitmeisten Hits eine andere, der Dritte wiederum eine andere.

      1. gold.gif
      2. silber.gif
      3. bronze.gif

      Meine Frage ist, wie ich das realisiere. Mir fehlt praktisch der Befehl oder die Befehle, die dafür von Nöten sind.

      1. hi,

        in der Kurzfassung. Der mit den meisten Hits soll jetzt eine Grafik bekommen, der mit den zweitmeisten Hits eine andere, der Dritte wiederum eine andere.

        1. gold.gif
        2. silber.gif
        3. bronze.gif

        Limit 3 liefert Dir genau 3. Und wenn Du schön sortiert hast, sind das die ersten drei ;-)

        Hotti

      2. Grüße,

        Meine Frage ist, wie ich das realisiere. Mir fehlt praktisch der Befehl oder die Befehle, die dafür von Nöten sind.

        dir riech tlimit 3, gehe einfach die 3 mit shcleife durch und zähl per i durch - grafik1.jpg etc wird dann eingebunden - wo genau ist das problem?
        MFG
        bleicher

        --
        __________________________-

        FirefoxMyth
  2. Hello,

    if { Nachricht 1 ist am meisten angeklickt } (<img="gold.gif">);
    if { Nachricht 2 ist am meisten angeklickt } (<img="silber.gif">);
    if { Nachricht 3 ist am meisten angeklickt } (<img="bronze.gif">);

    else alle anderen Nachrichten bekommen <img src="sonstwas.gif">;

    Wo willst Du denn die Grafiken zuweisen?
    In der Ausgabe?

    Wie ist denn die Ausgabe aufgebaut?
    Findet sie seitenweise statt z.B. als Liste, die aber nicht unbedingt nach den Plazierungen soriert ist?

    Ich vermute, dass Du dann bei jeder dargestellten Seite diese Abfrage über ein Limit durchführen musst, um die ersten drei Plätze zu ermitteln. Diese merkst Du Dir dann (die IDs) und vergleichst sie bei der Ausgabegenerierung mit den dazustellenden Einträgen.

    Du solltest aber noch fetlegen, was bei gelichem Punktestand geschehen soll. Ggf. musst Du also mehr als drei Platzierungen abfragen, umd geliche Plätze dann auch berücksichtigen zu können.

    Und außerdem solltest Du wissen, wie wichtig dir die richtige Darstellung ist, denn wenn Du zur Darstellung der Liste zwei Abfragen machen musst, nämlich die eine in der von User gewünschten Reihenfolge und die andere, um die ersten Plazierungen zu finden, dann müsstes Du die Abfragen eigentlich atomar binden, also ein Table-Lock auf die betroffene Tabelle ausführen musst, bis beide Abfragen abgehandelt sind.

    Alles klar?

    Du merkst sicher schon, dass ein wenig mehr Input von Dir nicht schlecht wäre.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  3. Grüße,

    Mit welchen Schlagwörtern komme ich zum Ziel?

    "PHP tutorial" wäre nicht schlecht - ich empfehle http://tut.php-quake.net/de/
    MFG
    bleicher

    --
    __________________________-

    FirefoxMyth