Rang/positie opvragen

  • Weet iemand hoe ik via een mysql query de rang van de speler kan aanvragen. niet de rank van Don of Godfather maar de plaats waarom de speler staat als alle leden op geld sorteert.


    Alvast bedankt voor de hulp8-|

  • PHP
    $sql->query("SELECT COUNT(*) + 1 AS place FROM users WHERE (cash + bank) > (SELECT (cash + bank) FROM users WHERE id = " . $own['id'] . ")")->fetch_assoc();


    Hiermee moet het gaan ;).

  • Om te sorteren kan je het beste gewoon een order functie gebruiken.

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Fatal error: Call to a member function fetch_assoc() on a non-object in C:\xampp\htdocs\profile.php on line 7


    line 7 =


    PHP
    $rank             = mysql_query("SELECT COUNT(*) + 1 AS place FROM `[users]` WHERE (cash) > (SELECT (cash) FROM `[users]` WHERE id = " . $own['id'] . ")")->fetch_assoc();


    nog meer ideeën of oplossingen?


  • Ja, neem niet direct een code over.


    -> staat voor een object. Het object fetch_assoc() bestaat niet bij jou.


    Bever had waarschijnlijk een klasse sql met daarin de functies query en fetch_assoc.


    De oplossing zou dis dit moeten zijn:

    PHP
    $rank = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) + 1 AS place FROM `[users]` WHERE (cash) > (SELECT (cash) FROM `[users]` WHERE id = " . $own['id'] . ")"));
  • mijn fout, ben net wakker vandaar...


    gedaan wat je zei en krijg nu dit
    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\profile.php on line 7


    lijn 7 is natuurlijk die jij zei

  • Citaat van BlackCatGames

    mijn fout, ben net wakker vandaar...


    gedaan wat je zei en krijg nu dit
    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\profile.php on line 7


    lijn 7 is natuurlijk die jij zei


    Ik zou dan even je vaardigheden aanpassen op je profiel als ik jou was ;)


    Betekend dus dat de query niet goed is.
    de backticks (`) kunnen weg, deze vertragen enkel de boel.
    sommige haakjes kunnen weg, neem nou (cash).
    Heet het gebruiekrstabel wel [users] bij jou?
    Heet het contant tabel wel cash bij jou?
    Wil je dit niet omzetten naar power?
    $own['id'] heb jij denk ik niet?
    Bestaat de column id wel?


    Zoals ik zei, neem niet alles zo 123 over.

  • al die tabellen bestaan gewoon


    en waar staat die $own voor dan volgens jou ???


    ik heb dat al veranderd met {$data->id} maar daar wordt ie ook niet blij van

    Nieuwe reactie samengevoegd met originele reactie op 22.01.11 16:04:38:
    oké ik heb het nu zo veranderd:


    PHP
    $rank             = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) + 1 AS place FROM `[users]` WHERE `cash` > (SELECT `cash` FROM `[users]` WHERE `id` ='{$data->id}')"));


    geen foutmeldingen maar hij laat nu alleen het woord Array zien als resultaat (xD)

  • Citaat

    mijn fout, ben net wakker vandaar...


    Al was je al een week wakker, denk niet dat dat enige invloed heeft als je het gewoon niet begrijpt. Je zit constant gewoon een regel code klakkeloos te kopiëren en geeft ons dan het resultaat. Ik en zeker ook andere CP leden staan er best voor open je te helpen, maar dan moet je zelf wel wat meer initiatief tonen.


    [func]mysql_fetch_assoc[/func] retourneert een array, en deze kun je niet zomaar naar het scherm schrijven. Je zou de goede waarde uit de array moeten pakken met de volgende syntax:


    PHP
    <?php
    
    
    echo $array['key'];
    
    
    ?>


    Om er achter te komen wat de key is die je moet gebruiken, kun je met [func]var_dump[/func] de inhoud van de array bekijken.


    Voor de rest: Kauw het nu alsjeblieft niet voor...

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!