hank9481 Posted July 20, 2009 Share Posted July 20, 2009 I have a MySQL table with 7 fields. An ID field distinguishes each record because multiple records of data are stored in the table. What I want to do is create a PHP script that will display the most recent 5 records of data. Can someone give me some idea of what I have done wrong? Admittedly, I once knew how to do this, but having not dabbled with PHP for some years now, I have forgotten and am very much a novice. Right now, I only get the most recent entry. The key bits of the script are below: //SELECT UPDATEABLE FIELDS $result = mysql_query("SELECT date, pic, title, name, team, text, pic FROM rumor LIMIT 5") or die(mysql_error()); while ($row = @mysql_fetch_array($result,MYSQL_ASSOC)) { //HEADLINES $date=$row{'date'}; $pic="http://files.mblsim.com/reports/news/html/images/".$row{'pic'}.""; $title=$row{'title'}; $name=$row{'name'}; $team=$row{'team'}; $text=$row{'text'}; <table width="100%" height="100%" border="0" cellpadding="5" cellspacing="0"> <tr> <td valign="top"><table width="100%" border="0" cellspacing="1" cellpadding="1"> <tr> <td class="rumorHeader">MBL Rumor Central: <?php print $title; ?></td> </tr> <tr> <td bgcolor="#000066" class="dateBorder"><font color="#FFFFFF">Updated <?php print $date; ?> </font></td> </tr> <tr> <?php print "<td class=rumorPad> <table width=100% border=0 cellspacing=1 cellpadding=1> <tr> <td width=105 rowspan=3 valign=top> <div align=left><img src=".$pic." width=90 height=135 border=0></div></td> <td class=rumorTitle>".$title."</td> </tr> <tr> <td class=rumorName>".$name." | ".$team."</td> </tr> <tr> <td valign=top class=rumorText> <p>".$text."</p></td> </tr> </table></td>" ?> </tr> </table></td> </tr> </table> Link to comment https://forums.phpfreaks.com/topic/166709-solved-php-table-with-multiple-rows-help/ Share on other sites More sharing options...
simon551 Posted July 20, 2009 Share Posted July 20, 2009 I think you could try [] brackets instead of {} brackets around your php values. also, I think you want to do it more like this: <table> <?php while (something) { ?> <tr> <td></td> </tr> <?php } //end something ?> </table> Link to comment https://forums.phpfreaks.com/topic/166709-solved-php-table-with-multiple-rows-help/#findComment-879057 Share on other sites More sharing options...
hank9481 Posted July 20, 2009 Author Share Posted July 20, 2009 I think you could try [] brackets instead of {} brackets around your php values. also, I think you want to do it more like this: <table> <?php while (something) { ?> <tr> <td></td> </tr> <?php } //end something ?> </table> Ha, you confused me immeasurably. Link to comment https://forums.phpfreaks.com/topic/166709-solved-php-table-with-multiple-rows-help/#findComment-879063 Share on other sites More sharing options...
hank9481 Posted July 20, 2009 Author Share Posted July 20, 2009 Anyone else able to offer an explanation? I'd love to get this working. Link to comment https://forums.phpfreaks.com/topic/166709-solved-php-table-with-multiple-rows-help/#findComment-879095 Share on other sites More sharing options...
ldougherty Posted July 20, 2009 Share Posted July 20, 2009 Your problem is with your logic, you are declaring the variables which are not an array multiple times in a while loop. You have two options. 1) You can output the variables in the while loop; for example while ($row = @mysql_fetch_array($result,MYSQL_ASSOC)) { //HEADLINES $date=$row{'date'}; $pic="http://files.mblsim.com/reports/news/html/images/".$row{'pic'}.""; $title=$row{'title'}; $name=$row{'name'}; $team=$row{'team'}; $text=$row{'text'}; echo "date is $date<br>"; echo "pic is $pic<br>"; } This will print the date and pic for each item throughout the while loop. 2) You could store the items in an array and reference them later outside of the while loop //HEADLINES $date[]=$row{'date'}; $pic[]="http://files.mblsim.com/reports/news/html/images/".$row{'pic'}.""; $title[]=$row{'title'}; $name[]=$row{'name'}; $team[]=$row{'team'}; $text[]=$row{'text'}; then later in your code you could reference date[0], date[1], etc etc. Link to comment https://forums.phpfreaks.com/topic/166709-solved-php-table-with-multiple-rows-help/#findComment-879100 Share on other sites More sharing options...
simon551 Posted July 21, 2009 Share Posted July 21, 2009 or you could use fetch_assoc instead of array. <?php //SELECT UPDATEABLE FIELDS $result = mysql_query("SELECT date, pic, title, name, team, text, pic FROM rumor LIMIT 5") or die(mysql_error()); while ($row = mysql_fetch_assoc($result) { //HEADLINES $date=$row['date']; $pic="http://files.mblsim.com/reports/news/html/images/".$row['pic'].""; $title=$row['title']; $name=$row['name']; $team=$row['team']; $text=$row['text']; ?> <table width="100%" height="100%" border="0" cellpadding="5" cellspacing="0"> <tr> <td valign="top"><table width="100%" border="0" cellspacing="1" cellpadding="1"> <tr> <td class="rumorHeader">MBL Rumor Central: <?php print $title; ?></td> </tr> <tr> <td bgcolor="#000066" class="dateBorder"><font color="#FFFFFF">Updated <?php print $date; ?> </font></td> </tr> <tr> <?php print "<td class=rumorPad> <table width=100% border=0 cellspacing=1 cellpadding=1> <tr> <td width=105 rowspan=3 valign=top> <div align=left><img src=".$pic." width=90 height=135 border=0></div></td> <td class=rumorTitle>".$title."</td> </tr> <tr> <td class=rumorName>".$name." | ".$team."</td> </tr> <tr> <td valign=top class=rumorText> <p>".$text."</p></td> </tr> </table></td>" ?> </tr> </table></td> </tr> </table> <?php } ?> Link to comment https://forums.phpfreaks.com/topic/166709-solved-php-table-with-multiple-rows-help/#findComment-879121 Share on other sites More sharing options...
hank9481 Posted July 21, 2009 Author Share Posted July 21, 2009 Oddly enough, I changed it to assoc and it still doesn't work. Apparently, I am completely missing something small, but being horrible at this, I am hoping someone can spot what the heck I am doing wrong. Here is the entire code with the PHP related data in bold, maybe this will help? //SELECT UPDATEABLE FIELDS $result = mysql_query("SELECT date, pic, title, name, team, text FROM rumor LIMIT 5") or die(mysql_error()); while ($row = mysql_fetch_assoc($result)) { //HEADLINES $date=$row['date']; $pic="http://files.mblsim.com/reports/news/html/images/".$row['pic'].""; $title=$row['title']; $name=$row['name']; $team=$row['team']; $text=$row['text']; //CLOSE OUT WebUpdater Code ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>MBLsim.com :: Rumor Central</title> <meta name="author" content="Jay Therrien, [email protected]"> <meta http-equiv="Cache-Control" content="no-cache"> <link href="../scripts/mbl.css" rel="stylesheet" type="text/css"> <script language="JavaScript" SRC="../scripts/tabs.js"></script> <link rel="stylesheet" type="text/css" href="../scripts/contentslider.css" /> <script type="text/javascript" src="../scripts/contentslider.js"> /*********************************************** * Featured Content Slider- © Dynamic Drive DHTML code library (www.dynamicdrive.com) * This notice MUST stay intact for legal use * Visit Dynamic Drive at http://www.dynamicdrive.com/ for this script and 100s more ***********************************************/ </script> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}} } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a)&&x.oSrc;i++) x.src=x.oSrc; } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); //--> </script> <script> <!-- function showhide(id){ if (document.getElementById){ obj = document.getElementById(id); if (obj.style.display == "none"){ obj.style.display = ""; } else { obj.style.display = "none"; } } } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a)&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}} } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script> </head> <body bgcolor="#333333" onLoad="MM_preloadImages('../New%20Site/Images/navbar/ootpou_over.gif','../New%20Site/Images/navbar/constitution_over.gif','../New%20Site/Images/navbar/gm_over.gif','../New%20Site/Images/navbar/forum_over.gif','../New%20Site/Images/navbar/file_over.gif','../New%20Site/Images/navbar/calendar_over.gif','../New%20Site/Images/navbar/blog_over.gif','../images/navbar/historyro.gif','../images/navbar/directoryro.gif','../images/navbar/constitutionro.gif','../images/navbar/calendarro.gif','../images/navbar/blogro.gif','../images/navbar/forumro.gif','../images/navbar/ootpouro.gif','../images/navbar/rumors_over.gif')"> <div align="center"> <table width="980" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td colspan="3"><div align="center"><a href="http://www.mblsim.com/home.php"><img src="../images/header.gif" width="980" height="90" border="0"></a></div></td> </tr> <tr> <td bgcolor="#990000"> </td> <td width="150" bgcolor="#990000"> <div align="left"></div> <div align="left"><img src="../images/navbar/ootp.gif" width="150" height="18"></div></td> <td bgcolor="#990000"> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><div align="center"><a href="history.php?year=2017" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('History','','../images/navbar/historyro.gif',1)"><img src="../images/navbar/history.gif" name="History" width="100" height="18" border="0"></a></div></td> <td><div align="center"><a href="gm_directory.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Directory','','../images/navbar/directoryro.gif',1)"><img src="../images/navbar/directory.gif" name="Directory" width="100" height="18" border="0"></a></div></td> <td><div align="center"><a href="rumors.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Rumors','','../images/navbar/rumors_over.gif',1)"><img src="../images/navbar/rumors.gif" name="Rumors" width="100" height="18" border="0"></a></div></td> <td><div align="center"><a href="constitution.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Constitution','','../images/navbar/constitutionro.gif',1)"><img src="../images/navbar/constitution.gif" name="Constitution" width="100" height="18" border="0"></a></div></td> <td><div align="center"><a href="calendar.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Calendar','','../images/navbar/calendarro.gif',1)"><img src="../images/navbar/calendar.gif" name="Calendar" width="100" height="18" border="0"></a></div></td> <td><div align="center"><a href="mbl_blog/" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Blog','','../images/navbar/blogro.gif',1)"><img src="../images/navbar/blog.gif" name="Blog" width="100" height="18" border="0"></a></div></td> <td><div align="center"><a href="mbl_board/" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Forum','','../images/navbar/forumro.gif',1)"><img src="../images/navbar/forum.gif" name="Forum" width="100" height="18" border="0"></a></div></td> <td><div align="center"><a href="http://files.mblsim.com/ootpsqlou/exports.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image114','','../images/navbar/ootpouro.gif',1)"><img src="../images/navbar/ootpou.gif" name="Image114" width="100" height="18" border="0"></a></div></td> </tr> </table></td> </tr> <td valign="top"> <div id="Layer1" style="position:relative; width:770; height:446; z-index:1; left: 0; top: 0; overflow: scroll; background-color: #FFFFFF; layer-background-color: #FFFFFF; border: 1px none #000000;"> <table width="100%" height="100%" border="0" cellpadding="5" cellspacing="0"> <tr> <td valign="top"><table width="100%" border="0" cellspacing="1" cellpadding="1"> <tr> <td class="rumorHeader">MBL Rumor Central: <?php print $title; ?></td> </tr> <tr> <td bgcolor="#000066" class="dateBorder"><font color="#FFFFFF">Updated <?php print $date; ?> </font></td> </tr> <tr> <?php print "<td class=rumorPad> <table width=100% border=0 cellspacing=1 cellpadding=1> <tr> <td width=105 rowspan=3 valign=top> <div align=left><img src=".$pic." width=90 height=135 border=0></div></td> <td class=rumorTitle>".$title."</td> </tr> <tr> <td class=rumorName>".$name." | ".$team."</td> </tr> <tr> <td valign=top class=rumorText> <p>".$text."</p></td> </tr> </table></td>" ?> Link to comment https://forums.phpfreaks.com/topic/166709-solved-php-table-with-multiple-rows-help/#findComment-879127 Share on other sites More sharing options...
hank9481 Posted July 21, 2009 Author Share Posted July 21, 2009 Anybody? Link to comment https://forums.phpfreaks.com/topic/166709-solved-php-table-with-multiple-rows-help/#findComment-879156 Share on other sites More sharing options...
simon551 Posted July 21, 2009 Share Posted July 21, 2009 what does this give you in your browser? what if you just put this in the page: <?php //SELECT UPDATEABLE FIELDS $result = mysql_query("SELECT date, pic, title, name, team, text FROM rumor LIMIT 5") or die(mysql_error()); while ($row = mysql_fetch_assoc($result)) { //HEADLINES $date=$row['date']; $pic="http://files.mblsim.com/reports/news/html/images/".$row['pic'].""; $title=$row['title']; $name=$row['name']; $team=$row['team']; $text=$row['text']; echo $text; } //CLOSE OUT WebUpdater Code ?> I don't see where you are setting a connection or selecting a database so I'm guessing it won't work. But let us know. Separately, after you get that figured out, when doing this: while x { do something } what you are telling php to do is to repeat an action as it loops through the rows in your sql output. for each row in your output it will (or at least try) to do the action you tell it to do. also, wrap your code in code (button that looks like the pound sign) tags not quote tags [/code] Link to comment https://forums.phpfreaks.com/topic/166709-solved-php-table-with-multiple-rows-help/#findComment-879236 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.