vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Creating new rows in a table dynamically (https://vborg.vbsupport.ru/showthread.php?t=120997)

Antiblank 07-12-2006 10:27 AM

Creating new rows in a table dynamically
 
With some help I've managed to come up with a chunk of code to pull the avatar, username, and a link back to the profile for members of specified usergroups to any page outside of the vB (or could be inside) directory.

The issue I have currently is just with the php code. I need to adapet my code so that after displaying 6 results in the <td> tag they will start a new <tr> for the table. As it stands right now it's just creating a single massivly long row with every result which I can asure you is quite unattractive.

Here is the code I have, thanks for any insight.

Code:

<table width="988" border="0" align="center" cellpadding="0" cellspacing="0" nowrap="nowrap">
  <tr>
    <td align="center" nowrap="nowrap">
<?php
    $query = mysql_query("SELECT customavatar.filename, customavatar.userid, user.username, user.avatarrevision FROM customavatar LEFT JOIN user USING (userid) WHERE user.usergroupid = '10'");
while ($row = mysql_fetch_assoc($query))
{
echo '<td>';
echo '<a href="http://www.mysite.com/boards/'.$row['username'].'">';
echo '<img src="http://www.mysite.com/boards/customavatars/avatar'.$row['userid'].'_'.$row['avatarrevision'].'.gif">'; // Avatar image
echo '<br>';
echo '<center><a href="http://www.mysite.com/boards/'.$row['username'].'">'.$row['username'].'</a></center>'; // linked username
echo '</td>';
}
?>
</td>
  </tr>
</table>


amykhar 07-12-2006 11:20 AM

Try this:
Code:

<table width="988" border="0" align="center" cellpadding="0" cellspacing="0" nowrap="nowrap">

   
<?php
$counter = 0;
    $query = mysql_query("SELECT customavatar.filename, customavatar.userid, user.username, user.avatarrevision FROM customavatar LEFT JOIN user USING (userid) WHERE user.usergroupid = '10'");
while ($row = mysql_fetch_assoc($query))
{
if($counter == 6 OR $counter==0)
{
$counter = 0;
echo '  <tr><td align="center" nowrap="nowrap">';
echo '<a href="http://www.mysite.com/boards/'.$row['username'].'">';
echo '<img src="http://www.mysite.com/boards/customavatars/avatar'.$row['userid'].'_'.$row['avatarrevision'].'.gif">'; // Avatar image
echo '<br>';
echo '<center><a href="http://www.mysite.com/boards/'.$row['username'].'">'.$row['username'].'</a></center>'; // linked username
echo '</td></tr>';
}
else
{
echo '  <td align="center" nowrap="nowrap">';
echo '<a href="http://www.mysite.com/boards/'.$row['username'].'">';
echo '<img src="http://www.mysite.com/boards/customavatars/avatar'.$row['userid'].'_'.$row['avatarrevision'].'.gif">'; // Avatar image
echo '<br>';
echo '<center><a href="http://www.mysite.com/boards/'.$row['username'].'">'.$row['username'].'</a></center>'; // linked username
echo '</td>';
}
$counter++;
}
?>

</table>


Antiblank 07-12-2006 11:45 AM

Well the code displays the avatars correctly the way mine did, and it is splitting them into rows. But the very odd thing. Out of 10 returned results they are displaying:

Row 1: 1 result
Row 2: 5 results
Row 3: 1 result
Row 4: 3 results

By the way outstanding work getting me this far into row. Almost excitement enough to wake me back up! :)

I tried changing the number in the conter:

Counter set to 5:
Row 1: 1 result
Row 2: 4 results
Row 3: 1 result
Row 4: 4 results

Counter set to 4:
Row 1: 1 result
Row 2: 3 results
Row 3: 1 results
Row 4: 3 results
Row 5: 1 result
Row 6: 1 result

hehe I'm seeing a pattern but not quite sure how to fix it.

I worked through and was finally able to get it to function. Here is what I came up with so I can share.

Code:

<table width="988" border="0" align="center" cellpadding="0" cellspacing="0" nowrap="nowrap">
<?php
 $counter = 0;
 $query = mysql_query("SELECT customavatar.filename, customavatar.userid, user.username, user.avatarrevision FROM customavatar LEFT JOIN user USING (userid) WHERE user.usergroupid = '10' ORDER BY 'username' ASC LIMIT 0,60 ");
 echo '<tr>';
 while ($row = mysql_fetch_assoc($query))
 {
  $counter++;
  echo '<td align="center" nowrap="nowrap">';
  echo '<a href="http://www.mysite.com/boards/'.$row['username'].'">';
  echo '<img src="http://www.mysite.com/boards/customavatars/avatar'.$row['userid'].'_'.$row['avatarrevision'].'.gif">'; // Avatar image
  echo '<br>';
  echo '<center><a href="http://www.mysite.com/boards/'.$row['username'].'">'.$row['username'].'</a></center>'; // linked username
  echo '</td>';
  if($counter%6==0)
    echo '</tr><tr>';
 }
 echo '</tr>';
?>
</table>



All times are GMT. The time now is 10:53 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01346 seconds
  • Memory Usage 1,723KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (3)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete