ik heb dit gedaan:

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?
$($aantal == 0){

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.
foutje zat denk ik in dit stukje:
<?php
else{
}
if($aantal == 0)
?>
<?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>");
?>
Dat zeg ik net... ;)
hoe kan ik dat die IF else ding doen?
iemand een voorbeeld? ik vat er geen donder meer van. al veels te lang mee bezig geweest
<?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>");
?>

[edit]
Dit voorkomt alleen dat het script niet werkt, maar het is geen mooie/ goede oplossing!

Om te kijken of iets is gepost gebruik je:

if($_SERVER['REQUEST_METHOD'] == 'post'){

[/edit]
ik heb zeg maar zelf een weblog geschreven en ik moet alleen nog controleren als er reacties zijn gegeven.
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.
Jongens, deze logica is gewoon brak:
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.
Ik heb het al :)

$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

Reageren