MySQL record waarde -> bepaald kleur v tekst
Ik heb dus een systeempje, en dat toont alles wat er in de bepaalde tabel (dvd) staat.
Hiervoor heb ik deze code gemaakt:
code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
////HIERBOVEN STAAT NOG DE DATABASEVERBINDING, DIT STAAT HIER NIET BIJ.//////
$query="SELECT * from dvd";
$sql=mysql_query($query);
echo("<table border=0>");
$aantalvelden=mysql_num_fields($sql);
for($t=0;$t<$aantalvelden;$t++) {
echo("<th>".mysql_field_name($sql,$t)."</th>");
}
while($rij=mysql_fetch_array($sql,MYSQL_ASSOC)) {
echo("<tr>");
foreach($rij as $veldwaarde) {
echo("<td>$veldwaarde</td>");
}
echo("</tr>");
}
echo("</table>");
?>
////HIERBOVEN STAAT NOG DE DATABASEVERBINDING, DIT STAAT HIER NIET BIJ.//////
$query="SELECT * from dvd";
$sql=mysql_query($query);
echo("<table border=0>");
$aantalvelden=mysql_num_fields($sql);
for($t=0;$t<$aantalvelden;$t++) {
echo("<th>".mysql_field_name($sql,$t)."</th>");
}
while($rij=mysql_fetch_array($sql,MYSQL_ASSOC)) {
echo("<tr>");
foreach($rij as $veldwaarde) {
echo("<td>$veldwaarde</td>");
}
echo("</tr>");
}
echo("</table>");
?>
De tabel heeft 2 rijen: "dvdnaam" & "status"
In de rij status is het de bedoeling dat als er een record voorkomt met "uitgeleend" als status, dat dat dan in die pagina rood wordt, en als er "binnen" staat bij status, dat het dan in groen staat.
Hoe doe ik dit?
Ik mis je fouthandeling
Code (php)
Gewijzigd op 20/02/2011 11:47:49 door Ocirina Ocirina
- Voor de duidelijkheid doe SQL in hoofdletters (kolommen e.d. gewoon in kleine letters).
- Foutafhandeling ontbreekt. Kijk eens wat mysql_query (en andere functies) teruggeeft.
- Je weet wat je ophaalt, dus hoef je niet zo'n rare constructie met mysql_field_name te doen.
- Aangezien je toch al de assoc manier van mysql_fetch_array gebruikt, gebruik dan gewoon mysql_fetch_assoc.
- Je weet wat je ophaalt, dus dat kan je ook gewoon gebruiken om te echo'en (voor uitgeleend check ook).
- Variabelen buiten quotes.
- Gebruik CSS.
Jordi kroon op 20/02/2011 11:43:04:
<font color='13E800'></font>
Ik mis je fouthandeling
Ik mis je fouthandeling
Onzin weer.
Hier naar (algemene structuur)
Voor de foutafhandeling kijk Code (php)
Had ik ook al aangeduid maar wat moet er dan bij
$status = ""; staan?
want ik moet ergens definiëren wat $status is.
Hoe bedoel je, als er nog niks met de dvd is gebeurd?
Er staat nergens bij wat $status is, dus als ik dat typ komt er undefined index
Nog even de volledige code:
DVDuitlenen.php
Code (php)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
////Database verbinding maken
include_once 'instellingen.php';
///sessie controleren, je moet ingelogd zijn om al deze dingen te doen
session_start();
?>
<?php
if (isset($_SESSION['gebruikersnaam']))
{
$gebruikersnaam=$_SESSION['gebruikersnaam'];
}
else
{
print "Je bent niet ingelogd";
print "<a href='login.php'>Hier kan je inloggen</a>";
exit;
}
?>
<html>
<head>
<title>DVD Uitleenbalie</title>
<link href="styles/core.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div align="center">
<img src="images/dvdbalielogo.png" width="358" height="214" />
</div>
<center>
<h3 class="titel">DVD Uitleenbalie</h3>
<b class="subkopje">Welkom, <?php echo "$gebruikersnaam"; ?></b>
<p>
<i>Status van DVD's</i>
</p>
<?php
///alle info uit de dvd tabel tonen
$query="SELECT * from dvd";
$sql=mysql_query($query);
echo("<table border=0 align=center cellspacing=>");
$aantalvelden=mysql_num_fields($sql);
for($t=0;$t<$aantalvelden;$t++) {
echo("<th>".mysql_field_name($sql,$t)."</th>");
}
while($rij=mysql_fetch_array($sql,MYSQL_ASSOC)) {
echo("<tr>");
foreach($rij as $veldwaarde) {
echo("<td>$veldwaarde</td>");
}
echo("</tr>");
}
echo("</table>");
?>
<a href="index.php">Home</a> - <a href="floorreset.php">DVD Lenen</a> - <a href="loguit.php">Uitloggen</a>
</center>
</body>
</html>
////Database verbinding maken
include_once 'instellingen.php';
///sessie controleren, je moet ingelogd zijn om al deze dingen te doen
session_start();
?>
<?php
if (isset($_SESSION['gebruikersnaam']))
{
$gebruikersnaam=$_SESSION['gebruikersnaam'];
}
else
{
print "Je bent niet ingelogd";
print "<a href='login.php'>Hier kan je inloggen</a>";
exit;
}
?>
<html>
<head>
<title>DVD Uitleenbalie</title>
<link href="styles/core.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div align="center">
<img src="images/dvdbalielogo.png" width="358" height="214" />
</div>
<center>
<h3 class="titel">DVD Uitleenbalie</h3>
<b class="subkopje">Welkom, <?php echo "$gebruikersnaam"; ?></b>
<p>
<i>Status van DVD's</i>
</p>
<?php
///alle info uit de dvd tabel tonen
$query="SELECT * from dvd";
$sql=mysql_query($query);
echo("<table border=0 align=center cellspacing=>");
$aantalvelden=mysql_num_fields($sql);
for($t=0;$t<$aantalvelden;$t++) {
echo("<th>".mysql_field_name($sql,$t)."</th>");
}
while($rij=mysql_fetch_array($sql,MYSQL_ASSOC)) {
echo("<tr>");
foreach($rij as $veldwaarde) {
echo("<td>$veldwaarde</td>");
}
echo("</tr>");
}
echo("</table>");
?>
<a href="index.php">Home</a> - <a href="floorreset.php">DVD Lenen</a> - <a href="loguit.php">Uitloggen</a>
</center>
</body>
</html>
Tabel
Code (php)
1
2
3
4
2
3
4
DVDnaam ---- Genre ---- Lengte ---- Prijs ---- Status
SAW7 GEWELD 1,5uur 2 eur UITGELEEND
SWVII SCIENCE FICT 2uur 5 eur BINNEN
SAW7 GEWELD 1,5uur 2 eur UITGELEEND
SWVII SCIENCE FICT 2uur 5 eur BINNEN
Dan is het dus de bedoeling dat bij Saw 7, er "uitgeleend" in het rood staat, en bij SWVII er "binnen" in groen staat.
Graag reageren met volledige code, ben beetje nieuw met php
Gewijzigd op 20/02/2011 12:15:55 door Pieter Lol
Ga eerst maar eens html leren.
Die status laat je door de if die ik hiervoor poste lopen.
Niet alles moet voorgekauwd worden, je moet er zelf ook iets van leren.
$status haal je uit de database.
Ziezo
en nu...
Toevoeging op 20/02/2011 13:55:52:
Bump, niemand?
Gewijzigd op 20/02/2011 12:16:06 door Pieter Lol
Pieter Lol op 20/02/2011 11:39:04:
De tabel heeft 2 rijen: "dvdnaam" & "status"
2 kolommen.
Een rij is horizontaal, een kolom verticaal.
Al iets gedaan met de tips die je kreeg?
Ik zeg maar wat, die van Karl
En '1,5uur' of '2 eur' kan ook echt niet. Met varchars kan je niet rekenen of wat dan ook en er staat redundante data in je tabel.