Avatar billede ze-men Nybegynder
04. august 2007 - 16:56 Der er 18 kommentarer og
1 løsning

Viser billede afhængig af tidspunkt og ugedag

Hej Eksperter...

Jeg har lavet følgende kode:

<?
$date_array = getdate();
$time = date("H", time());

$dag = $date_array["wday"];
$time2 = $time;

$timeday = "0$dag$time2";

if $timeday = $row_rsSendeplan['kode']) then echo "222";

?>

Jeg har en MySQL-tabel med én post for hver time, hele ugen - dvs. 168 poster. Hver post skal have et billede tilknyttet - nogle af dem har det samme billede.

I tabellen har hver post/time en kode - f.eks. 0616 - hvilket betyder at billedet skal vises d. 6 dag i ugen, klokken 16:00-17:00.

Jeg har så lavet en kode (den ovenfor) der udskriver det den aktuelle ugedag og todspunkt - lige som koderne jeg har givet i databasen.

Det jeg nu skal have hjælp til er:
- et script der viser det billede der tilknyttet i MySQL-databasen. Hvordan gør jeg det?

Min MySQL-database hedder: duno_dk
Tabellen hedder: duno_sendeplan
Feltet med koden hedder: kode
Feltet med billednavnet hedder: billede
Avatar billede ze-men Nybegynder
04. august 2007 - 17:03 #1
Forøvrigt; linien herunder skal der ses bort fra, jeg sad bare og rodede.

if $timeday = $row_rsSendeplan['kode']) then echo "222";
Avatar billede jakobdo Ekspert
04. august 2007 - 17:56 #2
Enten kan du angive billederne med samme navn som dine koder:

0616.jpg
0222.jpg

Og det vil så betyde et billede skal oprettes med flere navne.
Du kunne så evt. løse det med en tabel.

Billede_kode_tabel.

0222 - billede1.jpg
0616 - billede1.jpg
0412 - billede2.jpg

Håber du kan bruge mine forslag.
Avatar billede ze-men Nybegynder
04. august 2007 - 18:19 #3
Nej, jeg skal have scriptet til at hente filnavnet på det billedet der er i den række som er lig tiden.

F.eks. det er fredag og klokken er 18. Den skal så gå ind idatabasen og hente oplysningerne fra den række der har koden 0518, dér henter den så f.eks. billedet "billede.jpg" - og det billede skal den så vise dér hvor scriptet er indsat.
Avatar billede jakobdo Ekspert
04. august 2007 - 18:23 #4
Så du skal have noget kode der giver dig 0616 f.eks.?

Hvad med: echo '0' . date('NH');
Avatar billede ze-men Nybegynder
04. august 2007 - 18:25 #5
Det har jeg også her:


<?
$date_array = getdate();
$time = date("H", time());

$dag = $date_array["wday"];
$time2 = $time;

$timeday = "0$dag$time2";
?>
Avatar billede way3000 Nybegynder
04. august 2007 - 20:40 #6
jamen skal du ikke bare lave en streng for hver time ?
altså
eks:
$fortal = 0;
$date_array = getdate();
$hent_ID = $fortal . $date_arrey["wday"] . date("H")
eks:
echo $hent_ID; //0712
?
så siger du bare
SELECT * FROM duno_dk WHERE kode=´$hent_ID´
Kan man ikke det ?
og så <img src="<? echo $billede; ?>">

eller misforstår jeg noget her ?
Avatar billede way3000 Nybegynder
04. august 2007 - 20:40 #7
husk lige de ; tegn jeg glemte :P
Avatar billede ze-men Nybegynder
06. august 2007 - 00:01 #8
Så har jeg nu denne kode. Jeg vil gerne have $billede-feltet fra den pågældende række der har koden der er lig $timeday. Billedet skal indsættes i en IMG SRC-kode, der gør at billedet vises.

Her er koden:

<?
$date_array = getdate();
$time = date("H", time());

$dag = $date_array["wday"];
$time2 = $time;

$timeday = "0$dag$time2";

$query = "SELECT * FROM duno_radio_sendeplan WHERE kode='$timeday'";

?>
Avatar billede way3000 Nybegynder
06. august 2007 - 00:20 #9
$timeday = "0" . $dag . $time2;

og billedet vises med

<img src="<? echo $billede; ?>">

Så ser det ud for mig til at det vil virke. da du kun er en række med den kode henter du kun en række jo.

Du kan teste det efter med at echo $timeday ud og se om det passer.
Avatar billede ze-men Nybegynder
06. august 2007 - 00:33 #10
Nu ser hele min kode ud som nedenfor. Men den vil statig ikke finde billedet!

<?php require_once('Connections/duno.php'); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
$date_array = getdate();
$time = date("H", time());

$dag = $date_array["wday"];
$time2 = $time;

$timeday = "0" . $dag . $time2;

$query = "SELECT * FROM duno_radio_sendeplan WHERE kode='$timeday'";

echo $timeday;

?>
<br>
<br>
<img src="http://www.duno.dk/_layout/_radio/_sendeplan/<? echo $billede; ?>">
</body>
</html>
Avatar billede jakobdo Ekspert
06. august 2007 - 08:04 #11
Prøv denne kode:

<?php require_once('Connections/duno.php'); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
$date_array = getdate();
$time = date("H", time());

$dag = $date_array["wday"];
$time2 = $time;

$timeday = "0" . $dag . $time2;

$query = mysql_query("SELECT * FROM duno_radio_sendeplan WHERE kode='$timeday' LIMIT 1") or die(mysql_error());
if(mysql_num_rows($query)==1)
{
    $row = mysql_fetch_assoc($query);
    $billede = $row['billede'];
}
else
{
    $billede = 'notfound.jpg';
}

?>
<br>
<br>
<img src="http://www.duno.dk/_layout/_radio/_sendeplan/<? echo $billede; ?>">
</body>
</html>

Du manglede kode som trækker data ud fra din tabel.
Avatar billede ze-men Nybegynder
06. august 2007 - 13:01 #12
Tak, "jacobdo" - det virker nu:-)

Svar så du/i kan få points..
Avatar billede jakobdo Ekspert
06. august 2007 - 13:22 #13
Svar!
Avatar billede way3000 Nybegynder
06. august 2007 - 13:25 #14
Tror ikke jeg skal ha points :) jeg svarede jo sådan set det samme som jakobdo.

Han kom med den sidste løsning :) så han skal ha points hehe.

godt det virker :)
Avatar billede jakobdo Ekspert
06. august 2007 - 13:26 #15
Koden hvor du laver $timeday, kan laves nemmere:

$timeday = "0" . date("NH", time());
Avatar billede way3000 Nybegynder
06. august 2007 - 13:40 #16
Hver sin lyst :) har underligt nok oplevet den fejle på enkelte servere med php4 :(
Avatar billede jakobdo Ekspert
06. august 2007 - 13:51 #17
way3000: Min kode fra: 06/08-2007 13:26:39 ?
Avatar billede jakobdo Ekspert
06. august 2007 - 13:58 #18
Date: N - ISO-8601 numeric representation of the day of the week (added in PHP 5.1.0)
Avatar billede way3000 Nybegynder
06. august 2007 - 14:00 #19
Muligvis derfor :P
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester