[PHP] Scrolling List wil niet

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

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op m'm forum heb ik een tabel gemaakt en daarin wil ik horizontaal de laatste onderwerpen laten scrollen. Het scrollen zelf werkt maar hij haalt niets uit de databse, deze tekst komt voorbij:
$title
By $user on $time"; } ?>
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
  <marquee> 
<?php 
$url = "/forum";   // If url is - yourforums.com/forums , then enter in "/forums" 
$ppath = "var/www/html/forum/config.php";    // Physical path to the config.php file, edit this for your own site. 
if(empty($count)) 
   $count = "10";    // How many topics to link to 

include_once("$ppath"); 
$db = @mysql_connect("$dbhost", "$dbuser", "$dbpasswd") or die("here we die at connection"); 
@mysql_select_db("$dbname",$db) or die("here we die"); 

$prefix = "phpbb"; 

$query="SELECT t.*, p.*, u.* FROM " . $prefix . "_topics t, " . $prefix . "_posts p, " . $prefix . " u 
        WHERE t.topic_first_post_id = p.post_id 
      AND p.poster_id = u.user_id ORDER BY `topic_id` DESC LIMIT 0, $count"; 
      $result = mysql_query($query); 
      while($row = mysql_fetch_array($result)) { 
      $topicid = "$row[topic_id]"; 
      $title = "$row[topic_title]"; 
      $forumid = "$row[forum_id]"; 
     $user = "$row[username]"; 
     $user_id = "$row[user_id]"; 
     $time = date("D d M Y G:i","$row[post_time]); 

echo "<span class=\"forumlink\"><a title=\"$title\" href=\"$url/viewtopic.php?t=$topicid&sid=$forumid\" class=\"mainmenu\">$title</a><br />By <a href=\"$url/profile.php?mode=viewprofile&u=$user_id\" class=\"forumlink\">$user</a> on $time</span>"; 

} 
?> 
</marquee>

Ik heb al vele variabelen geprobeerd in dit script maar telkens met hetzelfde resultaat. Ziet iemand anders wel wat er niet klopt?

[ Voor 15% gewijzigd door NMe op 15-04-2005 18:48 . Reden: Syntax highlighting toegevoegd ]


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Ik zie zo snel niet wat nou je probleem is, maar ik zie wel dat je heel veel vage dingen doet. Waarom doe je bijvoorbeeld quotes (") om variabelen heen terwijl dat nergens voor nodig is? :?

Verder vind ik het altijd handig om variabelen buiten een string te halen door ze aan elkaar te plakken met een punt, bijvoorbeeld: echo "Foo".$bar."foobar"; Zo weet je tenminste zeker dat de variabele geparsed wordt. (terwijl dat ook het geval met " moet zijn, dat ter zijde)

[ Voor 18% gewijzigd door Osiris op 15-04-2005 18:46 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Zet om te beginnen eens error_reporting(E_ALL); boven je code, en haal inderdaad die overbodige quotes weg. Die code is inderdaad nogal ranzig. ;)

Verder kun je aan de syntax highlighting zien dat je een quote vergeten bent op regel 24. Dat terwijl er om die variabele helemaal geen quotes nodig zijn. 8)7

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Lees eens wat over programmeren in het algemeen en de php syntax in het bijzonder :

Brakke code:
PHP:
1
$topicid = "$row[topic_id]";

Waarom? Omdat $row een variabele is, die hoef je niet als ware het een losse string tussen dubbele quotes te zetten.

"topic_id" id daarentegen is wél een losse string, dus die moet wel ge-quote worden.

Je krijgt dan :

PHP:
1
$topicid = $row['topic_id'];


:)


Maar je ziet hier in de syntaxhighlighting al wat je probleem is :

PHP:
1
$time = date("D d M Y G:i","$row[post_time]); 

Je hebt hier een quote teveel, die voor $row mag weg.

Je zou eens een IDE met syntaxhighlighting moeten gebruiken, dan haal je dit er zo uit :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt voor de reacties, ik ga het e.e.a. proberen.
eamelink schreef op vrijdag 15 april 2005 @ 18:53:Je zou eens een IDE met syntaxhighlighting moeten gebruiken, dan haal je dit er zo uit :)
Ik gebruik Crimson Editor, welke is volgens jou beter?

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op vrijdag 15 april 2005 @ 18:59:
Ik gebruik Crimson Editor, welke is volgens jou beter?
Elke editor die syntax highlighting ondersteunt. :) Ik gebruik zelf Textpad, maar er lopen hier veel mensen rond die liever UltraEdit gebruiken, of wat anders. De discussie over welke editor het beste is is hier al vaker gehouden, dus je zou even de search kunnen gebruiken. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Superdeboer
  • Registratie: December 2002
  • Niet online

Superdeboer

Sa-weee-tah

Crimson Editor heeft syntax highlighting voor PHP (ik gebruik die editor ook namelijk) dus je moet gewoon even wat aandacht geven aan de betekenis van die kleurtjes denk ik. ;)

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.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Alles heb ik opnieuw opgezet en alles wordt nu op de juiste manier uit de database opgeroepen.
Er is helaas wel een ander probleem ontstaan, de lijst blijft stilstaan i.p.v. te scrollen.
code:
1
2
3
4
5
6
7
8
<marquee id="recent_topics" behavior="scroll" direction="left" height="200" scrolldelay="100" scrollamount="2"> 
         <!-- BEGIN recent_topic_row --> 
         <td class="row1" align="left"><span class="mainmenu"> 
         &raquo; <a href="{recent_topic_row.U_TITLE}" onMouseOver="document.all.recent_topics.stop()" onMouseOut="document.all.recent_topics.start()">{recent_topic_row.L_TITLE}</a><br /> 
         by <a href="{recent_topic_row.U_POSTER}" onMouseOver="document.all.recent_topics.stop()" onMouseOut="document.all.recent_topics.start()">{recent_topic_row.S_POSTER}</a><br /> 
         on {recent_topic_row.S_POSTTIME}</span></td> 
         <!-- END recent_topic_row --> 
         </marquee>

Hier heb ik een test staan

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Een marquee, binnen een table, waar je vervolgens binnen die maquee nog eens nieuwe cellen gaat aanmaken van dezelfde tabel? :? Dat kan alleen maar fout gaan. Nog los van het feit dat marquee niet eens door alle browsers ondersteund wordt AFAIK.

Mocht je er met deze tip nog niet uit komen, dan kun je hierover een nieuw topic openen in Webdesign & Graphics waarin je eventueel verwijst naar deze post. Omdat dit een nieuw probleem is, en volgens mij van redelijk basisniveau, gooi ik hem maar op slot. Zorg sowieso eerst maar eens dat je HTML valideert. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.