MySQL record waarde -> bepaald kleur v tekst

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pieter Lol

Pieter Lol

20/02/2011 11:39:04
Quote Anchor link
Hey

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)
PHP script in nieuw venster Selecteer het PHP script
1
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>");
?>


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?
 
PHP hulp

PHP hulp

20/04/2024 12:46:10
 
Jordi Kroon

Jordi Kroon

20/02/2011 11:43:04
Quote Anchor link
<font color='13E800'></font>

Ik mis je fouthandeling
 
Ocirina Ocirina

Ocirina Ocirina

20/02/2011 11:45:18
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if($status == 'binnen')
{

//css div bg. Groen
echo 'Dvd is beschikbaar.';
}

else
{
// css div bg. Rood
echo 'Dvd is al uitgeleend.';
}

?>
Gewijzigd op 20/02/2011 11:47:49 door Ocirina Ocirina
 

20/02/2011 11:45:37
Quote Anchor link
- Selecteer wat je wilt hebben gebruik geen *.
- 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

Onzin weer.
 
Jasper DS

Jasper DS

20/02/2011 11:48:00
Quote Anchor link
Voor de foutafhandeling kijk Hier naar (algemene structuur)
 
Pieter Lol

Pieter Lol

20/02/2011 11:54:35
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if($status == 'binnen')
{

//css div bg. Groen
echo 'Dvd is beschikbaar.';
}

else
{
// css div bg. Rood
echo 'Dvd is al uitgeleend.';
}

?>


Had ik ook al aangeduid maar wat moet er dan bij

$status = ""; staan?
want ik moet ergens definiëren wat $status is.
 
Ocirina Ocirina

Ocirina Ocirina

20/02/2011 11:56:50
Quote Anchor link
Hoe bedoel je, als er nog niks met de dvd is gebeurd?
 
Pieter Lol

Pieter Lol

20/02/2011 12:08:11
Quote Anchor link
?
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)
PHP script in nieuw venster Selecteer het PHP 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
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>


Tabel
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
DVDnaam   ----    Genre  ----  Lengte ---- Prijs ---- Status

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
 

20/02/2011 12:10:56
Quote Anchor link
Ga eerst maar eens html leren.
 
Ocirina Ocirina

Ocirina Ocirina

20/02/2011 12:13:45
Quote Anchor link
Je vraagt toch bij iedere dvd de status op?
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.
 
Jasper DS

Jasper DS

20/02/2011 12:13:58
Quote Anchor link
2 keer <html> gebruiken kan niet he!

$status haal je uit de database.
 
Pieter Lol

Pieter Lol

20/02/2011 12:15:26
Quote Anchor link
Ow, dat dingetje onderaan is verkeerd gekopieerd, haal ik er ff uit

Ziezo

en nu...

Toevoeging op 20/02/2011 13:55:52:

Bump, niemand?
Gewijzigd op 20/02/2011 12:16:06 door Pieter Lol
 
Kris Peeters

Kris Peeters

21/02/2011 12:26:33
Quote Anchor link
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
 
The Force

The Force

21/02/2011 12:34:46
Quote Anchor link
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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.