News - Features - Downloads - Forum - Team - Support - Switch View: Screen
Login - Registrierung - Passwort vergessen

Antworten: 9
Seite [1]
Fe3lApAcUt


Beginner




Beiträge: 3
# Thema - 30.10.2011 um 13:24 Uhr
Hallo Leute,

ich hoffe Ihr könnt mir etwas auf die Sprünge helfen. Ich habe gestern erst mit dem Erstellen von Modulen für CS angefangen und bin dementsprechend ein wenig n00big veranlagt ;-)

Ich lade mir über eine API die akuellen Stats von bestimmten Spielern (Clan-Mates) aus dem Battlelog in CS:

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
1. / 2. / ... 
<?php
// $Id$

$cs_lang cs_translate('bf3blapi');
include_once(
'BattlelogApi.inc.php');

$battlelog = new BattlelogApi('EMAILADRESSE''PASSWORD');

$id cs_sql_select(__FILE__,'bf3blapi','id, points'0'points DESC'00);
$users_loop count($id);

for(
$run=0$run<$users_loop$run++) {
    
$soldier $battlelog->getBF3Soldier($id[$run]['id']);
    
cs_sql_update(__FILE__'bf3blapi', array('points'), array($soldier['totalScore']),$run+1);

    
$data['bf3blapi'][$run]['name'] = $soldier['name'];
    
$data['bf3blapi'][$run]['kills'] = $soldier['kills'];
    
$data['bf3blapi'][$run]['scorePerMinute'] = $soldier['scorePerMinute'];
    
$data['bf3blapi'][$run]['score'] = $soldier['score'];
    
$data['bf3blapi'][$run]['totalScore'] = $soldier['totalScore'];
    
$data['bf3blapi'][$run]['deaths'] = $soldier['deaths'];
    
$data['bf3blapi'][$run]['kdRatio'] = $soldier['kdRatio'];
    
$data['bf3blapi'][$run]['accuracy'] = $soldier['accuracy'];
    
$data['bf3blapi'][$run]['longestHeadshot'] = $soldier['longestHeadshot'];
    
$data['bf3blapi'][$run]['rank'] = $soldier['rankImage']['tiny'];
    
}

echo 
cs_subtemplate(__FILE__,$data,'bf3blapi','list');
?>


Meine kleine mySQL-Tabelle besteht nur aus "bf3blapi_ID", "id" und "points". "id" stellt dabei die Battlelog-ID dar.

ausgegeben wird folgendes:



Mein Problem liegt darin, dass ich gerne die Stats nach Punkten sortiert haben möchte. Bin leider noch nicht ganz dahinter gestiegen was cs_sort macht. Leider ist die Doku der Funktionen mehr als dürftig.


Könnt Ihr mir da helfen? Sollte noch etwas an Informationen Fehlen, reiche ich das gerne nach!
Viele Grüße,
Fe3lApAcUt
Inaktiv
Jam2 ClanSphere Team


Highlander





Beiträge: 3291
# Antwort: 1 - 30.10.2011 um 19:22 Uhr
theoretisch sortierst du schon nach punkten
$id = cs_sql_select(__FILE__,'bf3blapi','id, points', 0, 'points DESC', 0, 0);


ich denke aber du meinst andere punkte ?


@cs_sort
http://www.csphere.eu/downloads/files/listcat/where/14
cs_sort erstellt die Sortierpfeile bei Name, Datum und Größe


------------------
Gruß/ Best regards
Jam2

Nützliche Forumbeiträge/Codepastes: (Useful comments in our board / codepastes)
Template Switch for index.php
Board Navlist last posts

Edi: könnte man denn auch hier eine erweiterung einfügen?
Jam2: das web ist wie toyota.....
Edi: hö ?
Jam2: nichts ist unmöglich!


Zuletzt editiert von Jam2 ClanSphere Team am 30.10.2011 um 19:24 Uhr (1x Editiert)
Inaktiv
|
Fe3lApAcUt
Thread-Ersteller


Beginner




Beiträge: 3
# Antwort: 2 - 30.10.2011 um 19:50 Uhr
aha aha. Alles klar. Soweit möchte ich die Übersicht noch nicht erweitern, aber wenn alles läuft werde ich mich damit beschäftigen.

Ich sortiere auch schon richtig. Das wird mir bei einem Test-echo auch richtig angezeigt. Nur sobald das in die html-tabelle eingetragen wird sieht es so aus... Wie kann man das ändern?

Ich meine die Spalte "Punkte Total". Wie kann ich die absteigend sortieren?

Viele Grüße,
Fe3lApAcUt


EDIT: Ist es richtig, dass ich schon zwei Beiträge verfasst habe, aber nur einer angezeigt wird?


Zuletzt editiert von Fe3lApAcUt am 30.10.2011 um 19:51 Uhr (1x Editiert)
Inaktiv
|
Jam2 ClanSphere Team


Highlander





Beiträge: 3291
# Antwort: 3 - 30.10.2011 um 20:31 Uhr
@Edit: Leider ist ein wird hier ein Thread nicht als Beitrag gewertet (Bemängel ich schon Länger)

Also meine Glaskugel glaubt, dass es am update Befehl liegt

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
1. / 2. / ... 
<?php
// $Id$

$cs_lang cs_translate('bf3blapi');
include_once(
'BattlelogApi.inc.php');

$battlelog = new BattlelogApi('EMAILADRESSE''PASSWORD');

$id cs_sql_select(__FILE__,'bf3blapi','id, points'0'points DESC'00);
$users_loop count($id);
for(
$run=0$run<$users_loop$run++) {
    
$soldier $battlelog->getBF3Soldier($id[$run]['id']);
    
cs_sql_update(__FILE__'bf3blapi', array('points'), array($soldier['totalScore']),$run+1);
}
$id2 cs_sql_select(__FILE__,'bf3blapi','id, points'0'points DESC'00);
$users_loop2 count($id2);
for(
$run=0$run<$users_loop2$run++) {
    
$soldier $battlelog->getBF3Soldier($id[$run]['id']);
    
$data['bf3blapi'][$run]['name'] = $soldier['name'];
    
$data['bf3blapi'][$run]['kills'] = $soldier['kills'];
    
$data['bf3blapi'][$run]['scorePerMinute'] = $soldier['scorePerMinute'];
    
$data['bf3blapi'][$run]['score'] = $soldier['score'];
    
$data['bf3blapi'][$run]['totalScore'] = $soldier['totalScore'];
    
$data['bf3blapi'][$run]['deaths'] = $soldier['deaths'];
    
$data['bf3blapi'][$run]['kdRatio'] = $soldier['kdRatio'];
    
$data['bf3blapi'][$run]['accuracy'] = $soldier['accuracy'];
    
$data['bf3blapi'][$run]['longestHeadshot'] = $soldier['longestHeadshot'];
    
$data['bf3blapi'][$run]['rank'] = $soldier['rankImage']['tiny'];
    
}

echo 
cs_subtemplate(__FILE__,$data,'bf3blapi','list');


Ist noch nicht die schönste Lösung, aber soll nur dafür da sein um meine Vermutung zu bestärken


btw. Mein Bruder hat mich auf die Rezessionen zu BF3 auf Amazon hingewiesen - Hört sich ja gut an!
http://www.amazon.de/EA-Battlefield-3-Limited-Edition/product-reviews/B004M17DVM /ref=sr_1_1_cm_cr_acr_txt?ie=UTF8&showViewpoints=1


------------------
Gruß/ Best regards
Jam2

Nützliche Forumbeiträge/Codepastes: (Useful comments in our board / codepastes)
Template Switch for index.php
Board Navlist last posts

Edi: könnte man denn auch hier eine erweiterung einfügen?
Jam2: das web ist wie toyota.....
Edi: hö ?
Jam2: nichts ist unmöglich!


Inaktiv
|
gamermazzo


Going for pro




Beiträge: 450
# Antwort: 4 - 31.10.2011 um 13:00 Uhr
naja alle klagen mit Origin ist aber nichts anderes als Steam =P

Das Spiel an sich ist ech sau geil ^^


------------------
Gruß

Mazzo

Inaktiv
|
sgraewe ClanSphere Team

Supporter
Supporter




Beiträge: 6116
# Antwort: 5 - 31.10.2011 um 13:02 Uhr
doch es ist schon was anderes als steam.

allerdings kann man origin einfach in einer sandboxie ausführen und alle probleme sind geklärt,
das die bewertungen auf amazon so schlecht sind, ist auch nen witz.

Die leute bewerten dort ja nur origins und nicht das spiel.


Inaktiv
|
Markezzz


Rock the board




Herkunft: Chemnitz
Beiträge: 74
# Antwort: 6 - 31.10.2011 um 13:02 Uhr
31.10.2011 um 13:00 Uhr - gamermazzo:
naja alle klagen mit Origin ist aber nichts anderes als Steam =P

Das Spiel an sich ist ech sau geil ^^


Da wir hier ja nicht über Origin und Steam debatieren wollen, will ich nur so viel Sagen Origin != Steam


Inaktiv
|
Fe3lApAcUt
Thread-Ersteller


Beginner




Beiträge: 3
# Antwort: 7 - 31.10.2011 um 18:19 Uhr
Wo ist mein Post von gestern? ... habe ich nur auf vorschau geklickt?

@Jam2:

So hatte ich es auch schon probiert, aber es brachte nicht den nötigen Erfolg. Es wird einfach nur anders geordnet und nicht nach meinen "totalscore" oder in meiner DB nach "points".

also an den sql-befehlen liegt es definitiv nicht. es muss irgendwie mit der übergabe der vars zusammenhängen.
Ich konnte leider noch nicht wieder daran arbeiten, aber ich werde es morgen nochmal probieren.

Viele Grüße,
Fe3lApAcUt


Inaktiv
|
Jam2 ClanSphere Team


Highlander





Beiträge: 3291
# Antwort: 8 - 31.10.2011 um 18:55 Uhr
cs_sql_update(__FILE__, 'bf3blapi', array('points'), array($soldier['totalScore']),$run+1);

die zeile würde ich erstmal wie folgt ändern.
 
1.
1. / 2. / ... 
 cs_sql_update(__FILE__'bf3blapi', array('points'), array($soldier['totalScore']),0'id = '.$id[$run]['id']);


------------------
Gruß/ Best regards
Jam2

Nützliche Forumbeiträge/Codepastes: (Useful comments in our board / codepastes)
Template Switch for index.php
Board Navlist last posts

Edi: könnte man denn auch hier eine erweiterung einfügen?
Jam2: das web ist wie toyota.....
Edi: hö ?
Jam2: nichts ist unmöglich!


Inaktiv
|
Fe3lApAcUt
Thread-Ersteller


Beginner




Beiträge: 3
# Antwort: 9 - 02.11.2011 um 20:39 Uhr
Gut,

folgendes ist geschehen: nachdem ich wieder mal ein test-echo ausgeworfen habe wurden die spieler geordnet. warum? nichts geändert. dann fügte ich noch ein paar spieler hinzu und sie wurden einfach ans ende gehängt. wieder test-echo und siehe da... alles geordnet. Nun gut. das nehme ich jetzt erstmal so hin.

nun habe ich noch eine top-3 der spieler erstellt, die ich in einer box auf jeder seite anzeigen lasse.
auf grund der lange latenz zum Battlelog (abhängig von der menge, der abgeholten daten), lade ich mir die stats in meine sql-db. so entstehen keine langen ladezeit beim aufrufen von seiten.

viele grüße,
Fe3lApAcUt


Inaktiv
|
Antworten: 9
Seite [1]


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo