|
im Forum für Webhosting Homepage gefunden: |
MySql und Farbe ausgeben |
Klumpi
Pixelschubser Threadstarter
Beiträge: 3 |
In meiner Datenbank db1 befinden sich folgende Daten
datid dat1 dat2
1 4,13 19,31
2 2,76 18,40
3 8,00 16,00
4 11,40 15,20
5 14,40 18,00
Ich möchte die o.g. Daten in Form einer Tabelle ausgeben die als Spalten datid, dat1, dat2
und farbquadrat hat. Für die Spalte farbquadrat gilt die folgende Regel: ist dat1/dat2<=30%
dann soll die Farbe gruen erscheinen, für 70%>dat1/dat2>30% soll die Farbe gelb und für
dat1/dat2>=70% soll die Farbe rot erscheinen. In gleichem Verzeichnis befinden sich die
entsprechenden Farbquadrate gruen.gif, gelb.gif und rot.gif. Es ist also klar dass gruen in
der ersten und zweiten Zeile, gelb in der dritten und rot in der vierten und fünften Zeile erscheinen soll, aber wie soll ich das bewerkstelligen ?
Apache, MySql, PHP und Perl sind bereits gestartet und laufen einwandfrei.
Ich will nicht die gif Dateien in der Datenbank speichern.
Vielen Dank im voraus für jeden Tipp!!!
Diese Nachricht wurde geändert von: Klumpi |  Profil
E-Mail
Editieren
Zitieren
|
coder
Pixelschubser
Beiträge: 11 |
Hallo,
wenn ich in der Zeile 1 dat1/dat2 teile habe ich 0.3079.. und nicht 30%
Also bitte überprüfen das noch mal.
Grüße Nico
---
Webspace
|  Profil
E-Mail
Website
Editieren
Zitieren
|
Klumpi
Pixelschubser Threadstarter
Beiträge: 3 |
Wenn ich aber 4,13 durch 19,31 dividiere, dann erhalte ich 0,213878819 also 21,3878819 %
und nicht 0,3079. Wie Sind Sie auf die 0,3079 gekommen ?
|  Profil
E-Mail
Editieren
Zitieren
|
coder
Pixelschubser
Beiträge: 11 |
ich hatte 4 / 13 gerechnet, aber auch wenn es 4,13 / 19,31 dann schreibt man das man dies noch mal 100% nehmen muss, das kann man sich ja nicht aus den fingern saugen
---
Webspace
|  Profil
E-Mail
Website
Editieren
Zitieren
|
Klumpi
Pixelschubser Threadstarter
Beiträge: 3 |
Ich fürchte Sie haben mich von Anfang an mißverstanden. 4,13 war für mich dat1 und 19,31 dat2. Wenn Ihre Annahme richtig gewesen wäre, d.h. dat1=4 und dat2=13 was wäre dann
19 und 31 gewesen, etwa dat3 und dat4 die nirgendwo erwähnt wurden ?
|  Profil
E-Mail
Editieren
Zitieren
|
coder
Pixelschubser
Beiträge: 11 |
Morgen,
Hier die DB:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23: |
--
-- Tabellenstruktur für Tabelle `db1`
--
CREATE TABLE `db1` (
`datid` int(11) NOT NULL auto_increment,
`dat1` varchar(10) collate latin1_general_ci NOT NULL,
`dat2` varchar(10) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`datid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=6 ;
--
-- Daten für Tabelle `db1`
--
INSERT INTO `db1` (`datid`, `dat1`, `dat2`) VALUES
(1, '4.13', '19.31'),
(2, '2.76 ', '18.40 '),
(3, '8.00', '16.00'),
(4, '11.40', '15.20'),
(5, '14.40', '18.00');
|
Hier das Script:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40: | ';
while ($daten=mysql_fetch_array($mysql_query)) {
echo $daten['datid'].', ';
echo $daten['dat1'].', ';
echo $daten['dat2'].', ';
$prozent=0;
$prozent=(($daten['dat1']/$daten['dat2'])*100);
if($prozent<=30) $farbe="green";
else if(70>$prozent AND $prozent>30) $farbe="yellow";
else if($prozent>=70) $farbe="red";
else $farbe="black";
echo ' ';
echo $prozent.' ';
}
}
mysql_close($link);
?> |
Grüße Nico
---
Webspace
|  Profil
E-Mail
Website
Editieren
Zitieren
| |
|
|