Jump to content


Photo

rotaing banner ads... Need help!


  • Please log in to reply
2 replies to this topic

#1 wakerider017

wakerider017
  • New Members
  • Pip
  • Newbie
  • 2 posts

Posted 18 April 2006 - 07:32 PM

I am trying to create an advertisement table just like LS1tech.com...


Yet I am having some difficulties...

NOTE: I am using Vbulletin...


This is my database that I have setup:
[a href=\"http://img107.imageshack.us/img107/4594/help6oo.jpg\" target=\"_blank\"]http://img107.imageshack.us/img107/4594/help6oo.jpg[/a]


Since the advertisement table is in th template I can not directly use php...


I need to put the php in another file and then call on it in the template...




Here is what I have so far:

$sql = "SELECT * FROM `table_name` ORDER BY RAND()";
$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_object($result))
{
    $ads_HREF = "$row->HREF";
    $ads_SRC = "$row->SRC";
    $ads_ALT = "$row->ALT";
}



and I call on it with this:

<tr><td>
<a href='$ads_HREF'><img src='$ads_SRC' name='$ads_ALT' border=0></a></td></tr>




but... there is a problem with this... it shows the same ad 5 times! I want 5 different ads!


I think I may need to use an array... but I am not sure how...


Anyone want to help?

#2 Orio

Orio
  • Staff Alumni
  • Advanced Member
  • 2,491 posts

Posted 18 April 2006 - 08:56 PM

I think you are running the loop $row times, but each time you overwrite the exsisting the $ads_HREF, $ads_SRC and $ads_ALT, and just show the last one. Add the second part to the first, this way:
<?php
$sql = "SELECT * FROM `table_name` ORDER BY RAND()";
$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_object($result))
{
    $ads_HREF = "$row->HREF";
    $ads_SRC = "$row->SRC";
    $ads_ALT = "$row->ALT";
?>
<tr><td>
<a href='<?php echo($ads_HREF); ?>'><img src='<?php echo($ads_SRC); ?>' name='<?php echo($ads_ALT); ?>' border=0></a></td></tr>
<?php
}//close while;
//continue code
?>


But if you want you can also use arrays:
<?php
$sql = "SELECT * FROM `table_name` ORDER BY RAND()";
$result = mysql_query($sql) or die(mysql_error());
$i=0;
while ($row = mysql_fetch_object($result))
{
    $ads_HREF[$i] = "$row->HREF";
    $ads_SRC[$i] = "$row->SRC";
    $ads_ALT[$i] = "$row->ALT";
    $i++;
?>
And then have a second loop for the ads:
<?php
$i=0;
$number_of_ads= //Enter the number of ads;
while($i<number_of_ads)
{
?>
<tr><td>
<a href='<?php echo($ads_HREF[$i]); ?>'><img src='<?php echo($ads_SRC[$i]); ?>' name='<?php echo($ads_ALT[$i]); ?>' border=0></a></td></tr>
<?php
$i++;
}//close while;
?>


Good luck :)

Orio.
Think you're smarty?

(Gone until 20 to November)

#3 wakerider017

wakerider017
  • New Members
  • Pip
  • Newbie
  • 2 posts

Posted 18 April 2006 - 09:13 PM

<?php
$i=0;
$number_of_ads= //Enter the number of ads;
while($i<number_of_ads)
{
?>
<tr><td>
<a href='<?php echo($ads_HREF[$i]); ?>'><img src='<?php echo($ads_SRC[$i]); ?>' name='<?php echo($ads_ALT[$i]); ?>' border=0></a></td></tr>
<?php
$i++;
}//close while;
?>


That looks good.... except this is for my forums... I can not use PHP in the template...


So i need php and then I call on it with HTML...


Thats why I had two seperate codes in the first post!


Thanks a bunch!


Do you think your array code could be altered to do what I am looking for?




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users