Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zum Aufbau der DB

Einklappen

Neue Werbung 2019

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

  • Frage zum Aufbau der DB

    Hallo,
    ich habe eine tabelle "User" mit allerlei Userdaten und eine Tabelle "Toplist" mit Punkteständen und entsprechenden verweisen auf die IDs der User.
    Ich will nun ein Gimmick einbauen, so das beispielsweise die drei höchstplatzierten eine Grafik hinter ihrem Namen erhalten.
    Da die zusammenhänge aber nicht immer so einfach wie im Beispiel sind frage ich mich, ob es evtl. Sinn macht spalten anzulegen in denen vermerkt wird, ob der User den Stern verdient hat.
    z.B:

    User:
    ID | Name | Stern_rot | Stern_gruen | Stern_blau |

    1 | abc | N | Y | N |

    2 | sad | Y | N | Y |


    Wie verfährt man da am besten.

  • #2
    Also wenn es sich um eine toplist handelt würde ich es so in der art machen..:

    PHP-Code:
    <?php
      $sql 
    "SELECT user.id, user.name AS name, toplist.user_id, toplist.punktestand FROM user, toplist WHERE user.id = toplist.user_id ORDER BY toplist.punktestand DESC";
      
    $query mysql_query($sql) or die("Fehlermeldung: ".mysql_error());
      
    $i 1// Bei welchem Platz sind wir gerade?
      
    while($row mysql_fetch_assoc($query)){
         switch(
    $i){
           case 
    1:
             
    $img "<img src=\"stern_rot.jpg\" ... />";
           break;
           case 
    2:
              
    $img "<img ... stern_blau.jpg ... />";
           break;
           default:
               
    $img "";
         }
         print 
    $row['name']."-".$row['punktestand']."-".$img;
      }
    ?>

    wäre mein ansatz.. gibt natürlich einige..


    lg
    Andi

    Kommentar


    • #3
      klar, so würde ich's ja auch machen, aber es gibt noch andere Kriterien, z.B. könnte der 10 platzierte auch nen Stern haben, weil er halt (spezielle) andere Leistungen erbracht hat, die nicht so einfach nachzuvollziehen sind.

      Kommentar


      • #4
        dann macht man einfach noch 2 tabelen


        Tabelle Sterne
        id|sternname|bild_url

        Tabelle
        Stern_User
        id_user | id_stern //unique(id_user,id_stern)

        Kommentar


        • #5
          klar, so würde ich's ja auch machen, aber es gibt noch andere Kriterien, z.B. könnte der 10 platzierte auch nen Stern haben, weil er halt (spezielle) andere Leistungen erbracht hat, die nicht so einfach nachzuvollziehen sind.
          Aso,.. das hast gemeint ^^

          dann würd ichs auch so machen wie es Slava vorgeschlagen hat...


          lg
          Andi

          Kommentar

          Lädt...
          X