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, 17: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, 18:41
Flavaslava
 Registrierter Benutzer
Links : Onlinestatus : Flavaslava ist offline
Registriert seit: Aug 2010
Beiträge: 20
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, 19: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, 19:29
Flavaslava
 Registrierter Benutzer
Links : Onlinestatus : Flavaslava ist offline
Registriert seit: Aug 2010
Beiträge: 20
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, 20: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 20:08 Uhr) Grund: Kompletten derzeitigen Code vergessen
Mit Zitat antworten
  #6 (permalink)  
Alt 08-09-2020, 20:23
Flavaslava
 Registrierter Benutzer
Links : Onlinestatus : Flavaslava ist offline
Registriert seit: Aug 2010
Beiträge: 20
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, 20: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 22:45
Ausgabe von nur einer Mysql Zeile Qorum PHP Developer Forum 6 21-05-2007 02:05
[Funktion] php in tabelle mit 3 zellen pro zeile anjin san PHP Developer Forum 7 09-09-2006 05:59
Sortierung einer MYSQL-Ausgabe mit PHP BADMAN PHP Developer Forum 9 02-01-2005 19:54
ausgabe in einer Tabelle mit 2 Spalten DanLoop PHP Developer Forum 3 10-09-2003 16: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

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni

10 Gründe, warum das Todesstern-Projekt gescheitert ist
10 Gründe, warum das Todesstern-Projekt gescheitert istDie Todesstern-Projekte sind spektakulär gescheitert. Lernen Sie von den Fehlern des Imperiums und bewahren Sie Ihre Projekte davor, der dunklen Seite der Macht zu verfallen!

24.11.2020 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

21.10.2020 Berni | Kategorie: PHP/ Anzeigenmarkt
Sendeplan Script inkl. Wunsch- und Grußbox + Kick-System + Bewerbungssystem

Das professionelle Sendeplan PHP Script inkl. Wunsch- und Grußbox + Kick-System für dein Webradio. Der übersichtliche Sendeplan bietet deinen Moderatoren und Zuhörern die perfekte Übersicht der aktuellen Shows! Du kannst nicht nur Sendungen eintragen, s

20.10.2020 drcomputer | Kategorie: PHP/ Web Radio
Newsmanager 2

Der Newsmanager 2 ist sehr Vielfältig und kann News schreiben, Newsletter versenden und RSS Feeds in einem erzeugen.

20.10.2020 Stephan_1972 | Kategorie: PHP/ News
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:51 Uhr.