Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 10-28-2007, 09:50 PM
Iskib Iskib is offline
 
Join Date: May 2006
Posts: 55
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Image (php looping) - need help

What I am trying to do is pull images/names then put them in a table. I have done this. Now I want it to loop the table 4 times across then drop down
Code:
<tr></tr>
????

With the code I have so far it does 4 then drops the maining down and does not cont to do 4 then drop down until none are left.

Here is the code can anyone help this noob php learner see the prob ?

Code:
<?php
	        $n = count($contactlist);
	        for ($i=0; $i<$n; $i++) {
		$contact = $contactlist[$i];
	 	$name = $contact->name;
	 	$imgurl = $contact->imgurl;
	 	$uid = $contact->uid;
 
if ($i == 4) {echo '</tr><tr>';}{
            
	 	
?>
          <td>
          <table border="0">
          <tr>
          <td align="center" class="picture_border">
          <img src="<?php echo htmlentities($imgurl) ?>" /></a></td>
          </tr>
          <tr>
          <td align="center" background="themes/default/images/gradients/003.gif">
          <table width="100%" border="0" cellpadding="4" cellspacing="2" class="text_7_css">
          <tr>
          <td><input type="checkbox" name="uids[]" value="<?php echo $i ?>"/></td>
          </tr>
          <tr>
          <td><?php echo  htmlentities($name, ENT_COMPAT,'UTF-8') ?></td>
          </tr>
          </table>
          </td>
          </tr>
          </table>
          </td>
          
          <?php
          
          	}}
?>
Btw this is not a vbulletin script it does to something else. I have been driving myself crazy on why this won't work lol.
Reply With Quote
  #2  
Old 10-29-2007, 03:01 AM
Analogpoint's Avatar
Analogpoint Analogpoint is offline
 
Join Date: Feb 2007
Posts: 656
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

There's many ways of doing something like this. Here are two.

Code:
$counter = 0;
foreach ($contactlist as $contact)
{
       ++$counter;
       // output an image

       if (!$counter % 4)
       {
                // start a new row.
       }
}
Code:
$contactlistrows = array_chunk($contactlist, 4);
foreach ($contactlistrows as $row)
{
       // start row
       foreach ($row as $cell)
       {
                // print cell
       }
       // finish row
}
Reply With Quote
  #3  
Old 10-29-2007, 03:35 AM
Iskib Iskib is offline
 
Join Date: May 2006
Posts: 55
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great thanks for the replay I will try it out

--------------- Added [DATE]1193633012[/DATE] at [TIME]1193633012[/TIME] ---------------

Now would that code replace code or just add to it ?

--------------- Added [DATE]1193636830[/DATE] at [TIME]1193636830[/TIME] ---------------

I tried just adding the code and it does the samething thing it was. It counts 4 drops down to start another row then just list all them across. It doesn't count again , drop down until number of contacts = 0 .

--------------- Added [DATE]1193637064[/DATE] at [TIME]1193637064[/TIME] ---------------

Again I am just learning lol.

This doesn't pull the images, names and such from a database or a local file, but pulls from a remote location. Maybe that has something to do with it, but I would think it would still be possible to do what I want it
Reply With Quote
  #4  
Old 10-29-2007, 05:24 AM
Andrew Green's Avatar
Andrew Green Andrew Green is offline
 
Join Date: Nov 2005
Location: Winnipeg, MB
Posts: 996
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Code:
if ($i == 4) {echo '</tr><tr>';}{
to

Code:
if (($i>0) && ($i % 4 == 0)) {echo '</tr><tr>';}{
Reply With Quote
  #5  
Old 10-29-2007, 05:35 AM
Iskib Iskib is offline
 
Join Date: May 2006
Posts: 55
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great!

Thanks for help!

Just had a couple questions to understand a little better

Code:
if (($i>0) && ($i % 4 == 0)) {echo '</tr><tr>';}{
what do && do in php?

and if the % sign multiplying by 4?
Reply With Quote
  #6  
Old 10-29-2007, 05:56 AM
calorie calorie is offline
 
Join Date: May 2003
Posts: 2,804
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

For && see http://www.php.net/manual/en/languag...rs.logical.php

For % see http://www.php.net/manual/en/languag...arithmetic.php

For more see http://www.php.net/manual/en/language.operators.php
Reply With Quote
  #7  
Old 10-29-2007, 06:02 AM
Iskib Iskib is offline
 
Join Date: May 2006
Posts: 55
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great thanks a lot!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 09:36 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.04021 seconds
  • Memory Usage 2,211KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (7)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (7)post_thanks_box
  • (7)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (7)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete