php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 08-09-2020, 16:54
gie22kanne
 Registrierter Benutzer
Links : Onlinestatus : gie22kanne ist offline
Registriert seit: Sep 2020
Beiträge: 6
gie22kanne befindet sich auf einem aufstrebenden Ast
Standard PHP Ausgabe einer MYSQL Tabelle mit gefärbter Zeile.

Hallo ihr PHP Fans

Ich bin absoluter Laie in Hinsicht auf PHP und fülle sämtlichen Lücken mit Foren und Google. Deshalb nehmt mir mein fehlendes Fachwissen nicht übel ^^

Derzeit arbeite ich an einem kleinen Projekt und zwar ist dies eine HTML-Tabelle welche sortierbar ist und ihre Daten aus der Datenbank holt.
-----------------------------------------------------
Aufbau meiner Datenbank:
id | name | klasse | ausgaben | dkp | quotient
-----------------------------------------------------
Es handelt sich bei meinem Projekt um ein Gilden-Roster welches Mitglieder auflistet und je nach ID und / oder Punktestand sortierbar macht.

Es gibt gewisse Charakterklassen mit unterschiedlichen Farben. Ich möchte gerne, dass man die komplette Zeile zum Beispiel der "klasse" Krieger in Braun färbt, der Magier in Blau usw.

Alternativ oder sogar besser wäre es wenn nur die Schriftfarbe sich ändern würde in der Ausgabe.


Ich habe hier im Forum diesen Post vom 27-07-2010, 07:21 gefunden: HIER KLICKEN leider konnte ich diesen nicht auf mein Projekt anwenden.

Mein derzeitiger Code [db.php]
PHP-Code:
<?php
error_reporting
(E_ALL);
date_default_timezone_set('Europe/Berlin');

{
$db = new mysqli('localhost''xxx''xxx''xxx');
}
$db->set_charset('utf8');
if (
$db->connect_errno){
    die(
'Sorry - gerade gibt es ein Problem');
}
?>

Mein derzeitiger Code [index.php]:
PHP-Code:
<?php
require_once('inc/db.php');
$sql "SELECT * FROM dkp ORDER BY id";

if (
$erg $db->query($sql)) {
    while (
$datensatz $erg->fetch_object()) {
        
$daten[] = $datensatz;
    }
}
?> 


<?php
    $farb_arr 
= array("Druide" => "#FF7D0A");
?> 


<html>
    <head>
        <script src="https://www.infight.net/inc/sort.js"></script>
        <meta charset="utf-8">
        <title>DKP - Übersicht</title>
        <style>
                /*table {border: 1px solid black; padding: 0px;}*/
                /*th {border: 1px solid black; padding: 5px;}*/
                /*td {border: 1px solid black; padding: 5px;}*/
            
            body {
                
            }
            
            h1 {
                text-align: center;
            }
            
            h2 {
                text-align: center;
            }
            
            table {
                border: 1px solid black;
                border-spacing: 0px;
                border-collapse: collapse;
                margin-left: auto;
                margin-right: auto;
            }

            table td {
                border: 1px solid black;
                border-spacing: 0px;
                border-collapse: collapse;
                padding: 3px;
                background: #8b8989;
            }

            table th {
                border: 1px solid black;
                border-spacing: 0px;
                border-collapse: collapse;
                padding: 3px
            }

            table h2 {
                margin: 0
            }

            table caption {
                padding: 0.5em;
                text-align: left;
                font-weight: bold;
            }

            table.is_sortable thead th {
                background-color: lightgray;
            }
        </style>
    </head>
    <body>

<h1>Überschrift 1</h1>
<main>
    <h2>Überschrift 2</h2>
    <table class="sortierbar">
        <!--<caption>Empty</caption>-->
        <thead>
        <tr>
          <th data-priority="1">ID</th>
          <th data-priority="2">Name</th>          
          <th data-priority="3">Klasse</th>
          <!--<th data-priority="4">Raid</th>
          <th data-priority="5">Boss</th>
          <th data-priority="6">Item</th>
          <th data-priority="7">Off-Item</th>
          <th data-priority="8">Stunden</th>
          <th data-priority="9">Farm-DKP</th>-->
          <th data-priority="10">Ausgaben</th>
          <th data-priority="11">DKP</th>
          <th data-priority="12">Quotient</th>
        </tr>
      </thead>
      <tbody>
    <?php
        
foreach ($daten as $inhalt) {
    
?>
        <tr>
            <td>
                <?php echo $inhalt->id?>
            </td>
            <td>
                <?php echo $inhalt->name?>
            </td>        
            <td style="backgound-color:<?echo $farb_arr[$daten['klasse']] ?>;" >
                <?php echo $inhalt->klasse?>
            </td>
            <!--<td>
                <?php echo $inhalt->raid?>
            </td>
            <td>
                <?php echo $inhalt->boss?>
            </td>
            <td>
                <?php echo $inhalt->item?>
            </td>
            <td>
                <?php echo $inhalt->offitem?>
            </td>
            <td>
                <?php echo $inhalt->stunden?>
            </td>
            <td>
                <?php echo $inhalt->farmdkp?>
            </td>-->
            <td>
                <?php echo $inhalt->ausgabe?>
            </td>
            <td>
                <?php echo $inhalt->dkp?>
            </td>
            <td>
                <?php echo $inhalt->quotient?>
            </td>           
      </tr>
    <?php
    
}
    
?>
      </tbody>
        <!--<tfoot>
            <tr>
                <td colspan=5>EMPTY</td>
            </tr>
        </tfoot>-->
    </table>

</main>
    </body>
</html>
Ich habe mir in mühevoller Kleinstarbeit (ca 10 Stunden) diesen Stand erarbeitet und nun hänge fest an etwas mit Sicherheit total simplen.

Ich würde mich freuen wenn sich jemand meinen Code einmal genauer ansieht, was ich denn falsch mache. Vielen Dank für eure Hilfe

Projekt-Link: https://www.infight.net/

Liebe Grüße
Gie22kanne
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 08-09-2020, 17:41
Flavaslava
 Registrierter Benutzer
Links : Onlinestatus : Flavaslava ist offline
Registriert seit: Aug 2010
Beiträge: 18
Flavaslava befindet sich auf einem aufstrebenden Ast
Standard

hey gie22kanne,


ich glaube bei so langer zeit am coden, übersiehst du ganz einfache fehler. Ich habe den Code mal angeschaut und musste das hier feststellen:
PHP-Code:
<td style="backgound-color:<?echo $farb_arr[$daten['klasse']] ?>;" >

hier hast backgound geschrieben aber es heisst bei css background und bei PHP Tag starten hast du <?echo gemacht aber das soll eigentlich <?php echo so sein.


Ansonsten was ich dir empfehlen würde, wäre entweder beim speichern der Daten den Farbencode mitzuspeichern und dann anzuzeigen. Ansonsten sollte zum Beispiel "rot" in der Tabelle gespeichert sein, dann eine funktion mit switch aufbauen und diese mithilfe der funktion den Farbencode zurückzugeben.


Gruß
Flava
Mit Zitat antworten
  #3 (permalink)  
Alt 08-09-2020, 18:18
gie22kanne
 Registrierter Benutzer
Links : Onlinestatus : gie22kanne ist offline
Registriert seit: Sep 2020
Beiträge: 6
gie22kanne befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für die Schnelle Antwort.

Ich habe nun die Fehler behoben, leider stehe ich immer noch auf dem Schlauch da es noch nicht funktioniert.

Ich habe es nun geändert zu:

PHP-Code:
<td style="background-color:<?php echo $farb_arr[$daten['klasse']] ?>;" >
Ich schätze es funktioniert noch nicht, da ich bei ... $farb_arr[$daten['klasse']] ... eine Fehler habe und zwar das "$daten"

zudem bin ich mir nicht sicher ob das:

PHP-Code:
<?php
    $farb_arr 
= array("Druide" => "#FF7D0A");
?>
in dieser Form richtig eingebunden ist.


Mit der Bitte um Hilfe,
Der unwissende Gie22kanne ^^
Mit Zitat antworten
  #4 (permalink)  
Alt 08-09-2020, 18:29
Flavaslava
 Registrierter Benutzer
Links : Onlinestatus : Flavaslava ist offline
Registriert seit: Aug 2010
Beiträge: 18
Flavaslava befindet sich auf einem aufstrebenden Ast
Standard

hey gie22kanne,


also ich kann dir einen vorschlag zeigen, dies ist aber nur ein weg um es zu lösen. Spontan fällt mir die Idee mit der funktion ein.


und zwar zuerst die Funktion erstellen:


<div>
PHP-Code:
function klassenFarben($var) {     
    switch(
$var) {          
          case 
"Druide"$farbe "#FF7D0A"; break;  
          case 
"Krieger"$farbe "#FFFFFF"; break;   
         case 
"Magier"$farbe "#000000"; break; 
         default: 
$farbe "Fehler";     
    } 
     return 
$farbe

</div>

Sobald die Funktion erstellt ist. Kannst du das in deinem Script einbauen und du kannst die Funktion immer erweitern, wenn eine klasse hinzu kommt.


So würde es dann eingebunden aussehen:
PHP-Code:
<td style="background-color: <?php echo klassenFarben($daten['klasse']); ?>;">
Somit würdest du die Farben ändern können.


Die Funktion kannst du entweder in deiner index.php einbauen oder eine externe datei mit dem namen "functions.php" erstellen und diesen dann in der "index.php" datei einbinden. Du kannst selbst entscheiden wie du es machen möchtest.


Viele Grüße
Flava
Mit Zitat antworten
  #5 (permalink)  
Alt 08-09-2020, 19:06
gie22kanne
 Registrierter Benutzer
Links : Onlinestatus : gie22kanne ist offline
Registriert seit: Sep 2020
Beiträge: 6
gie22kanne befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für die schnelle Antwort

Habe die Funktion hinzugefügt. Der Quellcode-Style zeigt mir das jedoch durchgestrichen.

Code:
element.style {
background-color: Fehler;
}
Zumindest wird "Fehler" von der "function" schon angezeigt. Ich nähere mich dem Ziel ^^

Ich bin mir trotzdem noch nicht sicher was ist anstelle von "$daten" angeben muss bzw ob das so richtig ist.

PHP-Code:
<tr style="background-color: <?php echo klassenFarben($daten['klasse']); ?>;">
Eventuell liegt dort der Fehler aber ich wüsste nicht was ich sonst angeben muss. *Verzweiflung macht sich breit* xD

Nochmals entschuldigung für den unendlich Thread ^^

Hier nochmal der derzeitige Code:

PHP-Code:
<?php
require_once('inc/db.php');
$sql "SELECT * FROM dkp ORDER BY id";

if (
$erg $db->query($sql)) {
    while (
$datensatz $erg->fetch_object()) {
        
$daten[] = $datensatz;
    }
}
?> 

<html>
    <head>
        <script src="https://www.infight.net/inc/sort.js"></script>
        <meta charset="utf-8">
        <title>DKP - Übersicht</title>
        <style>
                /*table {border: 1px solid black; padding: 0px;}*/
                /*th {border: 1px solid black; padding: 5px;}*/
                /*td {border: 1px solid black; padding: 5px;}*/
            
            body {
                
            }
            
            h1 {
                text-align: center;
            }
            
            h2 {
                text-align: center;
            }
            
            table {
                border: 1px solid black;
                border-spacing: 0px;
                border-collapse: collapse;
                margin-left: auto;
                margin-right: auto;
            }

            table td {
                border: 1px solid black;
                border-spacing: 0px;
                border-collapse: collapse;
                padding: 3px;
                /*background: #8b8989;*/
            }

            table th {
                border: 1px solid black;
                border-spacing: 0px;
                border-collapse: collapse;
                padding: 3px
            }

            table h2 {
                margin: 0
            }

            table caption {
                padding: 0.5em;
                text-align: left;
                font-weight: bold;
            }

            table.is_sortable thead th {
                background-color: lightgray;
            }
        </style>
    </head>
    <body>
    

<?php
    
function klassenFarben($var) {     
        switch(
$var) {          
            case 
"Druide"$farbe "#FF7D0A"; break;  
            case 
"Krieger"$farbe "#FFFFFF"; break;   
            case 
"Magier"$farbe "#000000"; break; 
            default: 
$farbe "Fehler";     
        } 
        return 
$farbe
    }
?>    

    
    
    
    

<h1>Überschrift 1</h1>
<main>
    <h2>Überschrift 2</h2>
    <table class="sortierbar">
        <!--<caption>Empty</caption>-->
        <thead>
        <tr>
          <th data-priority="1">ID</th>
          <th data-priority="2">Name</th>          
          <th data-priority="3">Klasse</th>
          <!--<th data-priority="4">Raid</th>
          <th data-priority="5">Boss</th>
          <th data-priority="6">Item</th>
          <th data-priority="7">Off-Item</th>
          <th data-priority="8">Stunden</th>
          <th data-priority="9">Farm-DKP</th>-->
          <th data-priority="10">Ausgaben</th>
          <th data-priority="11">DKP</th>
          <th data-priority="12">Quotient</th>
        </tr>
      </thead>
      <tbody>
    <?php
        
foreach ($daten as $inhalt) {
    
?>
        <tr style="background-color: <?php echo klassenFarben($daten['klasse']); ?>;">
            <td>
                <?php echo $inhalt->id?>
            </td>
            <td>
                <?php echo $inhalt->name?>
            </td>        
            <td>
                <?php echo $inhalt->klasse?>
            </td>
            <!--<td>
                <?php echo $inhalt->raid?>
            </td>
            <td>
                <?php echo $inhalt->boss?>
            </td>
            <td>
                <?php echo $inhalt->item?>
            </td>
            <td>
                <?php echo $inhalt->offitem?>
            </td>
            <td>
                <?php echo $inhalt->stunden?>
            </td>
            <td>
                <?php echo $inhalt->farmdkp?>
            </td>-->
            <td>
                <?php echo $inhalt->ausgabe?>
            </td>
            <td>
                <?php echo $inhalt->dkp?>
            </td>
            <td>
                <?php echo $inhalt->quotient?>
            </td>           
      </tr>
    <?php
    
}
    
?>
      </tbody>
        <!--<tfoot>
            <tr>
                <td colspan=5>EMPTY</td>
            </tr>
        </tfoot>-->
    </table>

</main>
    </body>
</html>
LG
Gie22kanne

Geändert von gie22kanne (08-09-2020 um 19:08 Uhr) Grund: Kompletten derzeitigen Code vergessen
Mit Zitat antworten
  #6 (permalink)  
Alt 08-09-2020, 19:23
Flavaslava
 Registrierter Benutzer
Links : Onlinestatus : Flavaslava ist offline
Registriert seit: Aug 2010
Beiträge: 18
Flavaslava befindet sich auf einem aufstrebenden Ast
Standard

hey Gie22kanne,


hab den Fehler entdeckt


Du machst einen foreach um die daten anzuzeigen und in dem foreach ändert sich der name der Variable von daten zu inhalt also musst du statt $daten["klasse"] so schreiben $inhalt->klasse also so:


PHP-Code:
<tr style="background-color: <?php echo klassenFarben($inhalt->klasse); ?>;">

somit sollte es funktionieren.
Mit Zitat antworten
  #7 (permalink)  
Alt 08-09-2020, 19:32
gie22kanne
 Registrierter Benutzer
Links : Onlinestatus : gie22kanne ist offline
Registriert seit: Sep 2020
Beiträge: 6
gie22kanne befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Flavaslava Beitrag anzeigen
hey Gie22kanne,


hab den Fehler entdeckt


Du machst einen foreach um die daten anzuzeigen und in dem foreach ändert sich der name der Variable von daten zu inhalt also musst du statt $daten["klasse"] so schreiben $inhalt->klasse also so:


PHP-Code:
<tr style="background-color: <?php echo klassenFarben($inhalt->klasse); ?>;">

somit sollte es funktionieren.
Du bist ein Genie!! und ich einfach zu blöd für sowas xD

Vielen Vielen Dank endlich kann es weiter gehen *G* Hab dir mal eine F-Request geschickt evtl kann ich ja bei dir noch den ein oder anderen Tipp abholen auch gerne gegen bezahlung versteht sich

Liebe Grüße
Gie22kanne
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ausgabe von Daten mit Hilfe einer Html Tabelle Bloushh SQL / Datenbanken 5 03-09-2014 21:45
Ausgabe von nur einer Mysql Zeile Qorum PHP Developer Forum 6 21-05-2007 01:05
[Funktion] php in tabelle mit 3 zellen pro zeile anjin san PHP Developer Forum 7 09-09-2006 04:59
Sortierung einer MYSQL-Ausgabe mit PHP BADMAN PHP Developer Forum 9 02-01-2005 18:54
ausgabe in einer Tabelle mit 2 Spalten DanLoop PHP Developer Forum 3 10-09-2003 15:13

Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

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