[php]mysql resultaat als pagina titel

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De code:
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php 
include('config.php'); 
$pagetitle = $forumname; 
include('header.php'); 
echo "<title>$pagetitle</title>"; 
?> 
<table bgcolor="<? echo $tablebgcolor ?>" border="0" 
cellspacing="1" width="752"> 
     <tr> 
      <td bgcolor="<? echo $color1 ?>" colspan="6"><? echo 

"<a href=\"index.php\">$forumnaam index .:. 

$pagetitle</a>"; ?></td>    
    </tr> 
    <tr> 
      <td bgcolor="<? echo $color1 ?>" width="14"></td> 
      <td bgcolor="<? echo $color1 ?>" 

width="394"><b>Titel</b></td> 
      <td bgcolor="<? echo $color1 ?>" width="54" 

align="center"><b>Replies</b></td> 
      <td bgcolor="<? echo $color1 ?>" width="99" 

align="center"><b>Auteur</b></td> 
      <td bgcolor="<? echo $color1 ?>" width="54" 

align="center"><b>Views</b></td> 
      <td bgcolor="<? echo $color1 ?>" width="98" 

align="center"><b>Last Post</b></td> 
    </tr> 
<?php 
mysql_connect("$host", "$user", "$pass"); 
mysql_select_db("$db"); 
$query = mysql_query("SELECT m.username, f.naam, t.* 
FROM members m, forums f, topics t WHERE t.forum_id = 
'$forum' AND f.forum_id = t.forum_id AND 
t.starter_id=m.user_id"); 
$forum = addslashes($forum); 
while ($r = mysql_fetch_object($query)) { 
$topic_starter = htmlspecialchars($r->username); 
$topic_title = htmlspecialchars($r->title); 
$topic_id = $r->topic_id; 
$forumname = $r->naam; 
echo "<tr> 
      <td bgcolor=\"$color1\" width=\"14\"><img 

src=\"images/folder.gif\"></td> 
      <td bgcolor=\"$color2\" width=\"394\">$topic_title</td> 
      <td bgcolor=\"$color1\" width=\"54\" 

align=\"center\">Replies</td> 
      <td bgcolor=\"$color2\" width=\"99\" 

align=\"center\">$topic_starter</td> 
      <td bgcolor=\"$color1\" width=\"54\" 

align=\"center\">Views</td> 
      <td bgcolor=\"$color2\" width=\"98\" 

align=\"center\">Last Post</td> 
    </tr>"; } 
include('footer.php'); 
?> 

Het probleem: Ik wil dat de $forumname in de <title> weergegeven wordt. $forumname staat in de while lus en bevat $r->naam. Nu had ik zelf ook al gezien dat dit niet kan werken. Maar hoe krijg ik het resultaat vanuit mijn while lus nou naar boven? Dus dat die $forumname helemaal naar boven gaat.

Acties:
  • 0 Henk 'm!

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

eerst je query doen, bovenaan de pagina, en dan pas de pagina zelf opbouwen :?
(je html dus)

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


Acties:
  • 0 Henk 'm!

Verwijderd

LOL !! Sorry :)

Zoals Haco zegt, eerst je query doen 8)7

[ Voor 5% gewijzigd door Verwijderd op 30-12-2002 16:01 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb er nu dit van gemaakt:
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
45
46
47
48
49
50
<?php 
include('config.php'); 
mysql_connect("$host", "$user", "$pass"); 
mysql_select_db("$db"); 
$query = mysql_query("SELECT m.username, f.naam, t.* FROM members m, forums f, topics t WHERE t.forum_id = 
'$forum' AND f.forum_id = t.forum_id AND t.starter_id=m.user_id"); 
$forum = addslashes($forum); 
while ($r = mysql_fetch_object($query)) { 
$topic_starter = htmlspecialchars($r->username); 
$topic_title = htmlspecialchars($r->title); 
$topic_id = $r->topic_id; 
$forumname = $r->naam; 
$output = "<tr> 
      <td bgcolor=\"$color1\" width=\"14\"><img 

src=\"images/folder.gif\"></td> 
      <td bgcolor=\"$color2\" width=\"394\">$topic_title</td> 
      <td bgcolor=\"$color1\" width=\"54\" 

align=\"center\">Replies</td> 
      <td bgcolor=\"$color2\" width=\"99\" 

align=\"center\">$topic_starter</td> 
      <td bgcolor=\"$color1\" width=\"54\" 

align=\"center\">Views</td> 
      <td bgcolor=\"$color2\" width=\"98\" 

align=\"center\">Last Post</td> 
    </tr>"; } 
$pagetitle = $forumname; 
include('header.php'); 
?>
<table bgcolor="<? echo $tablebgcolor ?>" border="0" cellspacing="1" width="752"> 
     <tr> 
      <td bgcolor="<? echo $color1 ?>" colspan="6"><? echo "<a href=\"index.php\">$forumnaam index .:. 
$pagetitle</a>"; ?></td>    
    </tr> 
    <tr> 
      <td bgcolor="<? echo $color1 ?>" width="14"></td> 
      <td bgcolor="<? echo $color1 ?>" width="394"><b>Titel</b></td> 
      <td bgcolor="<? echo $color1 ?>" width="54" align="center"><b>Replies</b></td> 
      <td bgcolor="<? echo $color1 ?>" width="99" align="center"><b>Auteur</b></td> 
      <td bgcolor="<? echo $color1 ?>" width="54" align="center"><b>Views</b></td> 
      <td bgcolor="<? echo $color1 ?>" width="98" align="center"><b>Last Post</b></td> 
    </tr> 
<?php 
print "$output";
include('footer.php'); 
?> 

alleen nu krijg ik maar 1 resultaat

Acties:
  • 0 Henk 'm!

  • jurri@n
  • Registratie: Maart 2000
  • Laatst online: 12:06
misschien dat je hier iets mee kan:

Ik heb zelft de ervaring dat je vaak ergens headers of cookies wilt gebruiken, maar dat dat niet kan omdat je al een print of echo gedaan hebt. Dan zou het hele ontwerp van je script moeten wijzigen.

Daarom gebruik ik tegenwoordig in plaats van print of echo met $content.="bla bla bla"; Alle tekst komt dan dus in de variable $content. Dan kun je overal waar je wilt headers of cookies gebruiken. Pas op de laatste regel gebruik ik dan de print-functie (evt. eerst nog door een HTTP-compressie-functie halen).

Als je nou b.v. standaard neerzet <title><!-- hier een titel --></title> en vervolgens met str_replace <!-- hier een titel --> vervangt door de titel die je wilt...

Acties:
  • 0 Henk 'm!

  • Tom-Eric
  • Registratie: Oktober 2001
  • Laatst online: 25-03 09:11
Of je gebruikt een simpele template engine (of maakt er zelf eentje) die dat werk voor je doet. Het gebruik van html in php vind ik persoonlijk slordig, want als je later iets wil veranderen zit je daar altijd mee te spelen.

i76 | Webdesignersgids | Online Gitaarlessen & Muziekwinkels


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Tum|mut schreef op 30 december 2002 @ 16:40:
Of je gebruikt een simpele template engine (of maakt er zelf eentje) die dat werk voor je doet. Het gebruik van html in php vind ik persoonlijk slordig, want als je later iets wil veranderen zit je daar altijd mee te spelen.
Ik gebruik het eigenlijk in de header.php, die begint zo:
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link rel="stylesheet" href="forum.css" type="text/css" />
<title><? echo "$forumnaam .:. $pagetitle"; ?></title>
</head>

ik had dat maar als voorbeeld in die code gezet want als ik die hele header.php ook nog moet posten wordt het een beetje lang.
Pagina: 1