PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   SQL Abfrage in HTML Tabelle wiedergeben (http://www.selfphp.de/forum/showthread.php?t=25071)

Coolmaxl 26.09.2013 13:05:59

SQL Abfrage in HTML Tabelle wiedergeben
 
Hi, ich bin unerfahren in PHP Programmierung, deswegen wende ich mich an die Profis in diesem Forum.

Ich habe mit Joomla und Joomleague eine Seite für eine Dartliga erstellt. Ich möchte nun für die einzelnen Spieler eine Statistik erstellen. Die SQL Tabellen gibt es ja bereits.
Ich greife momentan mit folgendem Script darauf zu:
PHP-Code:

<?php
$db
=& JFactory::getDBO();
$query="SELECT T1.lastname, T1.firstname, T2.projectteam_id, T3.team_id, T4.statistic_id, T4.value
FROM #__joomleague_person T1, #__joomleague_team_player T2, #__joomleague_project_team T3, #__joomleague_match_statistic T4
WHERE T2.person_id = T1.id
AND T3.division_id = 2
AND T3.id = T2.projectteam_id /* Tabellen verknüpfen ... */
AND T2.id = T4.teamplayer_id /* ... Tabellen verknüpfen */
ORDER BY T4.value DESC, T1.lastname "
;
$db->setQuery($query);
$results $db->loadObjectList();

echo 
'<table border="1">';
echo 
"<th>Nachname</th><th>Vorname</th><th>Statistic ID</th><th>Spiele gespielt</th>"/* Spaltenüberschriften */
foreach($results as $result)
{
echo 
"<tr>";
echo 
"<td>".$result->lastname." </td>";
echo 
"<td>".$result->firstname." </td>";
echo 
"<td>".$result->statistic_id." </td>";
echo 
"<td>".$result->value." </td>";
echo
"</tr>";
}
echo 
"</table>";
?>

Nun habe ich das Problem das jeder Spieler nur 1x angezeigt werden soll und dann die values der statistic_id (1, 2, 3, 4, 5...) rechts daneben angeordnet und zum schluss eine Spalte (Faktor) die den schnitt von allen gespielten spielen und gewonnen ausrechnet und danach dann sortiert damit man sieht wer der beste ist. In etwa so:

Nachname | Vorname | Spiele gespielt | Spiele gewonnen | Legs gespielt | Legs gewonnen | Faktor
-----------------------------------------------------------------------------------------------
Mustermann | Max | 35 | 28 | 78 | 60 | 0.982

Kann mir da jemand weiterhelfen?

Ckaos 26.09.2013 23:42:19

AW: SQL Abfrage in HTML Tabelle wiedergeben
 
Hi,

Zitat:

das jeder Spieler nur 1x angezeigt werden soll
Das ist wohl eher ein MySql problem oder?
Dein Select sollte umgestellt werden und da ich/wir weder Joomleague kennen noch deren
DB Aufbau und du den auch vorenthälst können wir dir nicht helfen.

Vielleicht versuchst du es mal in einem der 1000 Joomla foren oder beim Plug/Mod Anbieter Joomleague.

Hier wird bei Eigenkreationen und nicht bei Anpassungen geholfen.

MfG

CKaos

PS: Das Willkommen habe ich mir gespart da es wahrscheinlich eh bei einem Beitrag bleibt!

Coolmaxl 27.09.2013 07:40:49

AW: SQL Abfrage in HTML Tabelle wiedergeben
 
Also ich muss schon sagen, der umgangston ist ganz schön unhöflich! Ich hab mich sogar geärgert als ich den Kommentar gelesen habe.
Ich habe doch ganz freundlich gefragt.
Das hier ist kein Grundlegendes Joomla oder Joomleague Problem sondern die PHP abfrage muss nur so umgestellt werden das die Select Abfrage (in der ja bereits alle Daten enthalten sind) richtig verarbeitet wird.
Ich dachte mir das wäre ein Reines PHP Problem. Die Tatsache das es mit Joomleague zu tun hat sollte nur zur weiteren Information dienen.

Ckaos 27.09.2013 08:44:16

AW: SQL Abfrage in HTML Tabelle wiedergeben
 
Hi,

Zitat:

Also ich muss schon sagen, der umgangston ist ganz schön unhöflich!
das war nicht so gemeint, vielleicht zitierst du mir das was dir missfallen hat, damit ich
den Fehler nicht erneut begehe ;)

Zitat:

Joomla oder Joomleague Problem
Aber es greift doch per Joomla Framework auf die DB von Joomleague zu oder?

Zitat:

PHP abfrage
MySQL

Zitat:

die Select Abfrage (in der ja bereits alle Daten enthalten sind)
Woher sollen wir das wissen wenn wir kein Ergebnis sehen, wir sehen nur
Zitat:

T1.lastname, T1.firstname, T2.projectteam_id, T3.team_id, T4.statistic_id, T4.value...(6 Werte)...
Nachname | Vorname | Spiele gespielt | Spiele gewonnen | Legs gespielt | Legs gewonnen | Faktor (7 Werte)
Und auf dem ersten Blick passt da einiges nicht zusammen, also...Glaskugel oder
selber Joomleague anschauen um dir zu helfen.

Zitat:

Die Tatsache das es mit Joomleague zu tun hat sollte nur zur weiteren Information dienen
Wie soll, deiner Meinung nach, das uns helfen?

Ich hoffe du merkst nun das deine gelieferten Informationen uns nicht helfen dir zu helfen.

Hier mal ein Ausschnitt wie und bei was wir dir helfen können:

MySQL:
Dazu benötigen wir zumindest einen Tabellenaufbau mit Testdaten ala
Code:

SHOW CREATE TABLE Hall_of_Fame;

CREATE TABLE `Hall_of_Fame` (
`spielnr` int(11) NOT NULL,
`spielimjahr` int(11) default NULL,
`jahr` int(11) default NULL,
`gold` varchar(200) character set utf8 collate utf8_unicode_ci default NULL,
`silber` varchar(200) character set utf8 collate utf8_unicode_ci default NULL,
`bronze` varchar(200) character set utf8 collate utf8_unicode_ci default NULL,
KEY `spielnr` (`spielnr`)
) ENGINE=MyISAM AUTO_INCREMENT=55 DEFAULT CHARSET=ascii COLLATE=ascii_bin

SHOW CREATE TABLE Namen;

CREATE TABLE `Namen` (
`ID` int(11) NOT NULL auto_increment,
`Name` varchar(100) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

INSERT ......

Und natürlich dein SELECT Versuch.

PHP:
Scriptauszug + Fehlermeldung + gewünschtes Ergebnis

HTML + JS:
siehe PHP

Hinzu kommt das es Foren gibt die sich genau mit deinem Basissystem beschäftigen und
sicherlich schon jemand genau das machen wollte/gemacht hat was du tun willst und ihr nun voneinander profitieren könnt.

MfG

CKaos

Coolmaxl 30.09.2013 13:53:14

AW: SQL Abfrage in HTML Tabelle wiedergeben
 
OK dann vielen Dank für Deine Mühe.
Dann schau ich mich in den anderen Foren um.
MfG


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:25:27 Uhr.

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