rchandran0023 Posted July 13, 2007 Share Posted July 13, 2007 Im trying to implement the "little pic poll" in my site, but in the source its coded to diplay the images and radio buttons in a table, and the way it renders on the screen is in a straight colomn down, i want to have the picts render in like maybe 4 element wide rows going down, so first fill in the first row, then the second, so on. but as it is now it just has the picts showing each under the other. I see the code thats doing this, within the while statements, but cant figure how to do it, by imbeding another loop or what? Ne help MUCH appreciated and i will respect u forever!! Im showing all the source code, but its not all pertinant to my question. TY. include("lp_settings.php"); //include file containing general settings import_request_variables("p", "p_"); //import POST variables import_request_variables("c", "c_"); //import cookie variables if (!isset($c_votingstep)) { $votingstep=1; } else { $votingstep = $c_votingstep; } function SumArray($arr) { $h=count($arr); $in=0; $m=0; while ($in<$h) { $m += $arr[$in]; $in++; } return $m; } function getIP() { if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR"); else $ip = "UNKNOWN"; return $ip; } function write2log ($linetoadd) { $rightnow=date("F j, Y, g:i a"); $fplog=fopen('lp_log.dat', "a"); fputs($fplog, getIP()."|".$rightnow."|".$linetoadd."\n"); fclose($fplog); } function ReadElements() { global $filename; $fp=fopen($filename, "r"); $file_contents=fread($fp,filesize($filename)-1); fclose($fp); $elements=explode("|",$file_contents); $h=(count($elements)-1)/4; $question=stripslashes($elements[0]); $in=0; while ($h>$in) { $item[$in]=$elements[(4*$in+1)]; $smallpic[$in]=$elements[(4*$in+2)]; $bigpic[$in]=$elements[(4*$in+3)]; $itemvoted[$in]=$elements[(4*$in+4)]; $in++; } return array ($item, $smallpic, $bigpic, $itemvoted, $question); } list ($item, $smallpic, $bigpic, $itemvoted, $question) = ReadElements(); if(isset($c_pollidcookie)) { if ($question != stripslashes($c_pollidcookie)) { $votingstep=1; } } setcookie("pollidcookie", $question, time()+$time_between_votes); if (isset($votingstep)) { function ShowTheStuff($item, $smallpic, $bigpic, $itemvoted, $graph_width, $graph_height) { $hector=count($itemvoted);$totalvotes=0;$in=0;$stepstr=''; $totalvotes=SumArray($itemvoted); $in=0; if ($totalvotes==0) { $totalvotes=0.0001; } while ($in<$hector) { $timesred=(int)((($itemvoted[$in]/$totalvotes))*$graph_width); $stepstr=$stepstr.'<table border=0><tr><td> </td><td><font size="1">'.stripslashes($item[$in]).'</td></tr>'; $stepstr=$stepstr.'<tr><td align="center"><font size="1">'.(int)(($itemvoted[$in]/$totalvotes)*100).'%<br><img width='.$graph_height.' height='.($graph_width-$timesred).' src="lp_0.gif"><br><img width='.$graph_height.' height='.$timesred.' src="lp_1.gif"></td>'; $stepstr=$stepstr.'<td><a href="#" OnClick="window.open(\''.$bigpic[$in].'\', \'GOto\', \'toolbar=no\');"><img src="'.$smallpic[$in].'" border=0></a></td></tr></table>'; //$stepstr=$stepstr.'<br><br>'; $in++; } return $stepstr; } } if (!isset($votingstep)) { $votingstep=1; } if ($votingstep==2) { if(!isset($p_radios)){ $votingstep=1; write2log("Clicked vote button without choosing an item"); } // detect if someone has clicked the voting button without choosing an item } if ($votingstep==1) { write2log("Enters Poll"); setcookie("votingstep","2",time()+$time_between_votes); $mainstr=$message1; $step1str='<form action="'.$callingfile.'" method="post" name="form1">'; $totalvotes=SumArray($itemvoted); $in=0; $datop=count($item); while($in<$datop){ $step1str=$step1str.'<table border=0><tr><td><input type="radio" name="radios" value="'.$in.'"></td><td><font size="1">'.stripslashes($item[$in]).'</td></tr>'; //$step1str=$step1str.'<tr><td align="center"><font size="1">'.(int)(($itemvoted[$in]/$totalvotes)*100).'%<br><img width='.$graph_height.' height='.($graph_width-$timesred).' src="lp_0.gif"><br><img width='.$graph_height.' height='.$timesred.' src="lp_1.gif"></td>'; $step1str=$step1str.'<tr><td> </td><td><a href="#" OnClick="window.open(\''.$bigpic[$in].'\', \'GOto\', \'toolbar=no\');"><img src="'.$smallpic[$in].'" border=0></a></td></tr></table>'; //$step1str=$step1str.'<br><br>'; $in++; } $step1str=$step1str.'<br><input style="'.$buttonstyle.'" type="Submit" value="'.$vote_str.'"></form>'; } if ($votingstep==2) { setcookie("votingstep","3",time()+$time_between_votes); $mainstr=$message2; $itemvoted[$p_radios]=$itemvoted[$p_radios]+1; $totalvotes=SumArray($itemvoted); $fp=fopen($filename, "w"); $hector=count($item); $in=0; $linetoadd=$question.'|'; fputs($fp, $linetoadd); while($in<$hector) { $linetoadd=$item[$in].'|'.$smallpic[$in].'|'.$bigpic[$in].'|'.$itemvoted[$in].'|'; fputs($fp, $linetoadd); $in++; } fclose($fp); write2log("Vote received on ".$item[$p_radios]); $step2str=ShowTheStuff($item, $smallpic, $bigpic, $itemvoted, $graph_width, $graph_height); } if ($votingstep==3) { $mainstr=$message3; $totalvotes=SumArray($itemvoted); write2log("Views results"); $step3str=ShowTheStuff($item, $smallpic, $bigpic, $itemvoted, $graph_width, $graph_height); } ?> Link to comment https://forums.phpfreaks.com/topic/59813-help-with-looping-make-rows-fill-in-within-a-loop-who-is-the-man/ Share on other sites More sharing options...
GingerRobot Posted July 13, 2007 Share Posted July 13, 2007 While it is often useful having plenty of the source code, its more useful having the relevant bit highlighted too us too Also, for future refernce, if you use full php opening tags(<?php) we get syntax highlighting which makes it a whole stack easier to read. Anyways, there is an FAQ on exactly this subject: http://www.phpfreaks.com/forums/index.php/topic,95426.0.html Hopefully that might guide you in the right direction. Link to comment https://forums.phpfreaks.com/topic/59813-help-with-looping-make-rows-fill-in-within-a-loop-who-is-the-man/#findComment-297395 Share on other sites More sharing options...
infid3l Posted July 13, 2007 Share Posted July 13, 2007 Use modulus (%) to find out whenever the number of times you've printed data is a multiple of 4, then do a "</tr><tr>". IE. // code print "<td>data</td>"; if ($times_printed % 4 == 0) { print "</tr><tr>"; } //code Link to comment https://forums.phpfreaks.com/topic/59813-help-with-looping-make-rows-fill-in-within-a-loop-who-is-the-man/#findComment-297396 Share on other sites More sharing options...
rchandran0023 Posted July 13, 2007 Author Share Posted July 13, 2007 nice, thank u for the posts, they have helped and il take ur advice about posting better. Link to comment https://forums.phpfreaks.com/topic/59813-help-with-looping-make-rows-fill-in-within-a-loop-who-is-the-man/#findComment-297397 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.