Beiträge von Walerik

    Ich bin noch ein anfänger hab die abfragen gesetzt weil ich es so für richtig gehalten hab!


    "Warum soll ich nicht SELECT * schreiben?"



    meist du damit das alle spalten nutzlos geldan werden wenn ja ...
    ... soll das dann so umgesetzt werde?

    PHP
    SELECT id FROM musik WHERE id=$top

    die do-schleife verwende ich weil ich gelesen hab das es zu erst die if-anweisung prüft und das hat sich für mich als richtig angehört

    edit //

    wenn ich die if-anweisungen vor die schleife setze wie in dem code den du bearbeitet hast
    bekomme ich das problem das nach einem vote der erste datensatz sein name ändert und
    nur die id des bewerteten datensatzes als namen ausgibt.


    <param name="FlashVars" sprichst du $row an. Welcher Wert soll da rein?


    mit <? echo $row[0]; ?> wird mir der datensatz name was gleichzeitig auch der dateiname ist ausgegeben!
    was zu folge hat das ich jeden song mittels eines flashbuttons hören bzw. stoppen kann z.b. vor dem download (nein keine urheberrechtsverletzung! schon aufs maul geflogen ... nie wieder!)

    Hat was mit der schleife zu tun!

    hat was mit der schleife zu tun und zwar mit $rs ...
    ... sobald ich 3 datensätze in der DB hab zählt er plus 3
    weil der sicherlich die schleife dann dreimal durchläuft

    Also erstmal danke!

    Was mir aufgefallen ist das die query falsch war!
    hab es geänder und jetzt tut sich auch was in der DB aber immer noch nicht ganz richtig!

    die IF anweisung hab ich in ... if (isset($_GET['top'])) ...bzw in... if (isset($_GET['flop'])) ... umgeschrieben.

    so ... das vote ist auch ein INT feld und es funktionier beides vote = vote + '1' und auch ohne ' '!

    nun hab ich das problem das in der db immer zb. bei vote um +2 hochgerechnet wird und nich +1.

    so siehts im mom aus der code:

    PHP
    echo    "&nbsp;<a style='color:#000000' href='uebersicht.php?top=".$row[1]."'><img src='img/top.gif' border='0' height='15' /></a>";
            echo    "&nbsp;<a style='color:#000000' href='uebersicht.php?flop=".$row[1]."'><img src='img/flop.gif' border='0' height='15' /></a>";

    und der teil noch:

    edit // danke bandit600 prima sache!!!!

    Hallo erstmal,

    ich versuche als eine bewertung zu programmieren doch hab ich mir das leider leichter als gedacht vorgestelt.

    und zwar gibs die möglichkeit dateien mittels eines plus oder minus buttons zu bewerten. doch wird nichts in die DB geschrieben!

    hier der code:

    ist aber im mom nur die plus/top funktion!

    komme nicht weiter ... bitte um hilfe ... mfg

    Du speicherst doch bei den Bildern selbst auch das Rating, bzw. bei dir heißt die Spalte `prozent`? Den höchsten Prozentwert den ein Bild eines users hat schreibst du eben in die zusätzliche Spalte in der profiltabelle. So hast du für jeden user gleichzeitig die höchste Bildbewertung.
    Beim Voten berechnest du dann einfach die neue prozentzahl von dem Bild das bevotet wurde und führst dann ein sql-update aus:

    PHP
    $sql = "
    UPDATE
        profil
    SET 
        top_foto_rating=".$new_prozent."
    WHERE
        id=".$foto_besitzer_id."
        AND
        top_foto_rating<".$new_prozent;

    was hier bei jetz nicht ganz verstehe ist ... das ja nur die prozentzahl in die neue spalte geschrieben wird ... aber nicht das beste foto des users!

    ja und wie soll der wert in der neuen tabelle gebildet werden?

    kurz zum vote system was:

    es stehen immer zwei fotos gegenüber im zufallsprinzip.
    die user entscheiden welches sie aktraktiver finden.
    der wert für die toplist wird gebildet aus anzahl der votings
    und der anzahl als gewonnen augengangener votings in prozent

    Hallo leutz ...

    hab volgendes problem:
    auf meiner seite haben die user, die möglichkeit bilder anderer user zu
    bewerten. Die besten pics wernden in einer top liste angezeigt.
    die query sieht so aus:

    PHP
    $top=mysql_query("SELECT * FROM `foto`, `profil` WHERE profil.id=foto.user_id AND profil.sex=$sex AND foto.status=1 ORDER BY prozent DESC $zahl");

    da die user aber die möglichkeit haben mehrere pics hochzuladen,
    kommt es schon mal vor das von einem user nicht nur das beste bild
    gezeigt wird sondern alle die gut bewertet sind. jetzt ist meine idee jeden user nur einmal
    anzeigen zu lassen und zwar mit dem am höchsten bewerteten bild also hab ich die query so geänder:

    PHP
    $top=mysql_query("SELECT * FROM `foto`, `profil` WHERE profil.id=foto.user_id AND profil.sex=$sex AND foto.status=1 GROUP BY foto.user_id ORDER BY prozent DESC $zahl");

    mit group by! aber es kam anschließend nur mist raus der 4 palzierte war dann platz 1 und der, der die ersten drei ränge belegt hat war nicht mehr in den toplist zu finden...

    was mach ich da falsch wie kann ich meine idee realisieren?