HTH-C.com - Forum
Latest News Latest Threads
Neuerung: Persönliche Galerie
Informationen zur Übernahme der Erweite..
HTH Blog - Version 2.0
#HTH.Systems - Betatester gesucht
Neueröffnung - PHPKit-Award.de
HTH Webchat v3
Letzter Beitrag Happy Birthday Bottyline Weiblicher Benutzer Heute, 0:00 Zeit der letzten Antwort
Letzter Beitrag Herzlich Willkommen Botty Männlicher Benutzer Gestern, 10:59 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 Treffnix Männlicher Benutzer 14.03.2024 - 06:20 Zeit der letzten Antwort
Letzter Beitrag Gibt es eigentlich noch jemand der PHPki.. Treffnix Männlicher Benutzer 14.03.2024 - 06:19 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 ohne ASCE auf PHP8x Myrddin Männlicher Benutzer 22.03.2023 - 13:36 Zeit der letzten Antwort
 53.800 Posts & 4.945 Themen in 78 Foren
Forenübersicht » Support / Hilfe » Allgemein » PHP/MySQL » Daten abfragen und ausgeben kö..

Daten abfragen und ausgeben können
16 Beiträge in diesem Thema
 Seiten (2):    1     2    Next    >  
11.12.2007 - 17:54 Uhr
Beitrag: #1
Ich habe ein ganz konkretes Problem:

Ich möchte den Inhalt einer Spalte von phpkit_userfields im profil des user anzeigen lassen, also im template userinfo eine "variable" haben, die den inhalt dieses feldes von dem user ausgibt.

ich habe es mit
$uservorname=$DB->fetch_array($DB->query("SELECT field_5 FROM ".$db_tab['userfields'].""));
in login/userinf.php ganz am ende vor ?> probiert...
dies funktioniert nur nicht, entweder is der abfrage befehlfalsch oder die stelle an dem ich die abfrage eingebaut habe. deshalb hier meine frage: wie kann ich den inhalt einer spalte (field_5) in phpkit-Userfields in der DB in dem template userinfo ausgeben?!

edit1: jetzt habe ich es in eine eigene php-datei gepackt und ber include eingebunden, ausgegeben wird jetzt Array.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von archipage - 11.12.2007 - 18:10 Uhr
 
Zum Anfang der Seite
11.12.2007 - 19:30 Uhr
Beitrag: #2
Folgende Abfrage müsstest du in deine userinfo.php VOR dem Aufruf des Templates userinfo packen...



1

PHP-Quelltext

$uservorname $DB->fetch_array($DB->query("SELECT field_5 FROM `".$db_tab['userfields']."` WHERE userid = '".$id."' LIMIT 1"));


Danach solltest du mit der Variable $uservorname['field_5'] auf den Wert zugreifen können, sofern der jeweilige User einen angegeben hat!
Solltest du den Wert direkt in einem Template verwenden wollen, so darauf achten das du die Hochkommas weglässt..Also so -> $uservorname[field_5]

Achtung: Code ist ungetestet, Backup nicht vergessen!

Grtz

 
Zum Anfang der Seite
11.12.2007 - 21:29 Uhr
Beitrag: #3
jap funktioniert, fehler war anscheinend das ich noch kein array hatte, thx!

 
Zum Anfang der Seite
28.12.2007 - 12:53 Uhr
Beitrag: #4
gleiches thema: anderer ort.
also mein problem ist das die abfrage komplexer sein müsste. ich habe nun die tabelle phpbb_ina_highscore.

http://www.bilder-space.de/show.php?file=yVtV0viGezEn6U2.gif

nun möchte ich den highscore für ein bestimmtes spiel abfragen und ausgeben.
also z.b beim spiel "spielname". es soll für "spielname" der highscore ausgelsen werden. dabei ist "spielname häufiger in der db gespeichert, da es mehrere user gespielt haben. nun müsste man also die spalte suchen wo der höchste highscore für "spielname" gespeichert ist. aus dieser sollten user und die zahl des highscores ermittelt werden und hinterher ausgegeben werden.
wenn noch kein eintrag zu "spielname" in der db existiert soll ein alternativer text ausgegeben werden, zb: "kein Highscore gespeichert".

