PHP 2e oproep parst dubbel

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een volgend scriptje geschreven.
Simpel en eenvoudig.
Nu kom ik echter een heel raar probleem tegen :

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
<?php]

/// Config bestand
include( 'config.php' );

/// Top quotes
if( $show == "top" ){
$query=mysql_query("SELECT * FROM topquotes");
while ($row = mysql_fetch_array($query)) {
$home=$row[home];
$wjgoebel=$row[wjgoebel];
$portfolio=$row[portfolio];
$partners=$row[partners];
$contact=$row[contact];

if(empty( $id )){ echo "$home"; }
elseif( $id == "home" ){ echo "$home"; }
elseif( $id == "wjgoebel" ){ echo "$wjgoebel"; }
elseif( $id == "portfolio" ){ echo "$portfolio"; }
elseif( $id == "partners" ){ echo "$partners"; }
elseif( $id == "contact" ){ echo "$contact"; }
    }
}


/// Adres quote
elseif( $show == "adres" ){
$mquery=mysql_query("SELECT * FROM address");
while ($row = mysql_fetch_array($mquery)) {
$naam=$row[naam];
$adres=$row[adres];
$postcode=$row[postcode];
$telefoon=$row[telefoon];
$mobiel=$row[mobiel];

echo "$naam, $adres, $postcode | $telefoon | $mobiel";

    }
}

?>

Nu roep ik hem op door hem te includen in een ander PHP bestand :

code:
1
<?php $show="top"; include( "../sys/quotes.php" ); ?>


code:
1
<?php $show="adres"; include( "../sys/quotes.php" ); ?>


de eerste x dat ik hem include parst hij correct de quote die ik wil hebben.
De tweede x echter parst hij dat ook wel maar plakt hij gelijk de eerste quote eraan vast.

Terwijk ik $show gewijzigd heb in : adres.

Ik ben al een hele tijd aan het vogelen. tis waarschijnlijk een grote n00b vraag maar ik raak steeds gefrustreerder aangezien het naar mijn mening goed zou moeten zijn.
(* Is het zeker niet anders zou het wel werken. *)

Ik hoop dat iemand ziet wat ik nou verkeerd gedaan heb.

Alvast bedankt :)

@ mod, ben vergeten [PHP] te omhaken. :/ hopelijk gratie? O-)

[ Voor 29% gewijzigd door Verwijderd op 05-08-2005 17:29 ]


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Plaats aub [php]-tags (dus niet alleen in de titel, maar ook om je code), en gebruik indention, dat maakt je code een stuk leesbaarder.
de eerste keer dat ik hem include parst hij correct de quote die ik wil hebben.
De tweede keer echter parst hij dat ook wel maar plakt hij gelijk de eerste quote eraan vast
Wat bedoel je met 'dat'? Dat wat je de eerste keer quote, of dat wat je wilt hebben? En wat is 'de eerste quote' die hij eraan vast plakt?

[ Voor 9% gewijzigd door GlowMouse op 05-08-2005 17:16 ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Naast dat ik je code zo goed als onleesbaar vind, vergeet je ook quotes in je associatieve array aanroep:

$postcode=$row[postcode];

$postcode = $row['postcode'];

(goh een spatie hier en daar doet ook wonderen!)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik bedoel dat :

code:
1
<?php $show="top"; include( "../sys/quotes.php" ); ?>


resultaat : Welkom bij xx, de ervaren vakman.

En de tweede als resultaat geeft :

code:
1
<?php $show="adres"; include( "../sys/quotes.php" ); ?>


resultaat : Welkom bij xx, de ervaren vakman. xstraat 5, xxxx postcode, xxxxxxxx fax xxxxxxx mobiel

Terwijl hij had moeten geven :

code:
1
<?php $show="adres"; include( "../sys/quotes.php" ); ?>


resultaat : xstraat 5, xxxx postcode, xxxxxxxx fax xxxxxxx mobiel

Hij plakt het eerste resultaat aan de tweede vast.

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Kun je [php] om je code zetten?

en heb je ze niet toevallig achter elkaar staan, dat je zeg maar de output van allebei ziet?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
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
<?php

/// Config bestand
include( 'config.php' );

/// Top quotes
if( $show == "top" ){

$query=mysql_query("SELECT * FROM topquotes");
while ($row = mysql_fetch_array($query)) {
$home=$row[home];
$wjgoebel = $row['wjgoebel'];
$portfolio = $row['portfolio'];
$partners = $row['partners'];
$contact = $row['contact'];

if(empty( $id )){ echo "$home"; }
elseif( $id == "home" ){ echo "$home"; }
elseif( $id == "wjgoebel" ){ echo "$wjgoebel"; }
elseif( $id == "portfolio" ){ echo "$portfolio"; }
elseif( $id == "partners" ){ echo "$partners"; }
elseif( $id == "contact" ){ echo "$contact"; }
    }
}



/// Adres quote
elseif( $show == "adres" ){

$mquery=mysql_query("SELECT * FROM address");
while ($row = mysql_fetch_array($mquery)) {
$naam = $row['naam'];
$adres = $row['adres'];
$postcode = $row['postcode'];
$telefoon = $row['telefoon'];
$mobiel = $row['mobiel'];

echo "$naam, $adres, $postcode | $telefoon | $mobiel";

    }
}

?>
en heb je ze niet toevallig achter elkaar staan, dat je zeg maar de output van allebei ziet?
Wat bedoel je?

[ Voor 82% gewijzigd door Verwijderd op 05-08-2005 17:31 ]


Acties:
  • 0 Henk 'm!

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 22:34

TheDane

1.618

Een stuk leesbaarder is ook:

PHP:
1
2
3
4
5
6
7
8
switch ($show) {
  case 'top':
    // doe je code bij $show='top'
    break;
  case 'adres':
    // doe je code bij $show='adres'
    break;
}


En indenteren scheelt ook veel

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Je include deze lap dus 2x. Dus je include config.php ook 2x. Doet config.php niet aan output of gebeurt daar niet iets met een relevante variabele?

En je code indenteren zo het echt een stuk duidelijker maken.
edit:
Zeker die waslijst elseif's schreeuwt om een switch statement.

[ Voor 16% gewijzigd door Voutloos op 05-08-2005 17:37 ]

{signature}


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Wat bedoel je?
Dat als je quotes.php dubbel aanroept, zeg maar zo:
PHP:
1
2
3
4
5
$show="top";
include( "../sys/quotes.php" );
// hier wat regels met zooi zonder output, en dan op de volgende regel nog eens aanroepen:
$show="adres";
include( "../sys/quotes.php" );

[ Voor 11% gewijzigd door GlowMouse op 05-08-2005 17:37 ]


Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 01:59

aex351

I am the one

Ik zou je een tip mee willen geven, bekijk eens www.php.net/switch .

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
aex351 schreef op vrijdag 05 augustus 2005 @ 17:53:
Ik zou je een tip mee willen geven, bekijk eens www.php.net/switch .
Die ga ik in het vervolg zeker gebruiken.

Maar het probleem is opgelost :D _/-\o_

Thanks for all help.

Oplossing : dubbel geincluded. :o :o :o :o :o :o :o

*gaat nu met een enorme rooie kop ergens achter een boompje staan schamen*
Pagina: 1