Toon posts:

[php] If, While en Else probleem

Pagina: 1
Acties:
  • 84 views sinds 30-01-2008

Verwijderd

Topicstarter
Hi,


Ik ben bezig met een agenda. Nu heb ik ook al een nieuws script gemaakt en er voor gezorgt, dat als er geen nieuws is er ook de tekst komt te staan "geen nieuwsberichten"..
Ik wilde dit ook toepassen in de agenda functie maar daar stuit ik dus op een probleem..


Dit is de code van het nieuwsscript (wat wel werkt)
code:
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
<?
// Het opzetten van een vraagstelling (Inlezen gegevens)
$query = "SELECT * from $tabel WHERE nws_tonen='on'";

// Het uitvoeren van een vraagstelling (Doorzoeken database)
$resultaat = mysql_query($query)
    or die ("Fout in query:$query. " . mysql_error());

$aantal = mysql_num_rows($resultaat); 

// Laat gegevens op het scherm zien
if ($aantal < 1) 
{ 
?>
<br>
<div align=center>Er zijn geen nieuwsberichten beschikbaar!</div> 
<? 
} 
else 
{

while ( $rij = mysql_fetch_array($resultaat) )
    {
    // Vanuit array toewijzen van variabelen van de array $rij
    $nws_datum = $rij["nws_datum"];
    $nws_omschrijving = $rij["nws_omschrijving"];
    $nws_bericht = $rij["nws_bericht"];
    

    $nws_bericht=nl2br($nws_bericht);
    $nws_bericht=wordwrap($nws_bericht, 60, "\n", 1);
    
//  if ($html_tekst = "0") 
//  { 
//  $nws_bericht = htmlspecialchars($nws_bericht, ENT_QUOTES);
//  }

    // Opbouwen van tabel
?>


En dit is de code die vervolgens niet werkt.

code:
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
<?php
// Het inlezen van de MySQL variabelen
include ("agenda/admin/inc/config.php");
include ("agenda/admin/inc/connectie.php");

// Status 'historie' en bepalen vanaf welke datum getoond wordt
if ( $historie == nee ) {
    $vanaf_datum=getdate();
    $vanaf_datum=mktime($vanaf_datum);
    } else {
    $vanaf_datum=mktime(0,0,0,01,01,1970); 
    }

// Het opzetten van een vraagstelling (Inlezen gegevens)
$query = "SELECT * from $tabel WHERE agd_datum >= $vanaf_datum AND agd_tonen=\"on\" ORDER BY agd_datum";

// Het uitvoeren van een vraagstelling (Doorzoeken database)
$resultaat = mysql_query($query)
    or die ("Fout in query:$query. " . mysql_error());
    
$aantal = mysql_num_rows($resultaat); 
// Laat gegevens op het scherm zien
if ($aantal < 1) 
{ 
?>
<br>
<div align=center>Er zijn geen nieuwsberichten beschikbaar!</div> 
<? 
} 
else 
{

while ( $rij = mysql_fetch_array($resultaat) )
    {

    // Vanuit array toewijzen van variabelen van de array $rij
    $agd_datum = $rij["agd_datum"];
    $agd_locatie = $rij["agd_locatie"];
    $agd_omschrijving = $rij["agd_omschrijving"];

    // Opbouwen van tabel
?>


Wie heeft er voor mij de oplossing?

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Wat werkt niet? Volgens mij sluit je je haakjes gewoon niet af.

Noushka's Magnificent Dream | Unity


  • André
  • Registratie: Maart 2002
  • Laatst online: 11-05 16:42

André

Analytics dude

Wat werkt er niet dan, in welke regel gaat het fout?

Verwijderd

Topicstarter
André schreef op maandag 24 januari 2005 @ 16:23:
Wat werkt er niet dan, in welke regel gaat het fout?
Als ik er dit
code:
1
2
3
4
5
6
7
8
9
if ($aantal < 1) 
{ 
?>
<br>
<div align=center>Er zijn geen nieuwsberichten beschikbaar!</div> 
<? 
} 
else 
{
tussen uit haalt, werkt hij wel maar laat ie natuurlijk geen tekst zien als er niets in staat.

  • J_Davelaar
  • Registratie: Maart 2001
  • Laatst online: 05-05 13:41
Je mag volgens mij ook niet gewoon halverwegen een if-statement uit php stappen.
offtopic:
Weer wat geleerd. Maar het lijkt mij wel verstandig het zo min mogelijk te doen. Kan nooit de leesbaarheid ten goede komen.


Maak er eens dit van:
PHP:
1
2
3
4
5
6
if ($aantal < 1) { 
    print "<br>
           <div align=center>Er zijn geen nieuwsberichten beschikbaar!</div>"; 
} 
else {
}


Die tekst moet je even printen of echoën.

Moet ietst sneller zijn.

[ Voor 45% gewijzigd door J_Davelaar op 24-01-2005 16:30 ]

Was ik maar een punt dan was ik het einde


  • André
  • Registratie: Maart 2002
  • Laatst online: 11-05 16:42

André

Analytics dude

En als je van <? nou eens <?php maakt?

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Maar waar sluit je die else en while lus af? Ik zie nergens sluit accolades. Maar nog een keer. Wat werkt er niet? Je zeg dat het wel of niet werkt, maar niet wat. Zo kunnen we ook weinig.

Noushka's Magnificent Dream | Unity


  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 07-04 13:41
J_Davelaar schreef op maandag 24 januari 2005 @ 16:25:
Je mag volgens mij ook niet gewoon halverwegen een if-statement uit php stappen.
Dat mag wel :)

TS, ga eens haakjes tellen, volgens mij mis je er een paar ;). Of vermeld anders relevante (parse) errors :)

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 21-04 16:00
Er van uitgaande dat het onderste script alleen maar
code:
1
<div align=center>Er zijn geen nieuwsberichten beschikbaar!</div>

geeft, kan ik je zeggen dat je query geen resultaat terug geeft.

Maarja je moet wel een duidelijke fout omschrijving geven.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:05

Creepy

Tactical Espionage Splatterer

J_Davelaar schreef op maandag 24 januari 2005 @ 16:25:
Je mag volgens mij ook niet gewoon halverwegen een if-statement uit php stappen.
Dat mag wel hoor. PHP lost dit prima op.

MichaelK : welke foutmelding krijg je? Op welke regel? Krijg je nog andere output? Heb je P&W FAQ - Leer **** debuggen!! al eens doorgelezen? ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Superdeboer
  • Registratie: December 2002
  • Niet online

Superdeboer

Sa-weee-tah

J_Davelaar schreef op maandag 24 januari 2005 @ 16:25:
Je mag volgens mij ook niet gewoon halverwegen een if-statement uit php stappen.
Jawel dat mag wel. Dat kan het probleem niet zijn. :)

TS, krijg je toevallig foutmeldingen? Zo neej, zet eens...
PHP:
1
error_reporting ( E_ALL );
...bovenaan in je script en voer het daarna nog eens uit. Kijken of er dan wat meer info vrij komt. :)

When I write my code, only God and I know what it means. One week later, only God knows.
Hell yes it's a Cuban Cigar, but I'm not supporting their economy, I'm burning their fields.


  • Scrummie
  • Registratie: Februari 2003
  • Laatst online: 11-05 09:52

Scrummie

Think different

De eerste if word niet gesloten, en de laatste while loop sluit je ook niet.

Seizoenskaarthouder Feyenoord - Vak T


Verwijderd

Topicstarter
Michali schreef op maandag 24 januari 2005 @ 16:26:
Maar waar sluit je die else en while lus af? Ik zie nergens sluit accolades. Maar nog een keer. Wat werkt er niet? Je zeg dat het wel of niet werkt, maar niet wat. Zo kunnen we ook weinig.
Ik had heel dom dit als laatste staan.
<?php
}
?>


Haakje te weinig waardoor hij ging flippen.. O+ Shame on me :P

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:05

Creepy

Tactical Espionage Splatterer

Like I said: volgende keer zelf even debuggen voordat je een topic opent ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.