xml-genereren-rssfeed-vanuit-mysql

Gesponsorde koppelingen

PHP script bestanden

  1. xml-genereren-rssfeed-vanuit-mysql

« Lees de omschrijving en reacties

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<?php
session_start();

$authlevel=$_SESSION["userlevel"];
?>



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 //EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="nl">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<META NAME="GENERATOR" content="Microsoft FrontPage 6.0">
<META NAME="DESCRIPTION" CONTENT="thuisbioscoop">
<META NAME="KEYWORDS" CONTENT="films, thuisbioscoop">
<META NAME="WEB_AUTHOR"="Rene Wennekes">

<title>Top</title>

<link rel="stylesheet" href="film.css" type="text/css">
<script language="JavaScript1.2" src="menu_data.js"></script>



</head>

<body>

<div class="header">
</div>

<div class="navbar">

<?php
$filename
="menu1.txt"; // Hier staan in een text bestand de links van de navigatiebar.
$fp=fopen($filename,"r");
while ($link=fgetcsv($fp, filesize($filename), ",")) {
  print "<a class=\"navbar\" target=\"$link[3]\" href=\"$link[1]\" TITLE=\"$link[2]\">$link[0]</a>";
  }

fclose ($fp);
?>


</div>
<!--
<script language="JavaScript1.2" src="menu_script.js"></script>
-->
<div class="main" STYLE="background-image: url(droom-theater3.jpg); background-repeat: no-repeat; background-attachment: fixed;">
<p>
<center>

<!-- Agenda -->

<p>
<center>
<b><font face="Arial" size="1">Agenda:</font></b><font face="Arial" size="2"></font><br><br>

<?php

$dbhost
="localhost";
$dbuser="een gebruiker";
$dbpass="een wachtwoord";
$db="een database";

$mysql_id=mysql_connect("$dbhost","$dbuser","$dbpass");

$sql="SELECT * FROM `agenda` order by 'datum' ASC";

$result=mysql_db_query("$db","$sql",$mysql_id) or die("Connectie met database is mislukt");

// XML/RSS bestand klaarmaken

if ($authlevel == "6") {
$filename="agenda.xml";
$fd=fopen($filename,"w") or die  ("XML bestand kan niet worden aangemaakt");
$xml_header=<<<XMLHEADER
<?xml version="1.0" encoding="windows-1252" ?>
<rss version="2.0">
<channel>
  <title>Agenda Bioscoop Rene Wennekes</title>
  <link>http://www.wennekes.info/homecinema</link>
  <description>Agenda overzicht bioscoop van Rene Wennekes.</description>
  <language>nl</language>
  <copyright>Copyright (C) 2007 Rene Wennekes. Alle rechten voorbehouden.</copyright>
  <image>
  <title>Dit is mijn logo</title>
  <link>http://www.wennekes.info/homecinema</link>
  <url>http://www.wennekes.info/rene.jpg</url>
  </image>

XMLHEADER
;
$file_error=fwrite($fd,$xml_header);
}


while ($line=mysql_fetch_row($result)) {
  $id=$line[0];         # ID van de agenda-item
  $id_titel=$line[1];   # De id van de film
  $date_us=$line[2];       # Datum (us formaat)
  $date_nl=substr($date_us,8,2)."-".substr($date_us,5,2)."-".substr($date_us,0,4);
  $time=$line[3];       # Tijd
  
  $sql2="SELECT * FROM `films` where id=$id_titel"; // Nu de film ophalen die hoort bij de id
  
  $result2=mysql_db_query("$db","$sql2",$mysql_id) or die("Connectie met database is mislukt");
  
  while ($line2=mysql_fetch_row($result2)) {
    $title=$line2[1];   # Titel van de film
    $year=$line2[3];   # Productiejaar van de film
    $length=$line2[4];   # Speelduur van de film
    $genre=$line2[7];   # Genre van de film
    $image=$line2[9];   # Afbeeldingpad van de film
    $decription=$line2[10];  # Omschrijving van de film
    # Indien plaatje aanwezig <img> tag aanmaken voor xml bestand

    if ($image != "") {
      $imageurl="<img src=\"http://www.wennekes.info/homecinema/DBase/images/$image\" align=\"left\" border=\"0\">";
      }
else {
      unset ($imageurl); // Anders verschijnt er een plaatje van de vorige record als de huidige geen foto heeft.
      }
    
    print "<p>\n";
    print " Op $date_nl om $time<br><A HREF=\"filmdetail.php?filmnum=$id_titel\">$title</A> ($year),<br>$length minuten, $genre\n";

    print "</p>\n";
    
    // <item> tag met inhoud toevoegen aan xml bestand

if ($authlevel == "6") {
$public_date=date('D, d M Y H:i:s');
$xml_item="
<item>
\t<title>
\t<![CDATA[ <b>$date_nl $time </b>$title\n\t]]>
\t</title>
\t<link>http://www.wennekes.info/homecinema/filmdetail.php?filmnum=$id_titel</link>
\t<description>
\t<![CDATA[
\t$imageurl
\t<b>Jaar: </b>$year<br>
\t<b>Omschrijving: </b>
\t$description<br>
\t<br>
\t<b>Lengte: </b>$length<br>
\t<b>Genre: </b>$genre<br>
\t<br>
\t<b>Datum: </b>$date_nl<br>
\t<b>Tijd: </b>$time<br>
\t]]>
\t</description>
\t<pubDate>$public_date</pubDate>
</item>
"
;

$file_error=fwrite($fd,$xml_item);
}
// Afsluiten lus van item in het xml bestand schrijven indien ingelogd als beheerder
    
    } // Afsluiten lus line 82
  
  } // Agenda records ophalen line 71

if ($authlevel == "6") {
// XML/RSS bestand afsluiten

$xml_footer=<<<XMLFOOTER

</channel>
</rss>
XMLFOOTER
;
$file_error=fwrite($fd,$xml_footer);
fclose($fd);
print "<p>Er is een nieuwe versie van agenda.xml weggeschreven.</p>";
}


?>


<p><center><font face="Arial" size="1" color="#FF9933">(Wijzigingen
voorbehouden)</font>
<br>
<a href="http://www.wennekes.info/homecinema/agenda.xml" target="_blank">
<img border="0" src="rss.gif" title="XML/RSS feed voor de filmagenda" width="26" height="26"></a>

</div>
</body>
</html>


Danny Roelofs : even de tags toegevoegd.

 
 

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.