SELFPHP: Version 5.8.1 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Deine Leidenschaft ist die Unterwasserfoto-grafie?


Dann ist Qozido genau das Richtige für Dich!

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler ist da!

www.qozido.de

 


Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 10.01.2007, 10:30:08
Benutzerbild von Bogi
Bogi Bogi ist offline
Anfänger
 
Registriert seit: Aug 2004
Ort: Abtenau - Austria
Alter: 27
Beiträge: 85
Bogi befindet sich auf einem aufstrebenden Ast
Bogi eine Nachricht über ICQ schicken
[GELÖST] Problem mit Highscore auslesen

Hallo!
Ich hab folgendes Problem:
Ich habe eine Highscore-Tabelle für ein Arcade-Games-Script, mit folgenden Spalten:game, username, score, gameid

Jetzt brauch ich von jedem Game nur den jeweils höchsten Score, in dieser Tabelle sind aber alle Scores gespeichert.

Wenn möglich, will ich das nur durch die richtige SQL-Abfrage erzielen, da ich sonst das Script selbst auch noch umschreiben muss.

Zur Zeit läufts so ab:
PHP-Code:
    $wingamer $db->query("SELECT * FROM bb".$n."_arcade_session_aktiv ORDER BY zeit DESC");

    
$si=0;$sx=0;
    
    while(
$row $db->fetch_array($wingamer)) {
        if(
$sx==0){
            
$highscoreuser = array();
            
$highscoreuser[0] = $row['game'];
            
$highscoreuser[1] = $row['username'];
            
$highscoreuser[2] = $row['score'];
            
$highscoreuser[3] = $row['gameid'];
        }        
        if(
$row['userid']==$wbbuser){        
            
$winthumb="";            
            
$winthumb=$win_a_thumb[$row[gameid]];
        
            
$gamehits_bit.="&nbsp;<a href='arcade_gold_light.php?action=playgame&amp;gameid=$row[gameid]#sa'><img src='$config[imageurl]$winthumb' width='20' height='20' border='0' alt='{$lang->items['LANG_ARCADEG_HEADHIGH']} $row[score] {$lang->items['LANG_ARCADEG_PUNKTEN']}' /></a>";
            
$gamehits_bit.="&nbsp;<span class='smallfont'>$row[name]</span>";
            
$si++;
        }
    
$sx++;    
    } 
In der session_aktiv-Tabelle stehen alle ersten Plätze.
Da es aber Probleme mit den Sessions gibt bzw ich dieses Feature gar nicht brauche, muss ich aus der Tabelle auslesen, wo ALLE scores drin stehen.

Danke schon mal für Hilfe!

mfg, Bogi

Geändert von Bogi (10.01.2007 um 13:45:54 Uhr)
Mit Zitat antworten
  #2  
Alt 10.01.2007, 12:18:09
BenniG. BenniG. ist offline
Member
 
Registriert seit: Oct 2006
Beiträge: 610
BenniG. befindet sich auf einem aufstrebenden Ast
AW: Problem mit Highscore auslesen

Code:
SELECT gamename, max(score) FROM TABELLE
Mit Zitat antworten
  #3  
Alt 10.01.2007, 12:26:06
Benutzerbild von Bogi
Bogi Bogi ist offline
Anfänger
 
Registriert seit: Aug 2004
Ort: Abtenau - Austria
Alter: 27
Beiträge: 85
Bogi befindet sich auf einem aufstrebenden Ast
Bogi eine Nachricht über ICQ schicken
AW: Problem mit Highscore auslesen

danke für die antwort ...

so funktionierts leider nicht hab ich auch schon probiert.

Erstmal benötigt max() GROUP BY und egal, nach welcher spalte ich es gruppiere, es wird leider nie das richtige ausgegeben
Mit Zitat antworten
  #4  
Alt 10.01.2007, 12:27:20
BenniG. BenniG. ist offline
Member
 
Registriert seit: Oct 2006
Beiträge: 610
BenniG. befindet sich auf einem aufstrebenden Ast
AW: Problem mit Highscore auslesen

Stimmt, das group by hab ich vergessen..
Code:
SELECT gamename, max(score) FROM TABELLE GROUP BY gamename
Aber ohne deine Tabellenstruktur zu kennen kann man nur im trüben stochern..
Mit Zitat antworten
  #5  
Alt 10.01.2007, 12:39:44
Benutzerbild von Bogi
Bogi Bogi ist offline
Anfänger
 
Registriert seit: Aug 2004
Ort: Abtenau - Austria
Alter: 27
Beiträge: 85
Bogi befindet sich auf einem aufstrebenden Ast
Bogi eine Nachricht über ICQ schicken
AW: Problem mit Highscore auslesen

hmmm,leider funktionierts so nicht ...

Also, die Tabelle hat folgende Spalten:
scoreid, gameid, game, date, time, userid, username, score, comment
wobei gameid, game, userid, username und score relevant sind und nach time sortiert werden soll.

Es stehen in der Tabelle alle Scores aller user drin ...
z.b. (siehe Anhang)

Daraus wird ersichtlich, dass der Eintrag mit der scoreid 1 den besten Score hat, alle anderen Einträge mit der gleichen GameID sollen nun ignoriert werden.

mfg
Miniaturansicht angehängter Grafiken
selfphp-scores.jpg  
Mit Zitat antworten
  #6  
Alt 10.01.2007, 12:53:51
BenniG. BenniG. ist offline
Member
 
Registriert seit: Oct 2006
Beiträge: 610
BenniG. befindet sich auf einem aufstrebenden Ast
AW: Problem mit Highscore auslesen

MySQL-Version?

Das hier mal probieren, sollte dir erstmal alle maximalen Scores pro Game liefern
Code:
select gameid, max(score)max_score from tabelle group by gameid
Den Rest zum Score auslesen (geht imo nur über subquery):
Code:
select tabelle.gameid, tabelle.game, tabelle.userid, tabelle.username, tabelle.score 
from 
	tabelle,
	( select gameid, max(score)max_score from tabelle group by gameid ) max_scores
where
	tabelle.gameid=max_scores.gameid
	and tabelle.max_score = max_scored.max_score
order by
	tabelle.date,
	tabelle.time

Geändert von BenniG. (10.01.2007 um 12:54:16 Uhr)
Mit Zitat antworten
  #7  
Alt 10.01.2007, 13:07:58
Benutzerbild von Bogi
Bogi Bogi ist offline
Anfänger
 
Registriert seit: Aug 2004
Ort: Abtenau - Austria
Alter: 27
Beiträge: 85
Bogi befindet sich auf einem aufstrebenden Ast
Bogi eine Nachricht über ICQ schicken
AW: Problem mit Highscore auslesen

Vielen Dank!
Doch ich hab Probleme mit dem Einbinden.

Könntest du mir das ganze Erklären, komm damit nicht so ganz zurecht ;)

mfg

edit:
Falls ich alles richtig angepasst hab, kommt lediglich dieser fehler:
mysql error: Unknown column 'bb1_arcade.max_score' in 'where clause'

edit2:
so siehts jetzt bei mir aus:
Zitat:
$wingamer = $db->query("
select bb".$n."_arcade.gameid, bb".$n."_arcade.game, bb".$n."_arcade.userid, bb".$n."_arcade.username, bb".$n."_arcade.score
from
bb".$n."_arcade,
(select gameid, max(score)max_score from bb".$n."_arcade group by gameid ) max_scores
where
bb".$n."_arcade.gameid=max_scores.gameid
and bb".$n."_arcade.max_score = max_scores.max_score
order by
bb".$n."_arcade.date,
bb".$n."_arcade.time
");

Geändert von Bogi (10.01.2007 um 13:18:52 Uhr) Grund: noch was vergessen
Mit Zitat antworten
  #8  
Alt 10.01.2007, 13:42:19
BenniG. BenniG. ist offline
Member
 
Registriert seit: Oct 2006
Beiträge: 610
BenniG. befindet sich auf einem aufstrebenden Ast
AW: Problem mit Highscore auslesen

Versuchs mal so:
PHP-Code:
$wingamer $db->query("
select 
    score.gameid, score.game, score.userid, score.username, score.score
from
    bb"
.$n."_arcade score,
    (select gameid, max(score)max_score from bb"
.$n."_arcade group by gameid ) max_scores
where
    score.gameid=max_scores.gameid
    and score.score = max_scores.max_score
order by
    score.date,
    score.time
"
); 
Geht aber erst ab MySQL >=4.1
Mit Zitat antworten
  #9  
Alt 10.01.2007, 13:45:27
Benutzerbild von Bogi
Bogi Bogi ist offline
Anfänger
 
Registriert seit: Aug 2004
Ort: Abtenau - Austria
Alter: 27
Beiträge: 85
Bogi befindet sich auf einem aufstrebenden Ast
Bogi eine Nachricht über ICQ schicken
AW: Problem mit Highscore auslesen

danke, habs grad selbst rausgefunden ;)
PHP-Code:
and bb".$n."_arcade.score max_scores.max_score 
hab aber jetzt trotzdem deine upgedatete Version verwendet, da die um einiges schöner is ;)

Also, herzlichen Dank für die Hilfe :)

mfg
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem beim Auslesen aus mehreren Tabellen nomic MySQL 2 05.12.2006 15:59:35
Habe da ein Problem mit dem auslesen einer txt Datei flyscorpion PHP Grundlagen 2 06.01.2006 15:36:46
problem mit auslesen einer datei akasa MySQL 14 25.05.2005 15:19:52
Problem beim auslesen einer .txt mit pdftotext unter Linux erstellt wurde kruschde PHP für Fortgeschrittene und Experten 0 11.11.2004 14:51:59
Problem mit Tabelle auslesen Pommes2 PHP für Fortgeschrittene und Experten 1 23.02.2003 16:10:41


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:16:01 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.


© 2001-2014 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt