Comments vanuit database halen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robin Pruijssen

Robin Pruijssen

12/03/2007 11:37:00
Quote Anchor link
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?
 
PHP hulp

PHP hulp

22/12/2024 23:18:15
 
Frank -

Frank -

12/03/2007 11:40:00
Quote Anchor link
$($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.
 
Jeroen

Jeroen

12/03/2007 11:42:00
Quote Anchor link
foutje zat denk ik in dit stukje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
else{
}

if($aantal == 0)
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>");
?>
Gewijzigd op 01/01/1970 01:00:00 door Jeroen
 
Frank -

Frank -

12/03/2007 11:46:00
Quote Anchor link
Dat zeg ik net... ;)
 
Robin Pruijssen

Robin Pruijssen

12/03/2007 11:49:00
Quote Anchor link
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
 
Robert Deiman

Robert Deiman

12/03/2007 11:49:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>");
?>


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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if($_SERVER['REQUEST_METHOD'] == 'post'){

Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
 
Robin Pruijssen

Robin Pruijssen

12/03/2007 11:57:00
Quote Anchor link
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.
 
Frank -

Frank -

12/03/2007 11:58:00
Quote Anchor link
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.
 
Robert Deiman

Robert Deiman

12/03/2007 12:02:00
Quote Anchor link
Ohja, ik had de if/else structuur verder niet zo goed bekenen, maar je hebt helemaal gelijk.. :) D'r klopt eigenlijk geen hout van.
 
Robin Pruijssen

Robin Pruijssen

12/03/2007 12:19:00
Quote Anchor link
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!
 
- wes  -

- wes -

12/03/2007 12:23:00
Quote Anchor link
tot fijn robin dat je echt geen hol met opmerkingen doet. vraag me toch af wat je van ons verwacht
 
Robin Pruijssen

Robin Pruijssen

12/03/2007 12:31:00
Quote Anchor link
ik heb alles gelezen en dingen geprobeert maar ik heb het ff helemaal weg gehaald en ff wat anders gedaan. en dat was dus zo. en het werkt goed.
ik heb alles gelezen en geprobeert en zelf aan gepast enzo.
 
- wes  -

- wes -

12/03/2007 12:50:00
Quote Anchor link
En waarom is je code dan nog steeds enorm brak en slecht?
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
 
Robin Pruijssen

Robin Pruijssen

12/03/2007 13:56:00
Quote Anchor link
eey wes,

als je toch zo praat maak jij dan maar even dat stukkie.
Gewijzigd op 01/01/1970 01:00:00 door Robin Pruijssen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.