PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verzweifle gerade


MichaelKR
27.10.2009, 15:59:23
Hi ALL
Erst mal mein PGP code
<?php


@mysql_connect("localhost", "root", "")
or die ("Connection failed");

@mysql_select_db("test")
or die ("Database not found");


$query = "Select
rang,
spieler,
spiele,
siege,
remies,
verloren,
win,
doppelpunkt,
lost,
differenz,
punkte,
aktualisiert
from
1_ligaranking_8ball
order by
punkte desc,
siege desc,
differenz desc,
win desc

";

$result = mysql_query($query)
or die ("MySQL-Error: " . mysql_error());

echo "<table>
<tr>
<th class=\"ptable1\">Rang</th>
<th class=\"ptable2\">Spieler</th>
<th class=\"ptable1\">Spiele</th>
<th class=\"ptable2\">Siege</th>
<th class=\"ptable1\">Remies</th>
<th class=\"ptable2\">Verloren</th>
<th class=\"ptable1\">Frame.Win</th>
<th class=\"ptable3\"></th>
<th class=\"ptable2\">Frame.Lost</th>
<th class=\"ptable2\">Differenz</th>
<th class=\"ptable2\">Punkte</th>
<th class=\"ptable2\">Aktualisiert</th>
</tr>\n";
$rang = 1;
while($row = mysql_fetch_array($result))
{
echo "<tr class=\"ptable\">

<td class=\"rot\"><td>" . $rang . "</td></tr>
<td class=\"ptable2\">" . $row['spieler'] . "</td>
<td class=\"ptable1\">" . $row['spiele'] . "</td>
<th class=\"farbe2\">" . $row['siege'] . "</th>
<td class=\"ptable1\">" . $row['remies'] . "</td>
<td class=\"ptable2\">" . $row['verloren'] . "</td>
<th class=\"farbe3\">" . $row['win'] . "</th>
<td class=\"ptable1\">" . $row['doppelpunkt'] . "</td>
<td class=\"ptable2\">" . $row['lost'] . "</td>
<th class=\"farbe4\">" . $row['differenz'] . "</th>
<th class=\"farbe5\">" . $row['punkte'] . "</th>
<td class=\"ptable1\">" . $row['aktualisiert'] . "</td>
</tr>\n";
$rang++;

}

echo "</table>";

?>


Online sieht es so aus
http://onlinebillardfreunde.de/rankingtabellen/liga8ballranking.php

Ich versuche schon 4 Tage fast täglich mich darran das zb Zeile vom Rang 1
zb Farbe Grün hat
Zeile 2 Rang2 zb
Farbe anderes grün
Zeile 3 Rang 3 zb
Wieder anderes grün
Und die letzten beiden ränge Zeilen zb rot den rest ein wenig blau
Schrift schwarz und alles gecentert

Auser das feld Spieler das muss linksbündig sein

Wer kann mir da helfen, vieleicht ist es ja auch im css code machbar
Danke im vorraus

Michael

Indyk
27.10.2009, 16:13:23
Hallo Michael,

du hast leider nicht beschrieben wo dein Problem ist, was klappt denn nicht? Hast du überhaupt eine CSS datei mit entsprechenden deklarationen eingebunden (http://www.css4you.de/wscss/css02.html#head)?

MichaelKR
27.10.2009, 16:20:38
Hallo
Ich hatte eine css angebunden gehabt code

.ptable {
background-color:#000000; /*cyan*/
}
td.ptable1 {
background-color:#000000; /*lightskyblue*/
text-align:center;
}
td.ptable2 {
background-color:#000000; /*lightskyblue*/
text-align:center;
}
td.ptable3 {
background-color:#000000; /*lightskyblue*/
text-align:center;
font-weight:bold;
font-color:#white;
}
th.ptable1 {
background-color:#000000; /*lightskyblue*/
text-align:center;
}
th.ptable2 {
background-color:#000000; /*lightskyblue*/
text-align:center;
}
th.ptable3 {
background-color:#000000; /*lightskyblue*/
text-align:center;
font-weight:bold;
font-color:#white;
}
th.ptable4 {
background-color:#000000; /*lightskyblue*/
text-align:left;
}

Aber irgentwie kann ichd amit nur Ganzen SPALTEN farben zu weisen aber nicht ZEILEN allso das jede Zeile ich einer Farbe geben kann hmmm

Mfg
Michael

cortex
27.10.2009, 16:22:41
hallo MichaelKR,

auch an dich der (gut gemeinte) hinweis: gib deinem thread bitte einen vernünftigen titel - wir sind hier nicht im kindergarten. dazu auch noch mal unsere forenrichtlinien (http://www.selfphp.de/forum/forumdisplay.php?f=12).

cx

MichaelKR
27.10.2009, 16:29:25
Ok danke werde in zukunft darrauf achten sorry
Mfg

urvater
28.10.2009, 00:50:58
Mit css ist du hier auf dem richtigen Weg. Ich hab dir mal eine Beispieltabelle erstellt, die deinen Wünschen in etwa entspricht. Die fehlende Zentrierung solltest du nun auch noch so recht einfach hinbekommen.
<style type="text/css">
td { border:1px solid black;}
table { border-collapse:collapse;}
.platz1 { background-color:#00FFAF;}
.platz2 { background-color:#00E090;}
.platz3 { background-color:#00C070;}
.mitte { background-color:#00C0FF;}
.vorletzter { background-color:#FF0000;}
.letzter { background-color:#DF0000}
</style>

<table>
<tr class="platz1">
<td> 0</td>
<td> 1</td>
<td> 2</td>
<td> 3</td>
</tr>
<tr class="platz2">
<td> 4</td>
<td> 5</td>
<td> 6</td>
<td> 7</td>
</tr>
<tr class="platz3">
<td> 8</td>
<td> 9</td>
<td> 10</td>
<td> 11</td>
</tr>
<tr class="mitte">
<td> 12</td>
<td> 13</td>
<td> 14</td>
<td> 15</td>
</tr>
<tr class="vorletzter">
<td> 16</td>
<td> 17</td>
<td> 18</td>
<td> 19</td>
</tr>
<tr class="letzter">
<td> 20</td>
<td> 21</td>
<td> 22</td>
<td> 23</td>
</tr>
</table>

MichaelKR
28.10.2009, 01:17:13
Danke dir für die mühe, ich bekomme blos leider den einbau in meinen code net hin egal wie ichs mache es kalpt einfach nicht leider
Mfg
Michael

urvater
28.10.2009, 01:39:58
Wenn du immer nur die ersten 10 Plätze anzeigen lassen willst könntest du einen Counter über diese 10 Ergebnissse nutzen. Bei unbekannter Grösse der Liste benötigst du die Menge des Ergebnisses, welches deine Datenbankabfrage ergeben hat.
Dann könnte man das Ergenis entsprechend z.B. per Switch auswerten lassen.
Einfacher wäre es vermutlich, wenn du das Ergebnis deiner DB Abfrage in einem Array schreiben würdest und du dieses dann bei der Ausgabe entsprechend auswerten würdest.

Mit mysql_num_rows() bekommst du die Menge deiner Abfrage raus.

xlb
28.10.2009, 02:23:43
N'Abend ...

Könntest du mal einen kompletten Quellcode online stellen, bzw. ein "kompletteres" Markup?
So mit DocType, html-, head-, body-Tags und vor allem mit der Einbindung des CSS(-Files) ...

PHP/MySQL scheint ja die Daten schon mal so zu liefern, wie gewünscht.

Sieht für mich so aus, als würd's da an was "grundsätzlichem" hapern.


Späte Grüsse,
xlb

urvater
28.10.2009, 02:33:50
Nun ist doch eigentlich alles gut ersichtlich. Zur Zeit fehlt ihm nur eine Unterscheidung der Platzierung für die Auswahl der entsprechenden class im CSS für die Zeile.
Die Ausgabe erfolgt zur Zeit direkt. Somit kann auch keine unterschiedliche Hintergrundfarbe für die Zeile gewählt werden.

Im WHILE müsste noch eine Bedingung für die class geschaffen werden. Die Frage besteht zur Zeit eigentlich nur darin ob er eine feste Anzahl an Plazierungen hat oder ob diese sich permanent ändern kann. Hat man eine immer gleiche Anzahl an Platzierungen macht sich ein kleiner SWITCH am einfachsten. Ist die Anzahl der Plazierungen unterschiedlich müsste man halt mit der Menge aus der DB Abfrage arbeiten.

MichaelKR
28.10.2009, 10:59:38
Allso derzeit sieht meine PHP so aus
<link href="style.css" rel="stylesheet" type="text/css" />


<?php


@mysql_connect("HOST", "USER", "PASS")
or die ("Connection failed");

@mysql_select_db("DATENBANKNAME")
or die ("Database not found");


$query = "Select
rang,
spieler,
spiele,
siege,
remies,
verloren,
win,
doppelpunkt,
lost,
differenz,
punkte,
aktualisiert
from
1_ligaranking_8ball
order by
punkte desc,
siege desc,
differenz desc,
win desc

";

$result = mysql_query($query)
or die ("MySQL-Error: " . mysql_error());

echo "<table>
<tr>
<th class=\"ptable1\">Rang</th>
<th class=\"ptable2\">Spieler</th>
<th class=\"ptable1\">Spiele</th>
<th class=\"ptable2\">Siege</th>
<th class=\"ptable1\">Remies</th>
<th class=\"ptable2\">Verloren</th>
<th class=\"ptable1\">Frame.Win</th>
<th class=\"ptable3\"></th>
<th class=\"ptable2\">Frame.Lost</th>
<th class=\"ptable2\">Differenz</th>
<th class=\"ptable2\">Punkte</th>
<th class=\"ptable2\">Aktualisiert</th>
</tr>\n";
$rang = 1;
while($row = mysql_fetch_array($result))
{
echo "<tr class=\"ptable\">


<td class=\"ptable1\">" . $rang . "</td>
<td class=\"ptable2\">" . $row['spieler'] . "</td>
<td class=\"ptable1\">" . $row['spiele'] . "</td>
<td class=\"ptable2\">" . $row['siege'] . "</td>
<td class=\"ptable1\">" . $row['remies'] . "</td>
<td class=\"ptable2\">" . $row['verloren'] . "</td>
<td class=\"ptable1\">" . $row['win'] . "</td>
<td class=\"ptable1\">" . $row['doppelpunkt']. "</td>
<td class=\"ptable2\">" . $row['lost'] . "</td>
<td class=\"ptable1\">" . $row['differenz'] . "</td>
<td class=\"ptable2\">" . $row['punkte'] . "</td>
<td class=\"ptable1\">" . $row['aktualisiert'] . "</td>
</tr>\n";
$rang++;

}

echo "</table>";


?>


Zu sehen online
http://onlinebillardfreunde.de/rankingtabellen/liga8ballranking.php

Mein CSS sieht so aus

.ptable {
background-color:#33B200; /*cyan*/
}
td.ptable1 {
background-color:#33B200; /*lightskyblue*/
text-align:center;
}
td.ptable2 {
background-color:#00E500; /*lightskyblue*/
text-align:center;
}
th.ptable1 {
background-color:#33B200; /*lightskyblue*/
text-align:center;
}
th.ptable2 {
background-color:#00E500; /*lightskyblue*/
text-align:center;
}

Einzelne SPALTEN klapt ja eins A aber Zeilen hmmmmmmm

Es ist so das wir eine Liga haben Online
Die plätze allso spielernamen wechseln ständig es wird ja nicht immerd er selbe 1 oder 2 usw

Blos ich wollte eben haben das den Zeilen feste farben gegebn wird egal ob es 10 oder 20 spieler sind
Zb
Zeile 1 Rang Dunkelgrün
Zeile 2 Rang Helleres grün
Zeile 3 Rang Noch Helleres grün
Zeile Letzter Platz ROT
Zeile vorletzter Platz Helleres Rot
Alles was von Platz 4 bis zum 3 letzten Platz ist sollte weiss sein egal ob sich nun 10 spieler im mittelfeld bewegen oder 20

Ich Lese wirklich schon stunden udn Nächte mich dursch, bekomem es aber leider nicht hin hmmm

Mfg
Michael

Indyk
28.10.2009, 11:10:44
Hallo Michael,

in dem fall musst du doch einfach nur für die zeilen (TR) entsprechendes def.

tr.erster = deine farbe
tr.zweiter = farbe für zweiter etc.

und dann im script darauf achten das du den ersten und letzten zeilen auch die entsprechenden klassen gibst.


<tr class="erster">
<td>name</td>
<td>siege</td>
.....
</tr>
<tr class="zweiter">
...
</tr>
<tr>
..
</tr>
<tr class="vorletzter">
..
</tr>
....


oder hab ich dein problem noch immer nicht verstanden?

urvater
28.10.2009, 11:20:37
Mit Platzierungen meinte ich die mögliche Menge der Plätze. Die Bundesliga hat ja z.B. eine feste Anzahl an Manschaften. Somit kann man leicht einen Switch nutzen um Platz 1-3, vorletzte und letzter auszuwerten. Alles andere wird dort dann per default gesetzt.
Ändert sich aber in deiner Liga die Anzahl der Teilnehmer und somit möglichen Platzierungen wird es nur geringfügig anders.

Um es mal an deinem Beispiel mal dein Problem zu erklären mal eine Beschreibung. $rang = 1;
while($row = mysql_fetch_array($result)) //wird solange ausgeführt bis die Bedingung nicht mehr erüllt wird.
{
echo "<tr class=\"ptable\"> //hier wird deine Zeile erzeugt. Somit muss "class" je nach Platzierung einen anderen Wert erhalten.


<td class=\"ptable1\">" . $rang . "</td>
<td class=\"ptable2\">" . $row['spieler'] . "</td>
<td class=\"ptable1\">" . $row['spiele'] . "</td>
<td class=\"ptable2\">" . $row['siege'] . "</td>
<td class=\"ptable1\">" . $row['remies'] . "</td>
<td class=\"ptable2\">" . $row['verloren'] . "</td>
<td class=\"ptable1\">" . $row['win'] . "</td>
<td class=\"ptable1\">" . $row['doppelpunkt']. "</td>
<td class=\"ptable2\">" . $row['lost'] . "</td>
<td class=\"ptable1\">" . $row['differenz'] . "</td>
<td class=\"ptable2\">" . $row['punkte'] . "</td>
<td class=\"ptable1\">" . $row['aktualisiert'] . "</td>
</tr>\n";
$rang++;

}
Wenn du immer eine feste Anzahl an Platzierungen hättest würde ich es so machen. $rang = 1;
while($row = mysql_fetch_array($result))
{
switch($rang) {
case 1 : $class = "Name der Klasse"; //Name der CSS Klasse für Platz 1
break;
case 2 : $class = "Name der Klasse"; //Name der CSS Klasse für Platz 2
break;
case 3 : $class = "Name der Klasse"; //Name der CSS Klasse für Platz 3
break;
case 9 : $class = "Name der Klasse"; //Name der CSS Klasse für Platz 9
break;
case 10 : $class = "Name der Klasse"; //Name der CSS Klasse für Platz 10
break;
default $class = "Name der Klasse"; //Name der CSS Klasse für alle anderen Plätze

}
echo "<tr class='".$class."'>


<td>" . $rang . "</td>
<td>" . $row['spieler'] . "</td>
<td>" . $row['spiele'] . "</td>
<td>" . $row['siege'] . "</td>
<td>" . $row['remies'] . "</td>
<td>" . $row['verloren'] . "</td>
<td>" . $row['win'] . "</td>
<td>" . $row['doppelpunkt']. "</td>
<td>" . $row['lost'] . "</td>
<td>" . $row['differenz'] . "</td>
<td>" . $row['punkte'] . "</td>
<td>" . $row['aktualisiert'] . "</td>
</tr>\n";
$rang++;

}
So ein Switch ist ja nicht anderes als ein IF-ELSE. Der Weert für die CLASS muss ja pro Durchlauf neu gesetzt werden, damit auch tatsächlich die Zeile einen neuen Farbwert erhalten kann.
Deine Spalten werden ja alle pro Durchlauf geschrieben, weshalb es hier leichter ist, die Spalten unterscheidlich zu färben.

MichaelKR
28.10.2009, 11:37:04
Danke das du mir so sehr helfen willst und gedult mit mir hast ich habe das nun mal so gemacht

$query = "Select
rang,
spieler,
spiele,
siege,
remies,
verloren,
win,
doppelpunkt,
lost,
differenz,
punkte,
aktualisiert
from
1_ligaranking_8ball
order by
punkte desc,
siege desc,
differenz desc,
win desc

";

$result = mysql_query($query)
or die ("MySQL-Error: " . mysql_error());

echo "<table>
<tr>
<th class=\"ptable1\">Rang</th>
<th class=\"ptable2\">Spieler</th>
<th class=\"ptable1\">Spiele</th>
<th class=\"ptable2\">Siege</th>
<th class=\"ptable1\">Remies</th>
<th class=\"ptable2\">Verloren</th>
<th class=\"ptable1\">Frame.Win</th>
<th class=\"ptable2\"></th>
<th class=\"ptable1\">Frame.Lost</th>
<th class=\"ptable2\">Differenz</th>
<th class=\"ptable1\">Punkte</th>
<th class=\"ptable2\">Aktualisiert</th>
</tr>\n";
$rang = 1;
while($row = mysql_fetch_array($result))
{
switch($rang) {
case 1 : $class = "#33B200"; //Farbwert Platz 1
break;
case 2 : $class = "#00E500"; //Farbwert Platz 2
break;
case 3 : $class = "#33B200"; //Farbwert Platz 3
break;
case 9 : $class = "#00E500"; //Farbwert Platz 9
break;
case 10 : $class = "#33B200"; //Farbwert Platz 10
break;
default $class = "#00E500"; //Farbwert alle anderen Plätze

}
echo "<tr class='".$class."'>


<td class=\"ptable1\">" . $rang . "</td>
<td class=\"ptable2\">" . $row['spieler'] . "</td>
<td class=\"ptable1\">" . $row['spiele'] . "</td>
<td class=\"ptable2\">" . $row['siege'] . "</td>
<td class=\"ptable1\">" . $row['remies'] . "</td>
<td class=\"ptable2\">" . $row['verloren'] . "</td>
<td class=\"ptable1\">" . $row['win'] . "</td>
<td class=\"ptable1\">" . $row['doppelpunkt']. "</td>
<td class=\"ptable2\">" . $row['lost'] . "</td>
<td class=\"ptable1\">" . $row['differenz'] . "</td>
<td class=\"ptable2\">" . $row['punkte'] . "</td>
<td class=\"ptable1\">" . $row['aktualisiert'] . "</td>
</tr>\n";
$rang++;

}

echo "</table>";


?>

Und bekomme beim aufruf im browser aber

Parse error: syntax error, unexpected T_VARIABLE, expecting ':' or ';' in /mnt/web8/53/77/51768377/htdocs/rankingtabellen/liga8ballranking.php on line 69

Ich weis das ich da bestimtm wo wieder einen denkfehler habe, aber welchen ;-(
Mfg
Michael

Indyk
28.10.2009, 11:44:46
Hallo Michael, Syntax fehler sind bestimmt keine denkfehler, du hast irgendwo ein ; vergessen. (konnte die stelle beim überfliegen leider auch nicht finden)
UPDATE

da fehlt ein : bei default


default : $class = "#00E500"; //Farbwert alle anderen Plätze


(ist nichtmal deine schuld ; )

MichaelKR
28.10.2009, 11:46:29
HAbs auch so versucht selbe fehlermeldung
$rang = 1;
while($row = mysql_fetch_array($result))
{
switch($rang) {
case 1 : $class = "td.ptable1"; //Name der CSS Klasse für Platz 1
break;
case 2 : $class = "td.ptable1"; //Name der CSS Klasse für Platz 2
break;
case 3 : $class = "td.ptable1"; //Name der CSS Klasse für Platz 3
break;
case 9 : $class = "td.ptable2"; //Name der CSS Klasse für Platz 9
break;
case 10 : $class = "td.ptable2"; //Name der CSS Klasse für Platz 10
break;
default $class = "td.ptable2"; //Name der CSS Klasse für alle anderen Plätze

}
echo "<tr class='".$class."'>


<td>" . $rang . "</td>
<td>" . $row['spieler'] . "</td>
<td>" . $row['spiele'] . "</td>
<td>" . $row['siege'] . "</td>
<td>" . $row['remies'] . "</td>
<td>" . $row['verloren'] . "</td>
<td>" . $row['win'] . "</td>
<td>" . $row['doppelpunkt']. "</td>
<td>" . $row['lost'] . "</td>
<td>" . $row['differenz'] . "</td>
<td>" . $row['punkte'] . "</td>
<td>" . $row['aktualisiert'] . "</td>
</tr>\n";
$rang++;

}

echo "</table>";


Parse error: syntax error, unexpected T_VARIABLE, expecting ':' or ';' in /mnt/web8/53/77/51768377/htdocs/rankingtabellen/liga8ballranking.php on line 69

Line 69 steht
default $class = "td.ptable2"; //Name der CSS Klasse für alle anderen Plätze

Mfg
Michael

Indyk
28.10.2009, 11:47:25
siehe update beim vorpost

MichaelKR
28.10.2009, 11:49:41
Ok danke nun wird schonmal was angezeigt aber nicht komplette zeilen farbig sondern auch wieder nur spalten hmmm
http://onlinebillardfreunde.de/rankingtabellen/liga8ballranking.php


$query = "Select
rang,
spieler,
spiele,
siege,
remies,
verloren,
win,
doppelpunkt,
lost,
differenz,
punkte,
aktualisiert
from
1_ligaranking_8ball
order by
punkte desc,
siege desc,
differenz desc,
win desc

";

$result = mysql_query($query)
or die ("MySQL-Error: " . mysql_error());

echo "<table>
<tr>
<th class=\"ptable1\">Rang</th>
<th class=\"ptable2\">Spieler</th>
<th class=\"ptable1\">Spiele</th>
<th class=\"ptable2\">Siege</th>
<th class=\"ptable1\">Remies</th>
<th class=\"ptable2\">Verloren</th>
<th class=\"ptable1\">Frame.Win</th>
<th class=\"ptable2\"></th>
<th class=\"ptable1\">Frame.Lost</th>
<th class=\"ptable2\">Differenz</th>
<th class=\"ptable1\">Punkte</th>
<th class=\"ptable2\">Aktualisiert</th>
</tr>\n";
$rang = 1;
while($row = mysql_fetch_array($result))
{
switch($rang) {
case 1 : $class = "td.ptable1"; //Name der CSS Klasse für Platz 1
break;
case 2 : $class = "td.ptable1"; //Name der CSS Klasse für Platz 2
break;
case 3 : $class = "td.ptable1"; //Name der CSS Klasse für Platz 3
break;
case 9 : $class = "td.ptable2"; //Name der CSS Klasse für Platz 9
break;
case 10 : $class = "td.ptable2"; //Name der CSS Klasse für Platz 10
break;
default : $class = "td.ptable2"; //Name der CSS Klasse für alle anderen Plätze

}
echo "<tr class='".$class."'>


<td>" . $rang . "</td>
<td>" . $row['spieler'] . "</td>
<td>" . $row['spiele'] . "</td>
<td>" . $row['siege'] . "</td>
<td>" . $row['remies'] . "</td>
<td>" . $row['verloren'] . "</td>
<td>" . $row['win'] . "</td>
<td>" . $row['doppelpunkt']. "</td>
<td>" . $row['lost'] . "</td>
<td>" . $row['differenz'] . "</td>
<td>" . $row['punkte'] . "</td>
<td>" . $row['aktualisiert'] . "</td>
</tr>\n";
$rang++;

}

echo "</table>";


Mfg
Michael

Indyk
28.10.2009, 11:59:20
Du solltest dir nochmal eindeutig die CSS Grundlagen durchlesen. der klassenname ist nicht td.ptable1

sondern ptable1

du hast auch keine deklaration für die Zeilen (TR) sondern nur für spalten (TD) das heißt du müsstest dein css um tr.ptable1 erweitern, oder die zuweisung gleich weglassen und eine allgemeine klasse machen .ptable die du dann jedem element zuweisen kannst.

MichaelKR
28.10.2009, 12:17:42
Aha so langsam wirt es *g*
http://onlinebillardfreunde.de/rankingtabellen/liga8ballranking.php

Habe aber noch ein problem
die erste reihe allso Überschrift stimmt noch nicht, was ach ich da nur wieder falsch hmm
http://onlinebillardfreunde.de/rankingtabellen/liga8ballranking.php

CSS
.ptable1 {
background-color:#33B200; /*cyan*/
text-align:center;
}
.ptable2 {
background-color:#00E500; /*lightskyblue*/
text-align:center;
}
.ptable3 {
background-color:#66FF66; /*lightskyblue*/
text-align:center;
}
.ptable4 {
background-color:#FF4D33; /*lightskyblue*/
text-align:center;
}
.ptable5 {
background-color:#FF4D33; /*lightskyblue*/
text-align:center;
}
.ptable6 {
background-color:#B2B2B2; /*lightskyblue*/
text-align:center;
}


PHP
$query = "Select
rang,
spieler,
spiele,
siege,
remies,
verloren,
win,
doppelpunkt,
lost,
differenz,
punkte,
aktualisiert
from
1_ligaranking_8ball
order by
punkte desc,
siege desc,
differenz desc,
win desc

";

$result = mysql_query($query)
or die ("MySQL-Error: " . mysql_error());

echo "<table>
<tr>
<th class=\"ptable1\">Rang</th>
<th class=\"ptable2\">Spieler</th>
<th class=\"ptable1\">Spiele</th>
<th class=\"ptable2\">Siege</th>
<th class=\"ptable1\">Remies</th>
<th class=\"ptable2\">Verloren</th>
<th class=\"ptable1\">Frame.Win</th>
<th class=\"ptable2\"></th>
<th class=\"ptable1\">Frame.Lost</th>
<th class=\"ptable2\">Differenz</th>
<th class=\"ptable1\">Punkte</th>
<th class=\"ptable2\">Aktualisiert</th>
</tr>\n";
$rang = 1;
while($row = mysql_fetch_array($result))
{
switch($rang) {
case 1 : $class = "ptable1"; //Name der CSS Klasse für Platz 1
break;
case 2 : $class = "ptable2"; //Name der CSS Klasse für Platz 2
break;
case 3 : $class = "ptable3"; //Name der CSS Klasse für Platz 3
break;
case 9 : $class = "ptable4"; //Name der CSS Klasse für Platz 9
break;
case 10 : $class = "ptable5"; //Name der CSS Klasse für Platz 10
break;
default : $class = "ptable6"; //Name der CSS Klasse für alle anderen Plätze

}
echo "<tr class='".$class."'>


<td>" . $rang . "</td>
<td>" . $row['spieler'] . "</td>
<td>" . $row['spiele'] . "</td>
<td>" . $row['siege'] . "</td>
<td>" . $row['remies'] . "</td>
<td>" . $row['verloren'] . "</td>
<td>" . $row['win'] . "</td>
<td>" . $row['doppelpunkt']. "</td>
<td>" . $row['lost'] . "</td>
<td>" . $row['differenz'] . "</td>
<td>" . $row['punkte'] . "</td>
<td>" . $row['aktualisiert'] . "</td>
</tr>\n";
$rang++;

}

echo "</table>";


Mfg
Michael

cortex
28.10.2009, 12:19:39
Du solltest dir nochmal eindeutig die CSS Grundlagen durchlesen [...]

Indyk, verlierst du schlussendlich doch noch die geduld...? .-p

@MichaelKR: kennst du eigentlich selfhtml (http://de.selfhtml.org/)?

cx

MichaelKR
28.10.2009, 12:21:52
Dann ist das problem da wen ich ein neuer user eintrage wird aus der zeile RANg 9 nicht grau und Rang 11 rot sondern umgekehrt

http://onlinebillardfreunde.de/rankingtabellen/liga8ballranking.php

Mfg
Michael

MichaelKR
28.10.2009, 12:28:45
@cortex

Ich lese täglich über self php mysql, blos muss ich ehrlich zu geben das es mir leider schwer fällt sachen wirklich gleich zu verstehen oder zu kapieren, und wen ich ganz ehrlich bin versuche ich das mit den Färben der zeilen schon Tagelang, sorry es ist auch nicht wirklich so das ich grosses programieren lernen möchte weil ich glaube das schaffe ich nicht wirklich blos wie gesagt ich arbeite mit datenbank usw php sonst hätte ich die tabelle ohne farbe ja nicht hinbekommen, blos eben das mit dem einfärben will mir einfach net in kop sorry

Mfg
Michael

MichaelKR
28.10.2009, 12:48:32
HAbe es ja nun fast hinbekommen
http://onlinebillardfreunde.de/rankingtabellen/liga8ballranking.php

Es geht halt nun nur darrum, das wen spieler dazu kommen egal ob es 12 oder 20 ränge gibt immer die farben auch bleiben und nicht wie in meinem link der 11 GRAU ist.

Mfg
Michael

Indyk
28.10.2009, 12:51:59
Auf genau das Problem hatte urvater versucht dich hinzuweisen. (wenn ich mich richtig erinnere) wenn du keine feste anzahl an spielern hast sondern diese variabel ist, kannst du auch nicht mit festen werten arbeiten wie du es jetzt tust.

siehe switch/case dort sagst du das der platz 9 und 10 die klasse x haben sollen, das 9 und 10 nicht die letzten plätze auf deiner tabelle sind interessiet das script nicht.

du musst herausfinden wieviele spieler es sind mit z.b.
mysql_num_rows (http://php.net/manual/en/function.mysql-num-rows.php)

und an deren anzahl kannst du dann festlegen wer der letzte ist. Und genau so musst du das im script dann umschreiben.

Allerdings solltest du dich langsam entscheiden ob du hilfe zur selbsthilfe möchtest (dazu sind wir nämlich da) oder ob du jetzt jammerst und hoffst das es jemand schnell mal für dich fertig macht damit du es endlich hinter dir hast.

beim letzteren bist du hier im falschen forum ( :

viel erfolg!

@cortex nönö ( :

cortex
28.10.2009, 12:59:46
Ich lese täglich über self php mysql

liest du auch richtig / gründlich? ich sprach von:

kennst du eigentlich selfhtml (http://de.selfhtml.org/)?

ich habe nämlich den eindruck, dass du sehr grosse probleme mit HTML / CSS hast. mit programmierung - bspw. in php / sql - hat das zuerst einmal nicht das geringste zu tun...

cx

urvater
28.10.2009, 15:51:35
Eintrag gelöscht, da nicht bis zum Ende gelesen.

Jup auf das Problem mit einer unbekannten Menge an Platzierungen hatte ich hingewiesen. Auch auf den Lösungsansatz per mysql_num_rows().
Was nun eigentlich fehlt ist leichte Mathematik.
Wenn das Ergebnis XY die gesamte Menge meiner Abfrage ergibt, was ist wohl der letzte und vorletzte Platz?

PS: Zum Syntaxfehler kann ich mich nur entschuldigen. Ist nicht so einfach nach einer Nachtschicht ohne Testen.

Indyk
28.10.2009, 16:01:07
@urvater

klatsch einfach ein "ungetestet" dahinter dann kann dir niemand was vorwerfen und du brauchst dich nicht für deine hilfe entschuldigen ( ;

MichaelKR
28.10.2009, 17:46:21
@urvater

klatsch einfach ein "ungetestet" dahinter dann kann dir niemand was vorwerfen und du brauchst dich nicht für deine hilfe entschuldigen ( ;

Ich habe mich nicht beschwert im gegenteil, den urvater scheint hier wohl der ferundlichste zu sein

Was ich nicht verstehe, wen in ein Forum gehe wo es um reines HTML geht bekommt man wirklich hilfe ohne gemecker und ohne das man gleich ABITUR haben muss.

Geht es aber um PHP, MYSQL CSS self usw da heist es nur
Lern es selber lies dir alles dursch

--Ich sagte hier schonmal ich will kein programieren lernen mir geht es einfach nur um die farben, allso stell ich mir die frage ob alle prifies angst haben 1 satz zuviel zu schreiben das der wie ich eventuel was programieren kann wo man millionär werden könnte.

Nochmals DANKE im gorssen sinne an Urvater
Und denen die hier freundlich waren, viele warens ja nicht gerade

PS: ich lern mit sicherheit net tagelang self und alels bis ich mal geholfen bekomme wegen einer Tabelle wo schon fast fertig ist und es nur rein um farben geht
versteh das nicht wirklich sorry


Mfg
Michael

urvater
28.10.2009, 18:30:14
Das Forum nennt sich SELFPHP. Das SELF steht dabei für SELBST. Grundsätzlich dient es also dazu sich "in eine/die richtige Richtung" lenken zu lassen oder sich mehrere Ansichten einzuholen.
Meine Freundlichkeit basiert eigentlich nur auf der Grundlage, daß zumindest der Switch für mich schneller zu schreiben war als eine Erklärung abzugeben in welche Richtung du dich umschauen solltest.

Gerade bei Serverseitigen Skripten ist es grundsätzlich immer besser, wenn man selbst weiß, was man da macht oder zumindest versteht was in einem Skript vorgeht als sich blind auf vorgefertigten Code zu verlassen.

In deinem Beispiel ist es recht einfach, da es hier eigentlich um CSS ging. Andere haben ein anderes Problem, welches man nicht einfach so als fertigen Code anbieten kann, da dort z.B. auch Sicherheit und Fehler abfangen eine grosse Rolle spielen.

Hättest du dich also ein klein wenig mehr mit der Arbeitsweise eine Schleife auseinander gesetzt und dein CSS Wissen aufgebessert, hätte sich dein Problem vielleicht sogar von selbst gelöst oder du hättest nur noch einen kleinen Denkanstoss benötigt.

cortex
28.10.2009, 18:45:02
Ich habe mich nicht beschwert im gegenteil

das hast du wohl in den falschen hals bekommen; ich bin mir sicher, Indyk hat nicht dich persönlich gemeint...

[...] scheint hier wohl der ferundlichste zu sein [...]

meiner beobachtung nach werden in foren häufig diejenigen als freundlich oder nett beurteilt, die (halb-)fertige lösungen liefern.

[...] wo es um reines HTML geht bekommt man wirklich hilfe ohne gemecker [...]

das könnte daran liegen, dass HTML nun wirklich keine raketenwissenschaft ist und der pool an leuten,die kompetente hilfestellungen geben können, schlichtweg grösser ist.

PS: ich lern mit sicherheit net tagelang self und alels bis ich mal geholfen bekomme

das kann ich gut verstehen - ehrlich. du musst das aber auch mal aus unserer perspektive sehen - wir haben auch keine lust, triviale probleme wieder und wieder durchzukauen, zumal es sehr gute (kostenlose und frei verfügbare) tutorials gibt, die genau das leisten.

Hättest du dich also ein klein wenig mehr mit der Arbeitsweise eine Schleife auseinander gesetzt und dein CSS Wissen aufgebessert, hätte sich dein Problem vielleicht sogar von selbst gelöst oder du hättest nur noch einen kleinen Denkanstoss benötigt.

das ist übrigens eine kernaussage über unser - wie auch andere - hilfeforen.

cx

Indyk
29.10.2009, 08:58:01
das hast du wohl in den falschen hals bekommen; ich bin mir sicher, Indyk hat nicht dich persönlich gemeint...


Da hat der cortex recht, das war nur mein Kommentar dazu, das urvater sich für seine hilfe entschuldigt hat.

@Michael
hättest du von anfang gesagt "ich habe kein bock das selbst zu machen bitte macht das mal einer für mich fertig, bei euch euch profis dauert das bestimmt nur 10min" dann hätte sich vll.
einer mit viel mitleid und freude am helfen deiner angenommen.

aber so haben wir uns alle mühe gegebe dir etwas zu ERKLÄREN damit du dir in zukunft selber helfen kannst, damit du etwas lernst und etwas aus deiner fragestellung mitnimmst, mehr als nur eine lösung.

Ich weiss nicht ob du dir das vorstellen kannst aber das ist viel anstrengender als dir einfach nur die lösung hinzuklatschen. (vor allem bei solchen problemen)

Die unfreundlichkeit die du hier interpretierst kann ich nicht nachvollziehen. Aber das gehört ja auch zu dem subjektiven kram.