| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

27-07-2010, 09:21
|
|
Pissameise
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 6
|
|
mysql tabelle mit php ausgeben und zeilenfarbe je nach inhalt ändern
hey,
ich mache eine mitgliederliste für eine gilden seite mit mysql und php
die mysql felder sehen so aus:
ID | Name | Klasse | Rang | Level
Das Ausgeben als Tabelle klappt schon, aber ich möchte dass jede Klasse ihre eigene Zeilenfarbe hat. z.B. der Krieger rot^^
Hier ist nur die Ausgabe
PHP-Code:
<?php
$mysqlhost="xxx";
$mysqluser="xxx";
$mysqlpwd="xxx";
$mysqldb="xxx";
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die
("Verbindungsversuch fehlgeschlagen");
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht
waehlen.");
$sql = "SELECT ID, Name, Klasse, Rang, Level FROM mitglieder";
$adressen_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");
$anzahl = mysql_num_rows($adressen_query);
echo "Mitgliederzahl: $anzahl";
?>
<table cellpadding="1" cellspacing="3" border="1" class="style1">
<tr>
<td><strong>ID</strong></td>
<td><strong>Name</strong></td>
<td><strong>Klasse</strong></td>
<td><strong>Rang</strong></td>
<td><strong>Level</strong></td>
</tr>
<?php
while ($adr = mysql_fetch_array($adressen_query)){
?> <tr>
<td><?=$adr['ID']?></td>
<td><?=$adr['Name']?></td>
<td><?=$adr['Klasse']?></td>
<td><?=$adr['Rang']?></td>
<td><?=$adr['Level']?></td>
</tr>
<?php
}
?>
</table>
Wie kann ich meine Idee in die Tat umsetzen??
Geändert von Pissameise (27-07-2010 um 09:24 Uhr)
|

27-07-2010, 09:53
|
|
wono
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 32
|
|
Zitat:
Zitat von Pissameise
hey,
Das Ausgeben als Tabelle klappt schon, aber ich möchte dass jede Klasse ihre eigene Zeilenfarbe hat. z.B. der Krieger rot^^
|
sollen es beliebige Farben sein? oder was hast du dir darunter vorgestellt?
Wenn jede klasse immer die gleiche farbe haben soll dann könntest du ein Array definieren als KEY die Klasse und als value dann jeweils die farbe.
PHP-Code:
$arrFarben = array( 'Krieger' => 'rot', usw. );
Geändert von wono (27-07-2010 um 09:57 Uhr)
|

27-07-2010, 09:56
|
|
Pissameise
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 6
|
|
wo genau soll dieser array stehen und wie änder ich mit php die zeilenfarbe?
Geändert von Pissameise (27-07-2010 um 10:15 Uhr)
|

