Uitlezen
Nu heb je gegevens in een database en wil je het uit lezen. Aangezien wij hier phpers zijn die wel een bassis kennis hebben ga ik deze script niet echt uit leggen. De werking van de script lijkt mij duidelijk.
Code (php)
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
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
<?php
/**
* @author Eris
* @license LGPL 2.0 or newer
* @date 03-02-2007
* Description: Read database and send it towards the browser
*/
if($link = mysql_connect('localhost','root',''))
{
if(!mysql_select_db('test',$link))
{
$link = false;
echo 'Unable to connect to database';
}
}
if($link)
{
$sql = 'select * from wikiping order by date_received desc LIMIT 0,30';
//execute query
if(!$result = mysql_query($sql,$link))
{
echo 'Error: '. mysql_errno() .':'. mysql_error();
}
else
{
while($row = mysql_fetch_assoc($result))
{
//prevent XSS shit
foreach($row as $label => $value)
{
$row[$label] = htmlspecialchars(preg_replace('/&/','&',$value),ENT_COMPAT);
}
echo '<a href="'.$row['url'].'">'.$row['tag'].'</a>
op '.$row['wiki'].'
Geschreven door <a href="'.$row['authorpage'].'">'.$row['author'].'</a>
op '.date('d-m-Y',strtotime($row['date_received'])).'.
<a href="'.$row['history'].'">Geschiedenis</a><br />';
}
}
}
?>
/**
* @author Eris
* @license LGPL 2.0 or newer
* @date 03-02-2007
* Description: Read database and send it towards the browser
*/
if($link = mysql_connect('localhost','root',''))
{
if(!mysql_select_db('test',$link))
{
$link = false;
echo 'Unable to connect to database';
}
}
if($link)
{
$sql = 'select * from wikiping order by date_received desc LIMIT 0,30';
//execute query
if(!$result = mysql_query($sql,$link))
{
echo 'Error: '. mysql_errno() .':'. mysql_error();
}
else
{
while($row = mysql_fetch_assoc($result))
{
//prevent XSS shit
foreach($row as $label => $value)
{
$row[$label] = htmlspecialchars(preg_replace('/&/','&',$value),ENT_COMPAT);
}
echo '<a href="'.$row['url'].'">'.$row['tag'].'</a>
op '.$row['wiki'].'
Geschreven door <a href="'.$row['authorpage'].'">'.$row['author'].'</a>
op '.date('d-m-Y',strtotime($row['date_received'])).'.
<a href="'.$row['history'].'">Geschiedenis</a><br />';
}
}
}
?>
Enige stukje code die er even uit wil halen is dit
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
foreach($row as $label => $value)
{
$row[$label] = htmlspecialchars(preg_replace('/&/','&',$value),ENT_COMPAT);
}
?>
foreach($row as $label => $value)
{
$row[$label] = htmlspecialchars(preg_replace('/&/','&',$value),ENT_COMPAT);
}
?>
Als ik het wil kan ik in de XML request bepaalde dingen mee sturen die ik in mijn "pagina" niet wil hebben alleen. wanneer er gebruik wordt gemaakt van & in de urls moet dat eerst even worden omgezet. Anders krijgen wij problemen met de links als wij later linken.
Uiteraard kan je de weergave van de updates zelf aanpassen. Net zoals pings die selecteerd. Alleen de laatste ping van elke pagina wilt hebben. Ga je gang dat mag je zelf doen. Zelfde als de weer gave. Misschien een mooie tabel of iets anders.
« vorige pagina | volgende pagina »
Inhoudsopgave
- Wiki ping
- Wat is een wikiping
- XML bestand
- De script
- Uitleg van de PHP code
- Uitlezen
- Tabel Structuur
- Ondersteuning van wiki's
- Waarom zo uitgebreid