Afbeelding(en) op bepaalde tijd weergeven

Status
Niet open voor verdere reacties.
Bedankt :thumb:
Werkt nu naar behoren.
Eerst idd if, dan elseif en als laatste else.
Thnx !!!
 
Een switch-statement was overigens nog beter
Zie mijn post: "Het is rechttoe rechtaan code die je makkelijk zelf kan aanpassen."
Bij weinig vergelijkingen geef ik de voorkeur aan if() zodat ik niet overal de break erbij hoeft te zetten. Ter vergelijking: of je nu over links speelt of over rechts speelt, het gaat om het doelpunt wat telt.

Ik zou zelfs dit neer kunnen zetten in plaats van if elseif else maar het leest niet echt lekker
Code:
LeadZero=(ImgNr<10)?"00":((ImgNr<100)?"0":"");

Noot: Het performance verlies van zowel server als browser is nihil. De meeste tijd gaat zitten in het laden van plaatjes maar als dit eens in de 2 minuten gebeurt is dit niet erg. Als je weer bij plaatje 1 begint komen ze uit de browser cache.
 
Laatst bewerkt:
Ha Bron...
Mooi werk heb je gemaakt :thumb:
Heb nog een paar aanvullende vragen:

Als ik de animatie bijvoorbeeld 1,5 uur wil laten duren....is dit dan de juiste code?
PHP:
$imgTimeOut   = 90;  // min.

Daarnaast wil ik een ander php script (wat een grafische afbeelding genereert) aan de index.phph pagina toevoegen.
PHP:
<?php include('resultaatrefresh.php') ?>
Als ik dit in index.php toevoeg komt het in een grijze balk er boven, terwijl ik het graag met een witte (net als index.php) achtergrond wil hebben.

PHP:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tijdvenster</title>
<link rel="stylesheet" href="style.css">
<?php include(dirname(__FILE__) . '/interval.php'); ?>
</head>
<body>
<div id="container">
	<div id="img-melding">
		Geen informatie beschikbaar.
	</div>
	<div id="img-wrapper">
		<img id="img-item" src="profiel999.jpg" alt="" />
	</div>
	<div id="img-info">
		Geen foto beschikbaar.
	</div>
</div>
<script src="interval.js"></script>
</body>
</html>
Hoe kan ik dat realiseren?

Mijn laatste vraag:
Hoe kan ik de melding: je bent te vroeg/te laat en Yeah!, plus de regel onderaan met de vermelding van de foto verwijderen?
:rolleyes:
 
Je eerste vraag over 1,5 uur... helemaal goed.

Je andere vragen heb ik hieronder samengevoegd. Ik kan niet zien wat 'resultaatrefresh.php' doet maar ik ga ervan uit dat deze tussen <body> en </body> moet. In style.css zet je #resultaat-refresh { background: #fff; }
Code:
<div id="container">
    <div id="img-wrapper">
        <img id="img-item" src="profiel999.jpg" alt="" />
    </div>
    <div id="resultaat-refresh">
        <?php include('resultaatrefresh.php'); ?>
    </div>
</div>
<script src="interval.js"></script>

Suc6. Have fun.
 
Bron...
Je hebt me geweldig geholpen.
Echt reuze bedankt !
:thumb:
Het 'resultaatrefresh.php' script komt zoals gewenst op de pagina.
Dit script haalt via een refresh commando in de header, om de 2 minuten data uit een database.
PHP:
<?php
    header("refresh: 30;");
?>
<div style="text-align:center">
<?php

mysql_connect("localhost", "naam", "wachtwoord") or die(mysql_error());
mysql_select_db("tour") or die(mysql_error());

$result = mysql_query("SELECT * FROM radio") 
or die(mysql_error());  

while($row = mysql_fetch_array( $result )) {


$waarde = $row['afbwaarde'];
$tijd1 = $row['tijdverschil1'];
$tijd2 = $row['tijdverschil2'];

if($waarde == 1){
echo '<img src="auto1.png">';
}
elseif($waarde == 2){
echo '<img src="auto1.png">';
echo $tijd1;
echo '<img src="auto2.png">';
}
elseif($waarde == 3){
echo '<img src="auto1.png">';
echo $tijd1;
echo '<img src="auto3.png">';
}
elseif($waarde == 4){
echo '<img src="auto1.png">';
echo $tijd2;
echo '<img src="auto5.png">';
echo $tijd1;
echo '<img src="auto2.png">';
}
elseif($waarde == 5){
echo '<img src="auto1.png">';
echo $tijd2;
echo '<img src="auto3.png">';
echo $tijd1;
echo '<img src="auto2.png">';
}
elseif($waarde == 6){
echo '<img src="auto1.png">';
echo $tijd2;
echo '<img src="auto4.png">';
echo $tijd1;
echo '<img src="auto3.png">';
}
elseif($waarde == 7){
echo '<img src="auto1.png">';
echo $tijd2;
echo '<img src="auto2.png">';
echo $tijd1;
echo '<img src="auto3.png">';
}
}
?></div>
</html>


Als je van mening bent dat je dat mooier/beter kan maken...laat het me weten...
Ik hoor/zie het wel.
:shocked:
 
Het script kan verbeterd worden maar als het zo werkt dan kun je het zo laten.
De refresh, bovenaan in je script, kan misschien in conflict zijn met het interval script wat ik je gaf.
Zonder getest te hebben geef ik je hetzelfde maar dan wat vriendelijker leesbaar (met een function).
Code:
<?php
echo( '<div style="text-align:center">' . PHP_EOL );
function ImgSrcTijd ($imgSrc, $tijd) {
   if(isset($imgSrc)) echo( '<img src="' . $imgSrc . '" alt="">' . PHP_EOL );
   if(isset($tijd))   echo( $tijd . PHP_EOL );
}
mysql_connect("localhost", "naam", "wachtwoord") or die(mysql_error());
mysql_select_db("tour") or die(mysql_error());
$result = mysql_query("SELECT * FROM radio") or die(mysql_error());
while( $row = mysql_fetch_array($result) ){
   $waarde = $row['afbwaarde'];
   $tijd1  = $row['tijdverschil1'];
   $tijd2  = $row['tijdverschil2'];
   switch ($waarde) {
   case 1:
      ImgSrcTijd("auto1.png");
      break;
   case 2:
      ImgSrcTijd("auto1.png", $tijd1);
      ImgSrcTijd("auto2.png");
      break;
   case 3:
      ImgSrcTijd("auto1.png", $tijd1);
      ImgSrcTijd("auto3.png");
      break;
   case 4:
      ImgSrcTijd("auto1.png", $tijd2);
      ImgSrcTijd("auto5.png", $tijd1);
      ImgSrcTijd("auto2.png");
      break;
   case 5:
      ImgSrcTijd("auto1.png", $tijd2);
      ImgSrcTijd("auto3.png", $tijd1);
      ImgSrcTijd("auto2.png");
      break;
   case 6:
      ImgSrcTijd("auto1.png", $tijd2);
      ImgSrcTijd("auto4.png", $tijd1);
      ImgSrcTijd("auto3.png");
      break;
   case 7:
      ImgSrcTijd("auto1.png", $tijd2);
      ImgSrcTijd("auto2.png", $tijd1);
      ImgSrcTijd("auto3.png");
      break;
   }
}
echo( '</div>' . PHP_EOL );
?>

Ik heb het weer rechttoe rechtaan gehouden.

Suc6.
 
Avond...
Er zit ergens een klein foutje.
Kan alleen niet ontdekken wat er anders moet.

De melding die ik krijg (draai het momenteel op een localhost met xampp) is:
Warning: Missing argument 2 for ImgSrcTijd(), called in C:\xampp\htdocs\resultaatrefresh.php on line 24 and defined in C:\xampp\htdocs\resultaatrefresh.php on line 3

Het phpscript is zoals je had gegeven.
Wellicht dat jij weet wat er mis gaat...:shocked:
PHP:
<?php
echo( '<div style="text-align:center">' . PHP_EOL );
function ImgSrcTijd ($imgSrc, $tijd) {
   if(isset($imgSrc)) echo( '<img src="' . $imgSrc . '" alt="">' . PHP_EOL );
   if(isset($tijd))   echo( $tijd . PHP_EOL );
}
mysql_connect("localhost", "naam", "wachtwoord") or die(mysql_error());
mysql_select_db("tour") or die(mysql_error());
$result = mysql_query("SELECT * FROM radio") or die(mysql_error());
while( $row = mysql_fetch_array($result) ){
   $waarde = $row['afbwaarde'];
   $tijd1  = $row['tijdverschil1'];
   $tijd2  = $row['tijdverschil2'];
switch ($waarde) {
case 1:
      ImgSrcTijd("auto1.png");
      break;
   case 2:
      ImgSrcTijd("auto1.png", $tijd1);
      ImgSrcTijd("auto2.png");
      break;
   case 3:
      ImgSrcTijd("auto1.png", $tijd1);
      ImgSrcTijd("auto3.png");
      break;
   case 4:
      ImgSrcTijd("auto1.png", $tijd2);
      ImgSrcTijd("auto5.png", $tijd1);
      ImgSrcTijd("auto2.png");
      break;
   case 5:
      ImgSrcTijd("auto1.png", $tijd2);
      ImgSrcTijd("auto3.png", $tijd1);
      ImgSrcTijd("auto2.png");
      break;
   case 6:
      ImgSrcTijd("auto1.png", $tijd2);
      ImgSrcTijd("auto4.png", $tijd1);
      ImgSrcTijd("auto3.png");
      break;
   case 7:
      ImgSrcTijd("auto1.png", $tijd2);
      ImgSrcTijd("auto2.png", $tijd1);
      ImgSrcTijd("auto3.png");
      break;
   }
}
echo( '</div>' . PHP_EOL );

?>
 
Laatst bewerkt:
Code:
  ImgSrcTijd("auto1.png", $tijd1);
  ImgSrcTijd("auto2.png");

je mist een argument op de tweede regel. ;)

En verder raad ik gebruik van de MySQL-functies af. Gebruik liever de functies van MySQLi of PDO.
Zodra je PHP-versie overgaat naar versie 7, dan zal je script 'breken'.
 
je mist een argument op de tweede regel.
Ik geloof je op je woord.

Mijn vraag was meer aan Bron gericht :cool:

En verder raad ik gebruik van de MySQL-functies af. Gebruik liever de functies van MySQLi of PDO.
Zodra je PHP-versie overgaat naar versie 7, dan zal je script 'breken'.

Hoe bedoel je dat?
Waar kan ik hierover info vinden?
 
$tijd in de functie is optioneel, dan wordt het
Code:
function ImgSrcTijd ($imgSrc, $tijd = NULL) {
   if(isset($imgSrc)) echo( '<img src="' . $imgSrc . '" alt="">' . PHP_EOL );
   if(isnull($tijd))   echo( $tijd . PHP_EOL );
}
Ik hoor nog wel of het werkt.
 
Ik geloof je op je woord.

Mijn vraag was meer aan Bron gericht :cool:



Hoe bedoel je dat?
Waar kan ik hierover info vinden?
Een mooie tutorial:
http://www.phptuts.nl/view/26/
(Er staat wel PHP 6 in vermeld, maar die is doorgegaan als PHP 7)

Als je verder vragen hebt hierover, dan zien we graag een nieuw topic :)
 
Laatst bewerkt:
Het concept mysqli waar php4u het over heeft kan op meerdere manieren. Deze is rechttoe rechtaan:
Code:
$db_link = mysqli_connect("localhost", "naam", "wachtwoord", "tour");
if (mysqli_connect_errno()) {
   echo "Connectie met database niet gelukt.";
}else{
   if ($db_res = mysqli_query($db_link, "SELECT * FROM radio")) {
      while ($row = mysqli_fetch_assoc($db_res)) {
         $waarde = $row["afbwaarde"];
         $tijd1  = $row["tijdverschil1"];
         $tijd2  = $row["tijdverschil2"];
         ...
      }
      mysqli_free_result($db_res);
   }
   mysqli_close($db_link);
}
Je hoeft dit niet te gebruiken om 2 redenen. Ik ga ervan uit dat je op een shared server zit. Je provider zal dan nooit zomaar de php versie veranderen zonder je hier ruim van tevoren over te informeren. De tweede reden is dat je bij veel providers in het control panel zelf kan instellen welke php versie je wilt gebruiken.

Suc6 met de code.
 
Bedankt Bron, wederom voor je info.
Je laatste aanpassing van het script ga ik morgen uitproberen.
Wel heb ik nog een aanvullende vraag voor je.
Als ik index.php op mijn mobiel open en ik draai mijn mobiel, dan blijft de pagina gewoon (klein) staan.
Is dat eenvoudig te veranderen in "responsive"..ofzo? (zo heet dat toch? :rolleyes:)

PHP:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tijdvenster</title>
<link rel="stylesheet" href="style.css">
<?php include(dirname(__FILE__) . '/interval.php'); ?>
</head>
<body>
<div id="container">
    <div id="img-melding">
        Geen informatie beschikbaar.
    </div>
    <div id="img-wrapper">
        <img id="img-item" src="profiel999.jpg" alt="" />
    </div>
    <div id="img-info">
        Geen foto beschikbaar.
    </div>
</div>
<script src="interval.js"></script>
</body>
</html>
 
Dit in je head sectie:
Code:
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
Het concept mysqli waar php4u het over heeft kan op meerdere manieren. Deze is rechttoe rechtaan:
Je hoeft dit niet te gebruiken om 2 redenen. Ik ga ervan uit dat je op een shared server zit. Je provider zal dan nooit zomaar de php versie veranderen zonder je hier ruim van tevoren over te informeren. De tweede reden is dat je bij veel providers in het control panel zelf kan instellen welke php versie je wilt gebruiken.
Ik zou als ik GillesKarel was niet te lang wachten met deze aanpassing. Er komt een moment wanneer PHP 5 niet meer ondersteund zal worden. Dat zal nog wel een paar jaar duren, maar nu kan je nog overstappen zonder problemen.
 
Welkom in de responsive website wereld :) Misschien is dit het moment om over te gaan naar Bootstrap. Het style gedeelte van Bootstrap is een verzameling classes die je met <link> aan je webpagina kan koppelen. Bootstrap wordt wereldwijd veel gebruikt voor websites die op diverse apparaten goed weergegeven moeten worden. Bovendien haalt het verschillen weg tussen de diverse browsers. Het wordt dan zo:
Code:
index.php

<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Tijdvenster</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="style.css">
<?php include(dirname(__FILE__) . '/interval.php'); ?>
</head>
<body>
<div id="container" class="container">
   <div class="row">
      <div id="img-melding" class="col-xs-12">
         Geen informatie beschikbaar.
      </div>
      <div id="img-wrapper" class="col-xs-12">
         <img id="img-item" src="profiel999.jpg" alt="" />
      </div>
      <div id="img-info" class="col-xs-12">
         Geen foto beschikbaar.
      </div>
   </div>
</div>
<script src="interval.js"></script>
</body>
</html>

style.css

html {
   height: 100%;
}
body {
   height: 100%;
   background: #ddd;
}
#container {
   min-height: 100%;
   padding: 40px 20px;
   background: #fff;
}
#img-wrapper {
   margin: 10px 0;
}
#img-item {
   width: 100%;
}
Als je op je pc de browser smaller maakt dan zie je het effect.
 
Laatst bewerkt:
@ Bron...
Je hebt me geweldig geholpen.
Nu heb ik nog vragen over een totaal andere script(s).
Hoe pak ik dat aan...?
Post ik die hier of elders?
Ik hoor graag van je.
:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan