if($health) etc..
Scythen - 02/02/2007 17:53
PHP gevorderde
Goedendag,
ik wou graag iets maken waardoor je als je minder dan 50% health hebt, een orange td bgcolor moet krijgen, en hoger dan 50% een groene.. maar hij werkt nog niet helemaal.. kan iemand voordoen hoe het moet?
22 antwoorden
Gesponsorde links
Rik - 02/02/2007 18:02
Crew algemeen
<style type="text/css">
.orange {
backround-color: orange;
}
.green {
backround-color: green;
}
</style>
<?php
$bgcolor = $health < 50 ? 'orange' : 'green';
echo '<td class="' . $bgcolor . '">(...)</td>';
?>
<style type="text/css">
.orange {
backround-color: orange;
}
.green {
backround-color: green;
}
</style>
<?php
$bgcolor = $health < 50 ? 'orange' : 'green' ;
echo '<td class="' . $bgcolor . '">(...)</td>' ; ?>
Op zo'n manier?
svm - 02/02/2007 18:04 (laatste wijziging 02/02/2007 18:05)
PHP ver gevorderde
Te laat, deze is wat meer uitgeschreven qua PHP.
Je vult in $health de getallen van 1 t/m 100 in alszijnde de procenten.
Zonder % dus.
<?
if($health >= 50)
$kleur = "orange";
}else{
$kleur = "#00FF00";
}
echo "<td bgcolor='". $kleur ."'>Je leven: ". $health ."%</td>";
?>
<?
if ( $health >= 50 )
$kleur = "orange" ;
} else {
$kleur = "#00FF00" ;
}
echo "<td bgcolor='" . $kleur . "'>Je leven: " . $health . "%</td>" ; ?>
TotempaaltJ - 02/02/2007 18:09 (laatste wijziging 02/02/2007 18:11)
PHP interesse
<?php
if ($health <= 50)
$color = 'FFA500';
elseif ($healt >= 50)
$color = '7CFC00';
else
echo '<font color="red">Er is een probleem opgetreden!</font>';
echo "<font color=\"#$color\">$name</font>";
?>
<?php
if ( $health <= 50 )
$color = 'FFA500' ;
elseif ( $healt >= 50 )
$color = '7CFC00' ;
else
echo '<font color="red">Er is een probleem opgetreden!</font>' ;
echo "<font color=\" #$color \" >$name </font>" ; ?>
Zo ongeveer?
Citaat:
Edit:
Ze waren me voor!!Â
Scythen - 02/02/2007 18:11 (laatste wijziging 02/02/2007 18:14)
PHP gevorderde
Dankjulliewel! Heb die van svm gebruikt en hij werkt prima!:) En nog een vraagje (sinds ik toch nooit antwoord heb gekregen op deze vraag, omdat op een of andere reden niemand antwoord)
ik heb een link, logout.. die verwijst naar logout.php, en daar word de sessie afgebroken, en een header naar index.php.. alleen die index.php komt in mijn MAIN FRAME, terwijl ik wil dat alle frames weg gaan, en gewoon de index.php tevoorschijn komt.. iemand enig idee?
Én btw, hoe doe ik dat zeg maar als die orange moet laten zien, dat die td ook een beetje verkleint.. dat ie ongeveer wel in verhouding is met procenten, dus als mijn health 50% is .. dat ie dan ook 50% is.
svm - 02/02/2007 18:20
PHP ver gevorderde
Verkleinen:
<?
if($health >= 50)
$kleur = "orange";
$breedte = "20"; //"" is optioneel
}else{
$kleur = "#00FF00";
$breedte = "30"; //"" is optioneel
}
echo "<td bgcolor='". $kleur ."' width='". $breedte ."'>Je leven: ". $health ."%</td>";
?>
<?
if ( $health >= 50 )
$kleur = "orange" ;
$breedte = "20" ; //"" is optioneel
} else {
$kleur = "#00FF00" ;
$breedte = "30" ; //"" is optioneel
}
echo "<td bgcolor='" . $kleur . "' width='" . $breedte . "'>Je leven: " . $health . "%</td>" ; ?>
En je werkt dus met frames (niet slim maar ja) en je wilt eruit?
Dat kan met javascript:
<script type="text/javascript">
if (window!= top)
top.location.href=location.href;
</script>
< script type= "text/javascript" >
if ( window!= top)
top. location. href= location. href;
</script>
Scythen - 02/02/2007 18:23 (laatste wijziging 02/02/2007 18:24)
PHP gevorderde
Svm, breedte blijft gelijk.. hij blijft telkens 100%.
en die javascript, waar moet ik die plaatsen? en moet ik hem nog veranderen of?
svm - 02/02/2007 18:26 (laatste wijziging 02/02/2007 18:26)
PHP ver gevorderde
Hmm, haal de quotes eens weg.
Maar 100%??? Dan heb je er meer instaan, kijk de HTML/CSS eens na..
De JS zet je op de pagina (ergens in de <head>) die uit de frames moet springen.
Scythen - 02/02/2007 18:32 (laatste wijziging 02/02/2007 18:32)
PHP gevorderde
Als ik ze zonder quotes neerzet, en puntjes natuurlijk krijg ik hetzelfde..
en die javascript, zet ik toch in mijn logout.php? daar word de sessie afgebroken..
svm - 02/02/2007 18:35 (laatste wijziging 02/02/2007 18:36)
PHP ver gevorderde
Eerder in index.php.
Je hebt dan wel dat hij elke keer dat hij geframed wordt, zichzelf uitbreekt.
Maar je kunt hem ook in logout.php zetten, in het frame van de index.php.
Scythen - 02/02/2007 18:38
PHP gevorderde
In index.php heeft gewerkt hoor, dankjewel. Verder stuit ik op geen problemen (althans, nu nog niet).
En nu nog die breedte van die TD.. wil nog niet lukken, heb heel veel geprobeerd.. heb nu dit:
if($health >= '80'){
$kleur = "green";
$breedte = "100";
}
elseif
($health >= '25'){
$kleur = "orange";
$breedte = "20";
}
elseif($health >= '1'){
$kleur = "red";
$breedte = "30";
}
echo "<tr><td class='btext2' bgcolor='". $kleur ."' width=$breedte>". $health ."%</td></tr>";
if ( $health >= '80' ) {
$kleur = "green" ;
$breedte = "100" ;
}
elseif
( $health >= '25' ) {
$kleur = "orange" ;
$breedte = "20" ;
}
elseif ( $health >= '1' ) {
$kleur = "red" ;
$breedte = "30" ;
}
echo "<tr><td class='btext2' bgcolor='" . $kleur . "' width=$breedte >" . $health . "%</td></tr>" ;
Hmm...
svm - 02/02/2007 19:01
PHP ver gevorderde
Je moet in elk geval die $breedte in de td buiten de quotes halen:
<? //highlighten
echo "<tr><td class='btext2' bgcolor='". $kleur ."' width=". $breedte .">". $health ."%</td></tr>";
<? //highlighten
echo "<tr><td class='btext2' bgcolor='" . $kleur . "' width=" . $breedte . ">" . $health . "%</td></tr>" ;
En wat doet die class btext2?
Scythen - 02/02/2007 19:02 (laatste wijziging 03/02/2007 11:36)
PHP gevorderde
Btext2:
.btext2 {font: 10px verdana; color: #ffffff; border-style: solid; border-color: #333333; padding-left: 3px; padding-right: 3px;}
Niks mis mee, volgens mij.
Iemand anders misschien?
Niemand? Heb het nog steeds niet, de breedte van de health balk..
Rik - 03/02/2007 11:46
Crew algemeen
Dit werkt bij mij:
<table>
<?php
$health = 90;
if($health >= '80'){
$kleur = "green";
$breedte = "100";
}
elseif
($health >= '25'){
$kleur = "orange";
$breedte = "20";
}
elseif($health >= '1'){
$kleur = "red";
$breedte = "30";
}
printf('<tr><td class="btext2" style="background-color: %s; width: %spx">%d</td></tr>', $kleur, $breedte, $health);
?>
</table>
<table>
<?php
$health = 90 ;
if ( $health >= '80' ) {
$kleur = "green" ;
$breedte = "100" ;
}
elseif
( $health >= '25' ) {
$kleur = "orange" ;
$breedte = "20" ;
}
elseif ( $health >= '1' ) {
$kleur = "red" ;
$breedte = "30" ;
}
printf ( '<tr><td class="btext2" style="background-color: %s; width: %spx">%d</td></tr>' , $kleur , $breedte , $health ) ; ?>
</table>
Scythen - 03/02/2007 11:59
PHP gevorderde
Hmm, bij mij verandert de hele table width mee.. dat moet ik ook niet hebben, ik wil gewoon dat die breedte van de bgcolor als het ware verkleint word.
Rik - 03/02/2007 12:28 (laatste wijziging 03/02/2007 12:29)
Crew algemeen
Ik heb er nu dit van gemaakt:
<?php
$health_balk_breedte = 200;
$health = rand(0, 100);
$kleur = 'green';
$breedte = round($health * $health_balk_breedte / 100);
$kleur = $health > 80 ? 'green' : ($health > 25 ? 'orange' : 'red');
printf('<div style="width: %dpx; border: 1px solid black; float: left;"><div style="background-color: %s; width: %dpx; border-right: 1px solid black; color: white;"> </div></div>%d%%', $health_balk_breedte, $kleur, $breedte, $health);
?>
<?php
$health_balk_breedte = 200 ;
$kleur = 'green' ;
$breedte = round ( $health * $health_balk_breedte / 100 ) ; $kleur = $health > 80 ? 'green' : ( $health > 25 ? 'orange' : 'red' ) ;
printf ( '<div style="width: %dpx; border: 1px solid black; float: left;"><div style="background-color: %s; width: %dpx; border-right: 1px solid black; color: white;"> </div></div>%d%%' , $health_balk_breedte , $kleur , $breedte , $health ) ; ?>
Ik weet niet of het precies zo is als wat je bedoelt, maar je kan het zelf nog aanpassen als je wilt.
Edit:
<?php en ?> toegevoegd!
Scythen - 03/02/2007 12:33 (laatste wijziging 03/02/2007 12:52)
PHP gevorderde
Boukefalos, het werkt nu wel.. alleen jij gebruikt nu DIV, en ik gebruik tables.. enig idee hoe ik het kan invoegen in mijn table? Denk niet dat het kan... ofwel?
Iemand?
Scythen - 03/02/2007 12:55
PHP gevorderde
Al slaj em e dood.. ik zou nog niet weten hoe, wil je het misschien even voor mij doen?
Rik - 03/02/2007 13:15
Crew algemeen
Zo dan?
<?php
/* Orgineel
$health_balk_breedte = 200;
$health = rand(0, 100);
$breedte = round($health * $health_balk_breedte / 100);
$kleur = $health > 80 ? 'green' : ($health > 25 ? 'orange' : 'red');
printf('<div style="width: %dpx; border: 1px solid black; float: left;"><div style="background-color: %s; width: %dpx; border-right: 1px solid black; color: white;"> </div></div>%d%%', $health_balk_breedte, $kleur, $breedte, $health);
*/
/* Vanaf hier toegepast op een tabel */
$health_balk_breedte = 123; // Verander dit naar de breedte van de tabel
$health = rand(0, 100); // Leven van 0 t/m 100 om te testen
$breedte = round($health * $health_balk_breedte / 100);
$kleur = $health > 80 ? 'green' : ($health > 25 ? 'orange' : 'red');
?>
<table width="123" style=" border: 1px solid black; float: left;" cellspacing="0" cellpadding="0">
<tr>
<td style="background-color: <?php echo $kleur; ?>; width: <?php echo $breedte; ?>; border-right: 1px solid black; color: white;"> </td>
<td style="width: <?php echo $health_balk_breedte - $breedte ?>;"> </td>
</tr>
</table>
<span style="float: left;"><?php echo $health; ?>%</span>
<?php
/* Orgineel
$health_balk_breedte = 200;
$health = rand(0, 100);
$breedte = round($health * $health_balk_breedte / 100);
$kleur = $health > 80 ? 'green' : ($health > 25 ? 'orange' : 'red');
printf('<div style="width: %dpx; border: 1px solid black; float: left;"><div style="background-color: %s; width: %dpx; border-right: 1px solid black; color: white;"> </div></div>%d%%', $health_balk_breedte, $kleur, $breedte, $health);
*/
/* Vanaf hier toegepast op een tabel */
$health_balk_breedte = 123 ; // Verander dit naar de breedte van de tabel
$health = rand ( 0 , 100 ) ; // Leven van 0 t/m 100 om te testen
$breedte = round ( $health * $health_balk_breedte / 100 ) ; $kleur = $health > 80 ? 'green' : ( $health > 25 ? 'orange' : 'red' ) ;
?>
<table width="123" style=" border: 1px solid black; float: left;" cellspacing="0" cellpadding="0">
<tr>
<td style="background-color:
<?php echo $kleur ; ?> ; width:
<?php echo $breedte ; ?> ; border-right: 1px solid black; color: white;"> </td>
<td style="width:
<?php echo $health_balk_breedte - $breedte ?> ;"> </td>
</tr>
</table>
<span style="float: left;">
<?php echo $health ; ?> %</span>
Gesponsorde links
Dit onderwerp is gesloten .