Php Function für Statusabfrage aus MySQL
Hi,
ich bringe mir gerade anhand verschiedener Webtutorials selbst PHP und MySQL bei. Das klappt grundsätzlich schon ganz gut. Allerdings komme ich gerade nicht darauf, wie ich folgende Situation am besten lösen kann:
Eine PHP Datei liest bestimmte Werte aus einer MySQL Datenbank aus, generiert automatisch eine Tabelle und zeigt dort die entsprechenden Werte an. Der Code sieht so aus:
Die Zeile
soll insofern abgeändert werden, dass statt des Statuswertes (entweder "0" oder "1") eine dem Wert entsprechende Graphik inkl. Link angezeigt wird.
Momentan sieht die Ausgabe folgendermaßen aus
Die function muss dann ja ungefähr so aussehen:
Es geht darum, dass ganz einfach eine Übersicht erstellt werden soll, welche Aufgaben erledigt sind bzw. welche noch offen sind. Nach erledigen der Aufgaben soll man direkt in der Übersicht anklicken können, dass man die Aufgabe erledigt hat.
Alternativ, anstatt den Status in einer eigenen Reihe anzuzeigen, könnte man auch die Farbeinstellungen und Links der gesamten Zeilen ändern (z.B. wenn Status = 0 stelle die gesamte Zeile in roter Schrift da und füge den entsprechenden Link hinzu; nach anklicken des Links ändere den Status und stelle die gesamte Zeile in grüner Schrift da, entferne den Link).
Ich hoffe, dass ich das halbwegs verständlich ausgedrückt habe. Da ich aus verschiedenen Quellen autodidaktisch lerne, kann es sein, dass bestimmte, grundlegende Dinge einfach an mir vorbeigegangen sind o.O
Noch eine Anmerkung zu dem obersten Codeschnipsel: langfristig soll die Tabelle, die ich jetzt noch jeweils anhand der MySQL Werte "von Hand" erstelle (jeweils eine Zeile mit echo für jeden Tabellenwert) über ein Array selbstständig erstellt werden. Dies probiere ich gerade parallel aus, habe aber auch die Lösung noch nicht ganz raus.
Danke & beste Grüße
ich bringe mir gerade anhand verschiedener Webtutorials selbst PHP und MySQL bei. Das klappt grundsätzlich schon ganz gut. Allerdings komme ich gerade nicht darauf, wie ich folgende Situation am besten lösen kann:
Eine PHP Datei liest bestimmte Werte aus einer MySQL Datenbank aus, generiert automatisch eine Tabelle und zeigt dort die entsprechenden Werte an. Der Code sieht so aus:
(...)
while ($row = mysql_fetch_array($query))
{
echo "<tr>";
echo "<td>".$row[id]."</td>";
echo "<td>".$row[room]."</td>";
echo "<td>".$row[task]."</td>";
echo "<td>".$row[who]."</td>";
echo "<td>".$row[status]."</td>";
echo "<td>".$row[deadline]."</td>";
echo "<td><a href='#'>link 1</a></td>"; (((diese Zeile dient nur Testzwecken und wird später entfernt)))
}
Die Zeile
echo "<td>".$row[status]."</td>";
soll insofern abgeändert werden, dass statt des Statuswertes (entweder "0" oder "1") eine dem Wert entsprechende Graphik inkl. Link angezeigt wird.
Momentan sieht die Ausgabe folgendermaßen aus
Die function muss dann ja ungefähr so aussehen:
if (HIER WEISS ICH NICHT, WIE ICH DEN STATUS PRO ZEILE AUS BEDINGUNG EINGEBEN SOLL(a lá "Wenn Status == 0 tue folgendes"))
{
echo "<a href='LINK ZUM ÄNDERN DAS WERTES VON 'X' AUF 'Y' INNERHALB DER ENTSPRECHENDEN STATUSZEILE'><img src='status_open.png'></a>";
}
else if (AUCH HIER FEHLT MIR DER WERT; "Wenn Status == 1 tue folgendes")
{
echo "<a href='LINK(...)'><img src='status_ok.png'></a>";
}
else
{
echo "Dieser Text sollte niemals angezeigt werden, da Status ausschließlich 0 oder 1 sein kann.";>
Es geht darum, dass ganz einfach eine Übersicht erstellt werden soll, welche Aufgaben erledigt sind bzw. welche noch offen sind. Nach erledigen der Aufgaben soll man direkt in der Übersicht anklicken können, dass man die Aufgabe erledigt hat.
Alternativ, anstatt den Status in einer eigenen Reihe anzuzeigen, könnte man auch die Farbeinstellungen und Links der gesamten Zeilen ändern (z.B. wenn Status = 0 stelle die gesamte Zeile in roter Schrift da und füge den entsprechenden Link hinzu; nach anklicken des Links ändere den Status und stelle die gesamte Zeile in grüner Schrift da, entferne den Link).
Ich hoffe, dass ich das halbwegs verständlich ausgedrückt habe. Da ich aus verschiedenen Quellen autodidaktisch lerne, kann es sein, dass bestimmte, grundlegende Dinge einfach an mir vorbeigegangen sind o.O
Noch eine Anmerkung zu dem obersten Codeschnipsel: langfristig soll die Tabelle, die ich jetzt noch jeweils anhand der MySQL Werte "von Hand" erstelle (jeweils eine Zeile mit echo für jeden Tabellenwert) über ein Array selbstständig erstellt werden. Dies probiere ich gerade parallel aus, habe aber auch die Lösung noch nicht ganz raus.
Danke & beste Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 278982
Url: https://administrator.de/contentid/278982
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
6 Kommentare
Neuester Kommentar
$state_img = ($row['status'] == 1) ? '/images/status_ok.png' : '/images/status_error.png';
echo "<td><img src=\"" . $state_img . "\"></td>";
http://domain.de/edit.php?id=1&action=reset
Gruß grexit
Zitat von @122990:
Die Links baust du dir dann mit URL-Parametern und der jeweiligen ID zusammen. Die ID wertest du dann in einem Skript aus. bsp:
und führst auf die jewelige ID ein SQL-Update aus.
Gruß grexit
> $state_img = ($row['status'] == 1) ? '/images/status_ok.png' : '/images/status_error.png'
> echo "<td><img src=\"" . $state_img . "\"></td>";
>
http://domain.de/edit.php?id=1&action=reset
Gruß grexit
Geht noch einfacher:
$state_img = $row['status'] ? '/images/status_ok.png' : '/images/status_error.png'
echo "<td><img src=\"" . $state_img . "\"></td>";ü
oder ein Bild status0.png und status1.pmg anlegen und dann
echo "<td><img src=\"status" . $row['status'] . ".png\"></td>";
Gruß
$sql = "SELECT ID,Room,Task,who,status,deadline from regular ORDER BY ID"
$result = mysql_query($sql)
echo "<table border=1>\n";
$cnt = 1;
while ($row = mysql_fetch_assoc($result)) {
if($cnt == 1){
echo "<tr>\n";
foreach($row as $key => $value){
echo "<th>" . $key . "</th>\n";
}
echo "</tr>\n";
}
echo "<tr>\n";
foreach($row as $key => $value){
if($key == "status"){
echo "<td><img src=\"status" . $value . ".png\" /></td>\n";
}else{
echo "<td>" . $value . "</td>\n";
}
}
echo "</tr>\n";
$cnt++
}
echo "</table>\n";
Die PHP-Dokuseiten sind deine erste Anlaufstelle ...http://php.net/docs.php
Nur auf Tutorials, würde ich mein Wissen nicht aufbauen wollen.
Gruß grexit
p.s. Nutze bitte Codetags für deinen Quellcode.