laatste 5 update's
ik heb een vraagje hoe kan hij de laatste 5 update uit de datebase hallen ?
dit is wat ik in mijn database heb :
Quote:
-- Database: `my_magicalthemepark`
--
-- --------------------------------------------------------
--
-- Tabel structuur voor tabel `update`
--
CREATE TABLE IF NOT EXISTS `update` (
`info` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- --------------------------------------------------------
--
-- Tabel structuur voor tabel `update`
--
CREATE TABLE IF NOT EXISTS `update` (
`info` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
zonder een veld id of datumtijd wordt het lastig de laatste 5 updates op te halen
als alles na elkaar wordt ingevoegd een LIMIT 0,5 in je query, anders een datetime kolom toevoegen, en dan een ORDER BY dateAndTime LIMIT 0,5
ik heb nu een datetime toegevoegt maar hoe laat laat hij de laatste 5 nieuwste zien ?
dit is wat ik heb :
--
-- Database: `my_magicalthemepark`
--
-- --------------------------------------------------------
--
-- Tabel structuur voor tabel `update`
--
CREATE TABLE IF NOT EXISTS `update` (
`datum` datetime NOT NULL,
`info` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
select top 5 * from update order by datum desc
de Query die je moet hebben:
Ow shit ja sorry, ik gebruik doorgaans alleen SQL
srry ben niet echt goed nog in php
http://www.phphulp.nl/php/tutorial/overig/sql-beginners-handleiding/576/
en meteen een php tutorial:
http://www.phphulp.nl/php/tutorial/overig/php-beginners-handleiding/575/
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
include('config.php');
mysql_connect('localhost','*****','*****');
mysql_select_db('my_magicalthemepark') or die (mysql_error());
$sql = "select top 5 * from update order by datum desc";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
while($row = mysql_fetch_array($result)){
echo "<font size=4><b>".$row['info']."</b></font><br><font size=1>".$row['datum']."</font>";
echo "<font size=-2> - ".$row['door']."</font><br><br>";
echo "<font size=-1>";
echo "</font>";
}
mysql_close();
?>
include('config.php');
mysql_connect('localhost','*****','*****');
mysql_select_db('my_magicalthemepark') or die (mysql_error());
$sql = "select top 5 * from update order by datum desc";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
while($row = mysql_fetch_array($result)){
echo "<font size=4><b>".$row['info']."</b></font><br><font size=1>".$row['datum']."</font>";
echo "<font size=-2> - ".$row['door']."</font><br><br>";
echo "<font size=-1>";
echo "</font>";
}
mysql_close();
?>
SELECT datum, info FROM update ORDER BY datum LIMIT 5
- zorg voor een foutafhandeling dan weet je waar het mis loopt.
"select top 5 * " zal nooit een juist resultaat geven. top 5 bestaat niet.
Bouw nette foutafhandeling in, want de errors vliegen in het rond.
kan iemand mij alsjeblieft helpen het lukt gewoon niet
Bekijk dit script eens aandachtig:
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
44
45
46
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
<?php
include('config.php');
if(mysql_connect('localhost','*****','*****') === false)
{
echo 'fout bij verbinden db';
}
elseif(mysql_select_db('my_magicalthemepark') === false)
{
echo 'Fout bij selecteren db';
}
else
{
$sql = "SELECT
text,
datum
FROM
update
ORDER BY
datum DESC
LIMIT 0,5
";
if(($result = mysql_query($sql)) === false)
{
echo 'Er zit een fout in je query';
}
elseif(($num = mysql_num_rows($result)) < 1)
{
echo 'Je query vond geen rows';
}
else
{
while($row = mysql_fetch_assoc($result))
{
echo '<font size=4><b>'.$row['info'].'</b></font><br><font size=1>'.$row['datum'].'</font>';
echo '<font size=-2> - '.$row['door'].'</font><br><br>';
echo '<font size=-1>';
echo '</font>';
}
}
}
?>
include('config.php');
if(mysql_connect('localhost','*****','*****') === false)
{
echo 'fout bij verbinden db';
}
elseif(mysql_select_db('my_magicalthemepark') === false)
{
echo 'Fout bij selecteren db';
}
else
{
$sql = "SELECT
text,
datum
FROM
update
ORDER BY
datum DESC
LIMIT 0,5
";
if(($result = mysql_query($sql)) === false)
{
echo 'Er zit een fout in je query';
}
elseif(($num = mysql_num_rows($result)) < 1)
{
echo 'Je query vond geen rows';
}
else
{
while($row = mysql_fetch_assoc($result))
{
echo '<font size=4><b>'.$row['info'].'</b></font><br><font size=1>'.$row['datum'].'</font>';
echo '<font size=-2> - '.$row['door'].'</font><br><br>';
echo '<font size=-1>';
echo '</font>';
}
}
}
?>
$row['door'] zal een error geven want dat veld word niet opgehaald / bestaat niet.
Gewijzigd op 23/04/2012 17:47:05 door Jasper DS
PHP Jasper op 23/04/2012 17:39:16:
Lees onze tips eens.
Bekijk dit script eens aandachtig:
$row['door'] zal een error geven want dat veld word niet opgehaald / bestaat niet.
Bekijk dit script eens aandachtig:
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
44
45
46
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
<?php
include('config.php');
if(mysql_connect('localhost','*****','*****') === false)
{
echo 'fout bij verbinden db';
}
elseif(mysql_select_db('my_magicalthemepark') === false)
{
echo 'Fout bij selecteren db';
}
else
{
$sql = "SELECT
text,
datum
FROM
update
ORDER BY
datum DESC
LIMIT 0,5
";
if(($result = mysql_query($sql)) === false)
{
echo 'Er zit een fout in je query';
}
elseif(($num = mysql_num_rows($result)) < 1)
{
echo 'Je query vond geen rows';
}
else
{
while($row = mysql_fetch_assoc($result))
{
echo '<font size=4><b>'.$row['info'].'</b></font><br><font size=1>'.$row['datum'].'</font>';
echo '<font size=-2> - '.$row['door'].'</font><br><br>';
echo '<font size=-1>';
echo '</font>';
}
}
}
?>
include('config.php');
if(mysql_connect('localhost','*****','*****') === false)
{
echo 'fout bij verbinden db';
}
elseif(mysql_select_db('my_magicalthemepark') === false)
{
echo 'Fout bij selecteren db';
}
else
{
$sql = "SELECT
text,
datum
FROM
update
ORDER BY
datum DESC
LIMIT 0,5
";
if(($result = mysql_query($sql)) === false)
{
echo 'Er zit een fout in je query';
}
elseif(($num = mysql_num_rows($result)) < 1)
{
echo 'Je query vond geen rows';
}
else
{
while($row = mysql_fetch_assoc($result))
{
echo '<font size=4><b>'.$row['info'].'</b></font><br><font size=1>'.$row['datum'].'</font>';
echo '<font size=-2> - '.$row['door'].'</font><br><br>';
echo '<font size=-1>';
echo '</font>';
}
}
}
?>
$row['door'] zal een error geven want dat veld word niet opgehaald / bestaat niet.
hartstikke bedankt dat je me wil helpen ik heb er naar gekeken maar hij blijf de fout : Er zit een fout in je query geven
PHP Jasper op 23/04/2012 17:32:26:
Er bestaan woorden in SQL die een bepaalde betekenis hebben. Die woorden kan je NIET gebruiken voor tabel of kolomnamen. De hele lijst is hier te vinden: http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
Als je daar kijkt, zul je zien dat "update" ook een reserved word is. Niet zo gek natuurlijk, want dat is 1 van de primaire SQL statements. Dus, loop die lijst door en vervang al je tabel/kolomnamen met namen die niet in die lijst voorkomen. Dan pas kan je verder.
Het is gelukt bedankt voor al jullie hulp !!!