ich hänge da iw fest, wiel ich mit den ganzen WHERE etc, also den Verknüpfungen nich so zurechtkomme...
ich glaub das müsste so ähnlich aussehen:

$highscore_spielname = $DB->fetch_array($DB->query("SELECT highscore_score FROM .....hier komm ich net weiter
$user_spielname= $DB->fetch_array($DB->query("SELECT highscore_player FROM ...... WHERE .....

 
Zum Anfang der Seite
28.12.2007 - 17:29 Uhr
Beitrag: #5
Also wenn ich dich richtig verstehe, willst du eine Liste erstellen, die nach den Games geordnet ist. Weiterhin soll der Highscore, der Spieler sowie weitere Details des Spiels ausgegeben werden, ja?

In dem Fall müsste der Code so lauten:




1

PHP-Quelltext

$scoreinfo=$DB->fetch_array($DB->query("SELECT * FROM phpbb_ina_highscore ORDER by highscore_game ASC"));


 
Zum Anfang der Seite
28.12.2007 - 18:51 Uhr
Beitrag: #6
nein ich will in einem template in dem spiele sind neben jedem spiel den besten spieler des spieles anzeigen, punkte und nick. desweiteren eine übersicht an den spielern, geordnet nach der anzahl bester plätze. und wenn man auf die punkte neben dem spiel klickt sollte zu dem spiel eine liste erscheinen, in der die punkte der einzelnen nutzer zu dem spiel sortiert und mit datum angezeigt werden!

 
Zum Anfang der Seite
29.12.2007 - 10:25 Uhr
Beitrag: #7
Entweder ich versteh das komplett falsch, oder ich versteh es richtig und habe bereits den Code geschrieben.

Aber nochmal für doofies. Das Template, wie sind die Spiele dort dargestellt? Untereinander, und dann daneben die jeweiligen Details? So wie in der Memberlist?

 
Zum Anfang der Seite
29.12.2007 - 10:35 Uhr
Beitrag: #8
hier: ich habe ein beispiel im Internet gefunden:
http://abpfiff06.de/abi/page.php?site=kram/spiele

so ähnlich sollte das auch aussehen, eine highscore-list (allerdings ohne punktesystem, da das glaub ich zu kompliziert wäre für highscores noch punkte zu vergeben), und die spiele hab ich eig. genauso aufgelistet, also besten punkte sollten angezeigt werden, mit verlinkung zu liste des jeweiligen spieles sowei der zugehörige user....

P.S: Bei deinem Code wird überings nur Array ausgegeben....

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von archipage - 29.12.2007 - 10:36 Uhr
 
Zum Anfang der Seite
29.12.2007 - 14:30 Uhr
Beitrag: #9
Der von mir gepostete Code soll ja die Verbindung zur Tabelle herstellen.

Diesen Code müsstest du dann in einer While-Schleife einbinden und dann ausgeben lassen.
In der While-Schleifen würden dann die jeweiligen Details ausgelesen werden.

Zum Beispiel wäre der Code so:




1
2
3
4
5
6
7

PHP-Quelltext

<?php
$getscoreinfo
=$DB->query("SELECT * FROM phpbb_ina_highscore ORDER by highscore_game ASC");
while (
$scoreinfo=$DB->fetch_array($getscoreinfo)) {
 eval (
"\$score_row.= \"".getTemplate("highscore/highscore_row")."\";");
}
eval (
"\$site_body.= \"".getTemplate("highscore/highscore")."\";");
?>
Im Template kannste nun alle nötigen Details ausgeben lassen. Einfach $scoreinfo[Datensatz] an die Stelle packen.

Datensatz --> highscore_id, highscore_year etc. Die Namen findest ja in der Datenbank.
Ist ungetestet, sollte aber funktionieren.

 
Zum Anfang der Seite
29.12.2007 - 14:45 Uhr
Beitrag: #10
ja das wäre dann ja für die highscore-übersicht, rcihtig?! aber ich bracuh ja auch eine übersicht für jedes einzelne spiel und vorallendingen die ausgaeb in dem tempalte game.htm, in dem die spiele aufgelistet sind! also der beste user für jedes spiel auslesen und user und punkte ausgeben.....

das beispiel entsprciht eig exaxt meinen vorstellungen! nur das bei der bestenliste mit den punkten kann man eben weglassen....

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von archipage - 29.12.2007 - 14:47 Uhr
 
Zum Anfang der Seite
29.12.2007 - 16:22 Uhr
Beitrag: #11
Nee, das wäre die Übersicht der Games, geordnet nach dem Alphabet.

Nun gut, nochmal überarbeitet, und mit der Annahme, es handeld sich um eine Kit-Erweiterung:

PHP-Datei: game.php




1
2
3
4
5
6
7

PHP-Quelltext

<?php 
$getgameinfo
=$DB->query("SELECT * FROM phpbb_ina_highscore LEFT JOIN ".$db_tab['user']." ON ".$db_tab['user'].".user_id=phpbb_ina_highscore.highscore_player ORDER by highscore_game ASC"); 
while (
$gameinfo=$DB->fetch_array($getgameinfo)) { 
 eval (
"\$game_row.= \"".getTemplate("game/game_row")."\";"); 
 } 
eval (
"\$site_body.= \"".getTemplate("game/game")."\";"); 
?>
Template: game_row.htm




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

PHP-Quelltext

<tr>
 <
td width="20%"><a title="Das Spiel $gameinfo[highscore_game] starten" href="include.php?path=game/game.php&id="><img src="" border="0" width="50" height="50"></a></td>
 <
td width="40%" align="center">
  <
a title="Das Spiel $gameinfo[highscore_game] starten" href="include.php?path=game/game.php&id=">$gameinfo[highscore_game]</a>
  <
br>
  <
a href="include.php?path=game/highscore.php&id=">$gameinfo[highscore_score]</a>
  <
br>
  <
a href="include.php?path=login/userinfo.php&id=$userinfo[user_id]">$gameinfo[highscore_player]</a>
 </
td>
 <
td width="40%" align="center">
  <
a title="Das Spiel $gameinfo[highscore_game] starten" href="include.php?path=game/game.php&id=">$gameinfo[highscore_game]</a>
  <
br>
  <
a href="include.php?path=game/highscore.php&id=">$gameinfo[highscore_score]</a>
  <
br>
  <
a href="include.php?path=login/userinfo.php&id=$gameinfo[user_id]">$gameinfo[user_nick]</a>
 </
td>
 <
td width="20%"><a title="Das Spiel $gameinfo[highscore_game] starten" href="include.php?path=game/game.php&id="><img src="" border="0" width="50" height="50"></a></td>
</
tr>


PHP-Datei: highscore.php




1
2
3
4
5
6
7

PHP-Quelltext

<?php 
$getscoreinfo
=$DB->query("SELECT * FROM phpbb_ina_highscore LEFT JOIN ".$db_tab['user']." ON ".$db_tab['user'].".user_id=phpbb_ina_highscore.highscore_player ORDER by highscore_score ASC"); 
while (
$scoreinfo=$DB->fetch_array($getscoreinfo)) { 
 eval (
"\$score_row.= \"".getTemplate("game/highscore_row")."\";"); 
 } 
eval (
"\$site_body.= \"".getTemplate("game/highscore")."\";"); 
?>
Template: highscore_row.htm




1
2
3
4
5

PHP-Quelltext

<tr>
 <
td><a href="include.php?path=login/userinfo.php&id=$scoreinfo[user_id]">$scoreinfo[user_nick]</a></td>
 <
td>$scoreinfo[highscore_score]</td>
 <
td>$score_time</td>
</
tr>
Wie gesagt, alles ungetestet und aus purer theorie zusammen gebastelt. Und mit der Annahme, das highscore_player die User-ID sein soll ôo

 
Zum Anfang der Seite
29.12.2007 - 16:38 Uhr
Beitrag: #12
bzw das problem bei deinem jetzigen code ist, dass einfach alle daten aus der datenbank ausgelesen werden und alle ausgegeben werden! aber da wird nichts geordent oder verknüpft bzw ausgewertet.
erstmal geht es mir aber nur um folgendes:



neben jedem spiel soll der user stehen der in dem spiel die meisten punkte erreicht hat, die erreichten punkte sollen ebenfalls angezeigt werden!
wenn man auf diese (die errecihten Punkte) klickt soll eine neue datei geöffnet werden in der die highscores für das spiel geordnet aufgelistet sind nach plätzen, also z.b
1. admin 3489 (punkte) datum an dem die punkte erreciht wurden
2. xy 3404 (punkte) datum

zudem sollte es eine liste geben´die die rangfolge anzeigt, also die erreichten plätze, z.b so:

1. xnsa mit x 1plätzen x 2plätzen x 3plätzen
.....
dabei muss natürlich berücksichtigt werden das ein 1 platz mehr wert is als ein 3...


ich hoffe es ist verständlich geworden was ich meine!


edit: sry für die viele arbeit, ich glaub das war ein missverständniss! ich glaub wir sollten ertsmal sicherstellen das mein anliegen richtig erklärt ist!
p.s// nein das is leider nich die user_id sondern der username!


Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von archipage - 29.12.2007 - 16:42 Uhr
 
Zum Anfang der Seite
29.12.2007 - 16:49 Uhr
Beitrag: #13
Deine Vorstellung versteh ich. Und ja, mir fällt gerade ein, das der Code dumm ist ^^"
Das LEFT JOIN bla bla müsste weg oder zumindest durch das , ".$db_tab['user']." ersetzt werden. Besser wär aber weg.

Ansonsten würd ich noch sagen, das du die Tabelle um highscore_playerid erweiterst, so das die Zuteilung der User besser funktioniert.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von k!r!ka - 29.12.2007 - 16:50 Uhr
 
Zum Anfang der Seite
29.12.2007 - 16:53 Uhr
Beitrag: #14
das problem ist das die spiele per phpbb activity mod funktionieren, wie in dem beispiel (http://abpfiff06.de/phpBB/activity.php?sid=0e898f6f15b84d614d1e9d088629a8e9 ) und ich nur einen userabgleich eingebaut habe. dieser übernimmt jedoch nicht die user_ids sondern nur den nick und pasword, man müsste also erstnoch mithilfe der nicknamen die id aus phpkit_users auslesen, wenn diese wirklich zwingend gebraucht wird....

ich denke für die highscores müsste man nich für jedes spiel was eigenes machen, könnte das nich so in der art aussehen und funktionieren: highscore.php&spiel=spielname

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von archipage - 29.12.2007 - 16:57 Uhr
 
Zum Anfang der Seite
31.12.2007 - 13:05 Uhr
Beitrag: #15
Also ich habe wie in dem Beispiel http://abpfiff06.de/phpBB/activity.php
PhpBB installiert und einen userabgleich ebenfsalls (bei diesem allerdings nich die userid übernommen wird!!).
ich habe die spiele auch schon richtig eingebunden, das einzigste problem ist und bleibt das einbinden der highscore-asugabe. wenn man sich das beispiel ansieht sieht man das es alles über die activity.php läuft, sodass ich diese inmal angehängt habe. ´
ich hoffe das hilft vll weiter.

 
Zum Anfang der Seite
 Seiten (2):    1     2    Next    >  

Ähnliche Themen
 
PHP/MySQL PHP/MySQL » mysql abfragen - Letzte Antwort von -=]LCL[=-|BuLLeT| am 16.09.07, 21:42 mysql abfragen  (16.09.07, 21:42)
Support Support » Benutzernamen+ID ausgeben ? - Letzte Antwort von k!r!ka am 03.10.12, 18:05 Benutzernamen+ID ausgeben ?  (03.10.12, 18:05)
PHP/MySQL PHP/MySQL » Nur IP mit dem Port 8080 ausgeben? - Letzte Antwort von k!r!ka am 30.06.09, 10:07 Nur IP mit dem Port 8080 ausgeben?  (30.06.09, 10:07)
Styles Styles » Neuste Artikel ausgeben. - Letzte Antwort von WEBI am 17.11.11, 09:46 Neuste Artikel ausgeben.  (17.11.11, 09:46)
Modifikationen Modifikationen » Phpkit News extern ausgeben - Letzte Antwort von k!r!ka am 03.08.11, 19:22 Phpkit News extern ausgeben  (03.08.11, 19:22)

HTH-C.com - Webmedien & Community