Nieuwsscript
Ik heb een nieuws-script met een werkende pagina-script, als ik een nieuwsbericht toevoeg aan mijn nieuws-script doet hij het uitstekend. Maar als ik me nieuwsberichten leeg, dan doet hij het niet meer.
Want hij moet me footer en de error weergeven dat er geen nieuwsberichten zijn.
Kunnen jullie me daarbij helpen?
Voorbeeld:
Als er geen berichten zijn(Dat wittevlak is niet van de website, maar het komt door paint):
Als er wel berichten zijn:
Gewijzigd op 01/07/2010 10:17:03 door Dd dd
probeer het stuk op te zoeken waarin er gecheckt word of er nieuwsberichten zijn...
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
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
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
<?php
$perpage = 2; // Resultaten per pagina
$query = "SELECT
id,
titel,
inhoud,
datum,
lid_id
FROM
nieuws
ORDER BY
datum
";
$p = (isset($_GET['p']) && ctype_digit($_GET['p']) ? $_GET['p'] : 1);
$total = $core->mysql->num_rows($core->mysql->query($query)) or die(mysql_error());
$pages = ceil($total/$perpage);
if($p > $pages)
{
$p = 1;
}
if($pages == 1 || $p == 1)
{
$start = 0;
}
else
{
$start = ($p-1)*$perpage;
}
$sql = $core->mysql->query($query." LIMIT ".$perpage." OFFSET ".$start."");
if($core->mysql->num_rows($sql) != 0)
{
while($fetch = $core->mysql->fetch($sql))
{
$start ++;
$aantal = $core->mysql->query("SELECT
1
FROM
comments
WHERE nieuws_id = '".$fetch['id']."'
");
$faantal = $core->mysql->num_rows($aantal);
$leden = $core->mysql->query("SELECT naam FROM leden WHERE id = '".$fetch['lid_id']."'");
$fetcgl = $core->mysql->fetch($leden);
echo '<h2>'.$fetch['titel'].'</h2>
Gepost door <strong>'.ucfirst(htmlentities($fetcgl['naam'])).'</strong> op '.$fetch['datum'].'<br />
<a href="'.ROOT.'comments/'.$fetch['id'].'">Reacties</a> ('.$faantal.') Reageer<br /><br />
'.$fetch['inhoud'].'';
}
}
else
{
echo '<div class="error">Er zijn geen nieuwsberichten.</div>';
}
echo '<div style="text-align: center;">Pagina (<strong>'.$p.'</strong> van de '.$pages.')</div><br />';
if($p != 1)
{
echo '<div style="text-align: center;"><br /><a href="?p='.$p.'-1">Vorige</a></div>';
}
if($p < $pages)
{
echo '<div style="text-align: center;"><br /><a href="?p='.$p.'+1">Volgende</a> »</div>';
}
include 'includes/footer.php';
?>
$perpage = 2; // Resultaten per pagina
$query = "SELECT
id,
titel,
inhoud,
datum,
lid_id
FROM
nieuws
ORDER BY
datum
";
$p = (isset($_GET['p']) && ctype_digit($_GET['p']) ? $_GET['p'] : 1);
$total = $core->mysql->num_rows($core->mysql->query($query)) or die(mysql_error());
$pages = ceil($total/$perpage);
if($p > $pages)
{
$p = 1;
}
if($pages == 1 || $p == 1)
{
$start = 0;
}
else
{
$start = ($p-1)*$perpage;
}
$sql = $core->mysql->query($query." LIMIT ".$perpage." OFFSET ".$start."");
if($core->mysql->num_rows($sql) != 0)
{
while($fetch = $core->mysql->fetch($sql))
{
$start ++;
$aantal = $core->mysql->query("SELECT
1
FROM
comments
WHERE nieuws_id = '".$fetch['id']."'
");
$faantal = $core->mysql->num_rows($aantal);
$leden = $core->mysql->query("SELECT naam FROM leden WHERE id = '".$fetch['lid_id']."'");
$fetcgl = $core->mysql->fetch($leden);
echo '<h2>'.$fetch['titel'].'</h2>
Gepost door <strong>'.ucfirst(htmlentities($fetcgl['naam'])).'</strong> op '.$fetch['datum'].'<br />
<a href="'.ROOT.'comments/'.$fetch['id'].'">Reacties</a> ('.$faantal.') Reageer<br /><br />
'.$fetch['inhoud'].'';
}
}
else
{
echo '<div class="error">Er zijn geen nieuwsberichten.</div>';
}
echo '<div style="text-align: center;">Pagina (<strong>'.$p.'</strong> van de '.$pages.')</div><br />';
if($p != 1)
{
echo '<div style="text-align: center;"><br /><a href="?p='.$p.'-1">Vorige</a></div>';
}
if($p < $pages)
{
echo '<div style="text-align: center;"><br /><a href="?p='.$p.'+1">Volgende</a> »</div>';
}
include 'includes/footer.php';
?>
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$query = "SELECT id, titel, inhoud,datum, lid_id FROM nieuws ORDER BY datum";
if(mysql_num_rows > 0){
// code om berichten te laten zien
} else {
// geen berichten
}
?>
$query = "SELECT id, titel, inhoud,datum, lid_id FROM nieuws ORDER BY datum";
if(mysql_num_rows > 0){
// code om berichten te laten zien
} else {
// geen berichten
}
?>
Gewijzigd op 01/07/2010 10:39:41 door Johan Dam
Gewijzigd op 01/07/2010 10:39:23 door Johan Dam
Dat werkt helaas niet naar behoren :)
Deze code zorgt er als het goed is voor wanneer er nieuwsberichten zijn gevonden, de nieuwsberichten worden getoond.
In de else van deze if staat een foutmelding indien er geen nieuwsberichten zijn gevonden.
Controleer dus even met een echo (net voor bovenstaande if) wat de $core->mysql->num_rows($sql) voor een output heeft.
En misschien netter om het zo te doen:
Gewijzigd op 01/07/2010 11:31:49 door Arjan -
mysql_num_rows
moet zijn
mysql_num_rows($query)
sry!
Arjen als ik dat echo dan krijg ik als output 1
Want om het te testen moet het natuurlijk zo zijn dat er geen nieuwsberichten in de database staan.
Gewijzigd op 01/07/2010 11:35:17 door Arjan -
Nu heb ik geen nieuwsberichten en dan werkt het nog niet :)
Maar krijg je als alle nieuwsberichten verwijderd zijn uit de database ook een 1 terug als je $core->mysql->num_rows($sql) echoot?
Nee :)
Beetje meer info graag. Je krijgt dus 0 terug?
Gewijzigd op 01/07/2010 12:09:41 door dd dd
Toverwoord: Debuggen!!
Wat ik net al zei.
En antwoorden met "Wat ik net al zei" is niet een antwoord dat je hoort te geven als iemand je probeert te helpen.....
Ok, dan maar anders: Wat krijg je te zien als je onderstaande code uitvoert:
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
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
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
<?php
$perpage = 2; // Resultaten per pagina
$query = "SELECT
id,
titel,
inhoud,
datum,
lid_id
FROM
nieuws
ORDER BY
datum
";
$p = (isset($_GET['p']) && ctype_digit($_GET['p']) ? $_GET['p'] : 1);
$total = $core->mysql->num_rows($core->mysql->query($query)) or die(mysql_error());
$pages = ceil($total/$perpage);
if($p > $pages)
{
$p = 1;
}
if($pages == 1 || $p == 1)
{
$start = 0;
}
else
{
$start = ($p-1)*$perpage;
}
$sql = $core->mysql->query($query." LIMIT ".$perpage." OFFSET ".$start."");
echo $core->mysql->num_rows($sql);
if($core->mysql->num_rows($sql) != 0)
{
while($fetch = $core->mysql->fetch($sql))
{
$start ++;
$aantal = $core->mysql->query("SELECT
1
FROM
comments
WHERE nieuws_id = '".$fetch['id']."'
");
$faantal = $core->mysql->num_rows($aantal);
$leden = $core->mysql->query("SELECT naam FROM leden WHERE id = '".$fetch['lid_id']."'");
$fetcgl = $core->mysql->fetch($leden);
echo '<h2>'.$fetch['titel'].'</h2>
Gepost door <strong>'.ucfirst(htmlentities($fetcgl['naam'])).'</strong> op '.$fetch['datum'].'<br />
<a href="'.ROOT.'comments/'.$fetch['id'].'">Reacties</a> ('.$faantal.') Reageer<br /><br />
'.$fetch['inhoud'].'';
}
}
else
{
echo '<div class="error">Er zijn geen nieuwsberichten.</div>';
}
echo '<div style="text-align: center;">Pagina (<strong>'.$p.'</strong> van de '.$pages.')</div><br />';
if($p != 1)
{
echo '<div style="text-align: center;"><br /><a href="?p='.$p.'-1">Vorige</a></div>';
}
if($p < $pages)
{
echo '<div style="text-align: center;"><br /><a href="?p='.$p.'+1">Volgende</a> »</div>';
}
include 'includes/footer.php';
?>
$perpage = 2; // Resultaten per pagina
$query = "SELECT
id,
titel,
inhoud,
datum,
lid_id
FROM
nieuws
ORDER BY
datum
";
$p = (isset($_GET['p']) && ctype_digit($_GET['p']) ? $_GET['p'] : 1);
$total = $core->mysql->num_rows($core->mysql->query($query)) or die(mysql_error());
$pages = ceil($total/$perpage);
if($p > $pages)
{
$p = 1;
}
if($pages == 1 || $p == 1)
{
$start = 0;
}
else
{
$start = ($p-1)*$perpage;
}
$sql = $core->mysql->query($query." LIMIT ".$perpage." OFFSET ".$start."");
echo $core->mysql->num_rows($sql);
if($core->mysql->num_rows($sql) != 0)
{
while($fetch = $core->mysql->fetch($sql))
{
$start ++;
$aantal = $core->mysql->query("SELECT
1
FROM
comments
WHERE nieuws_id = '".$fetch['id']."'
");
$faantal = $core->mysql->num_rows($aantal);
$leden = $core->mysql->query("SELECT naam FROM leden WHERE id = '".$fetch['lid_id']."'");
$fetcgl = $core->mysql->fetch($leden);
echo '<h2>'.$fetch['titel'].'</h2>
Gepost door <strong>'.ucfirst(htmlentities($fetcgl['naam'])).'</strong> op '.$fetch['datum'].'<br />
<a href="'.ROOT.'comments/'.$fetch['id'].'">Reacties</a> ('.$faantal.') Reageer<br /><br />
'.$fetch['inhoud'].'';
}
}
else
{
echo '<div class="error">Er zijn geen nieuwsberichten.</div>';
}
echo '<div style="text-align: center;">Pagina (<strong>'.$p.'</strong> van de '.$pages.')</div><br />';
if($p != 1)
{
echo '<div style="text-align: center;"><br /><a href="?p='.$p.'-1">Vorige</a></div>';
}
if($p < $pages)
{
echo '<div style="text-align: center;"><br /><a href="?p='.$p.'+1">Volgende</a> »</div>';
}
include 'includes/footer.php';
?>
Zie je dan ergens een getal staan 0 of > 0 ?
Gewijzigd op 01/07/2010 12:44:57 door Arjan -
En nu zie ik nog alleen mijn h1 tag.
Voorbeeld: http://hogwartscastle.nl/hc1/
Gewijzigd op 01/07/2010 12:50:50 door dd dd
Heb je al geprobeerd om if($core->mysql->num_rows($sql) != 0) te vervangen door if($core->mysql->num_rows($sql) > 0)
Jazeker, dat heb ik geprobeerd. En dat gaf hetzelfde aan.