Comments vanuit database halen.
if(!empty($_POST)){
//kijken als er comments zijn gegeven.
$query = "SELECT * FROM tbl_comments WHERE weblog_id=$id";
$result = mysql_query($query) or die (mysql_error());
$aantal = mysql_num_rows ($result);
}
else{
}
if($aantal == 0){
// Nee
echo ("0");
}
else{
// wel comments
echo ("$aantal");
}
echo("</a>");
daarbij krijg ik deze fout:
Comments:
Notice: Undefined variable: aantal in E:\Xampp\xampp\htdocs\weblog\login\login.php on line 76
0
wat doe ik fout?
ik heb vanalles al geprobeerd maar kom er jammer genoeg niet uit.
wie kan mij helpen?
Dat is de boosdoener. $aantal bestaat namelijk alleen wanneer $_POST niet leeg is, zie de !empty().
Gebruik isset() of een betere if-else-structuur om dit probleem op te lossen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if(!empty($_POST))
{
//kijken als er comments zijn gegeven.
$query = "SELECT * FROM tbl_comments WHERE weblog_id = '$id'";
$result = mysql_query($query) or die (mysql_error());
$aantal = mysql_num_rows ($result);
}
else
{
if($aantal == 0)
{
// Nee
echo ("0");
} else {
// wel comments
echo $aantal;
}
}
echo("</a>");
?>
if(!empty($_POST))
{
//kijken als er comments zijn gegeven.
$query = "SELECT * FROM tbl_comments WHERE weblog_id = '$id'";
$result = mysql_query($query) or die (mysql_error());
$aantal = mysql_num_rows ($result);
}
else
{
if($aantal == 0)
{
// Nee
echo ("0");
} else {
// wel comments
echo $aantal;
}
}
echo("</a>");
?>
Gewijzigd op 01/01/1970 01:00:00 door Jeroen
Dat zeg ik net... ;)
iemand een voorbeeld? ik vat er geen donder meer van. al veels te lang mee bezig geweest
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
$aantal = 0;
if(!empty($_POST))
{
//kijken als er comments zijn gegeven.
$query = "SELECT * FROM tbl_comments WHERE weblog_id = '$id'";
$result = mysql_query($query) or die (mysql_error());
$aantal = mysql_num_rows ($result);
}
else
{
if($aantal == 0)
{
// Nee
echo ("0");
} else {
// wel comments
echo $aantal;
}
}
echo("</a>");
?>
$aantal = 0;
if(!empty($_POST))
{
//kijken als er comments zijn gegeven.
$query = "SELECT * FROM tbl_comments WHERE weblog_id = '$id'";
$result = mysql_query($query) or die (mysql_error());
$aantal = mysql_num_rows ($result);
}
else
{
if($aantal == 0)
{
// Nee
echo ("0");
} else {
// wel comments
echo $aantal;
}
}
echo("</a>");
?>
Edit:
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
dat wou ik daar mee doen. het is op de index.php waar dat stukkie script staat.
het is niet zo dat hij het via een andere pagina aanroept.
heeft iemand een oplossing? ik wil gewoon dat hij het doet :)
de rest van het weblog doet het.
1) kijk of er een formulier is gepost en zo ja, voer de query uit. Doe verder niets meer.
2) is er geen formulier gepost, kijk dan hoeveel comments er zijn. (Die zijn er niet, er is namelijk geen query uitgevoerd)
2.1) zijn er 0 comments, echo 0
2.2) zijn er wel comments, echo dan het aantal.
Resultaat: Je krijgt een 0 of niets op het scherm te zien.
Kortom, pas de logica aan.
Ohja, ik had de if/else structuur verder niet zo goed bekenen, maar je hebt helemaal gelijk.. :) D'r klopt eigenlijk geen hout van.
$query1 = "SELECT * FROM tbl_comments WHERE weblog_id=$id";
$result1 = mysql_query($query1) or die (mysql_error());
$aantal = mysql_num_rows ($result1);
echo("$aantal");
echo("</a>");
dit werkt wel goed!
tot fijn robin dat je echt geen hol met opmerkingen doet. vraag me toch af wat je van ons verwacht
ik heb alles gelezen en geprobeert en zelf aan gepast enzo.
Dat iets werkt wil niet zeggen dat iets goed is!!!! Je lekke autoband plak je toch ook niet met duck-tape. Het werkt vast, maar je komt er niet ver mee
als je toch zo praat maak jij dan maar even dat stukkie.
Gewijzigd op 01/01/1970 01:00:00 door Robin Pruijssen