27-07-2010, 10:28
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
naa... nicht mit PHP selbst änderst du die Zeichenfarbe ...
du lässt über php einfach den passenden HTML-Code generieren ...
PHP-Code:
for ($i=0;$i<count($bkenn);$i++) { if ($i % 2 == 0) // 0...2...4...6...-> Grauer Hintergrund $aus.='<tr class="grey">'; else // 1...3...5...7...-> Weißer Hintergrund $aus.='<tr class="white">'; ......// eigentliche Ausgabe
etwa in diesem Code -Schnipsel wird abwechselnd den TabellenZeilen jeweils ein anderer CS-Style zugewiesen, der dann in meinem Fall unterschiedliche background-color Eigenschaften hat ..
genau so könnte es natürlich mit color: #xxyyzz; auch die TextFarbe anstatt der Hintergrundfarbe ändern ... oder den Text-Style oder .. oder ...
und natürlich kann man das auch auf <p> Absätze anwenden, wenn keine Tabelle da ist ^^
alternativ definierst du dir halt die entsprechenden CSS-Styles für td ...
Code:
<STYLE type="text/css">
.tablekrieger {
font-size: 12px;
font-family: Helvetica, Arial, sans-serif;
line-height : 19px;
font-weight: bold;
color: #FF0000;
}
.tablemagier {
font-size: 12px;
font-family: Helvetica, Arial, sans-serif;
line-height : 19px;
font-weight: bold;
color: #0000FF;
}
.tableschuetze {
font-size: 12px;
font-family: Helvetica, Arial, sans-serif;
line-height : 19px;
font-weight: bold;
color: #00FF00;
}
später dann in deiner while-Schleife
PHP-Code:
while ($adr = mysql_fetch_array($adressen_query)){ switch ($adr['Klasse']) { case 'Krieger' : $cssfarbe='tablekrieger'; break; case 'Magier' : $cssfarbe='tablemagier'; break; case 'Schuetze' : $cssfarbe='tableschuete'; break; } //alternativ ... $cssfarbe='table'.strtolower($adr['Klasse']); echo '<tr>'; echo 'td class="'.$cssfarbe'">'.$adr['ID'].'</td>'; echo 'td class="'.$cssfarbe'">'.$adr['Name'].'</td>'; echo 'td class="'.$cssfarbe'">'.$adr['Klasse'].'</td>'; echo 'td class="'.$cssfarbe'">'.$adr['Rang'].'</td>'; echo 'td class="'.$cssfarbe'">'.$adr['Level'].'</td>'; echo '</tr>'; }
__________________
Wer LESEN kann, ist klar im Vorteil!
Geändert von eagle275 (27-07-2010 um 10:59 Uhr)
|

27-07-2010, 10:29
|
 |
ApoY2k
Registrierter Benutzer
|
|
Registriert seit: Nov 2006
Beiträge: 290
|
|
PHP ist dabei nur die Abfrage, das ändern der Farbe machst du über CSS oder das style-attribut.
PHP-Code:
<?php $farb_arr = array( "Krieger" => "#ff0000" ....); ?>
while ($adr ...) ... <td style="background-color: <?php echo $farb_arr[$adr['Klasse']]; ?>">
Die Farben müssen dann einfach normale CSS-Farbwerte sein und fertig.
|

27-07-2010, 10:31
|
|
Pissameise
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 6
|
|
achsoo .... klingt logisch - versuch ich mal
|

27-07-2010, 10:35
|
|
wono
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 32
|
|
Zitat:
Zitat von Pissameise
wo genau soll dieser array stehen und wie änder ich mit php die zeilenfarbe?
|
Den definierst du einfach am Anfang deiner Datei z.B
PHP-Code:
$arrFarben = array( 'Krieger' => 'rot', 'Spieler' => 'blau');
und dann kannst du in der
PHP-Code:
<?php
while ($adr = mysql_fetch_array($adressen_query)){
?> <tr style="backgound-color:<?echo $arrFarben[$adr['Klasse']] ?>;" >
<td><?=$adr['ID']?></td>
<td><?=$adr['Name']?></td>
<td><?=$adr['Klasse']?></td>
<td><?=$adr['Rang']?></td>
<td><?=$adr['Level']?></td>
</tr>
<?php
Ist jetzt nicht getestet aber sollte klappen TIPP: Legt dir das Farben Array an und lass es dir mal ausgeben.
|

27-07-2010, 10:39
|
|
Pissameise
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 6
|
|
klappt alles
|

27-07-2010, 15:14
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

27-07-2010, 16:38
|
|
Pissameise
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 6
|
|
Jo, das zeigt, dass dieses Forum lösungsorienterter als das von php.de ist... 
|

27-07-2010, 16:51
|
|
litterauspirna
Registrierter Benutzer
|
|
Registriert seit: Nov 2007
Beiträge: 353
|
|
Zitat:
Zitat von Pissameise
Jo, das zeigt, dass dieses Forum lösungsorienterter als das von php.de ist...  
|
Unterlasse es gefälligst so einen Unsinn zu schreiben und lies vorher mal Forenregeln. Auch da wollten dir die Leute helfen, nur nicht die Lösung einfach mal so vor die Füße knallen. Eine Entschuldigung für deine Aussage wäre denke ich angebracht, denn auch in dem Forum hier sind viele von php.de unterwegs, unter anderem ich. Und hättest du vieleicht mal ein klein wenig Zeit investiert und gelesen oder Google bemüht, dann wärst du sicher selber auf die Lösung gekommen.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
|

27-07-2010, 18:11
|
|
Pissameise
Registrierter Benutzer
|
|
Registriert seit: Jul 2010
Beiträge: 6
|
|
Ok... is passiert kann man jetzt nichts mehr dran ändern...
Wird nicht mehr vorkommen
|

27-07-2010, 19:52
|
|
litterauspirna
Registrierter Benutzer
|
|
Registriert seit: Nov 2007
Beiträge: 353
|
|
Zitat:
Zitat von Pissameise
Ok... is passiert kann man jetzt nichts mehr dran ändern...
Wird nicht mehr vorkommen
|
Aber natürlich du kannst hier deinen Post #10 ändern. Dazu gibts ändern Button
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|