runnerjp Posted July 20, 2008 Share Posted July 20, 2008 i thought i best explain a little clearer again lol hey guys not sure if this is where to post but i will go anyways,,, ok so below is my forum script in full Code: <link rel="stylesheet" type="text/css" href="http://www.runningprofiles.com/css/login.css"> <link rel="stylesheet" type="text/css" href="http://www.runningprofiles.com/members/include/style.css"> <?php require_once '../settings.php'; include "connect.php"; //mysql db connection here $id = $_SESSION['user_id']; $puser = get_username($id); $timestamp = time(); $timeout = $timestamp - 180; $username = get_username($_SESSION['user_id']); function selfURL() { $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : ""; $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/") . $s; $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":" . $_SERVER["SERVER_PORT"]); return $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $_SERVER['REQUEST_URI']; } function strleft($s1, $s2) { return substr($s1, 0, strpos($s1, $s2)); } $filename = (selfURL()); //Insert User $insert = mysql_query("REPLACE INTO `useronline` SET `timestamp`='$timestamp', `ip`='" . $_SERVER['REMOTE_ADDR'] . "', `file`='$filename',`user`='$username',`user_id`='" . $_SESSION['user_id'] . "'") or die(mysql_error()); ?> <?php //look to see if the forum is currently locked $sQry = "SELECT `locked` FROM forum_lock LIMIT 1"; $obQry = mysql_query($sQry) or die(sprintf("Could not query forums (%d): %s", mysql_errno(), mysql_error())); $record = mysql_fetch_array($obQry); if (isset($record['locked']) && $record['locked']) { //error message die("Sorry, the forums are currently locked."); } else { //if ok carry on viewing page //This checks to see if there is a page number. If not, it will set it to page 1 if (!(isset($pagenum))) { $pagenum = 1; } //Here we count the number of results //Edit $data to be your query $forum = $_GET['forum']; $data = mysql_query("Select * from forumtutorial_posts where parentid='0' AND forum = '$forum' ORDER BY important, lastrepliedto") or die(mysql_error()); $rows = mysql_num_rows($data); //This is the number of results displayed per page $page_rows = 25; //This tells us the page number of our last page $last = ceil($rows / $page_rows); //this makes sure the page number isn't below one, or more than our maximum pages if ($pagenum < 1) { $pagenum = 1; } elseif ($pagenum > $last) { $pagenum = $last; } //This sets the range to display in our query $max = 'limit ' . ($pagenum - 1) * $page_rows . ',' . $page_rows; //This is your query again, the same one... the only difference is we add $max into it { ?> <p><A href='index.php?page=mainforums'><img src="http://www.runningprofiles.com/images/homeforum.gif" alt="home" border="0" /></a><A href='index.php?page=post&forum=<?php echo $forum; ?>'><img src="http://www.runningprofiles.com/images/new_post.gif" border="0" /></a></p> <p>users viewing forum = <?php if ($result = mysql_query("SELECT * FROM useronline")) { if (mysql_num_rows($result)) { while ($row = mysql_fetch_array($result)) { $last_active = time() - $row['timestamp']; if ($last_active < 3600) { $onlineuser[] = $row['user']; } } } } if (isset($onlineuser)) { if (count($onlineuser) == 1) { echo $onlineuser[0]; } else { for ($i = 0; $i < count($onlineuser); $i++) { if ($i == count($onlineuser) - 1) { echo " and " . $onlineuser[$i]; } else { echo " " . $onlineuser[$i]; } } } } ?> </p> <table width="99%" class='forum'> <tr> <td><table class='maintable'> <tr class='headline'><td> </td> <td> </td> <td>Topic</td> <td width=15%>Topic Starter</td> <td width="5%">Replies</td><td width="25%">Last replied time</td></tr> <? $getthreads = "Select * from forumtutorial_posts where parentid='0' and forum = '$forum' ORDER BY important ASC, lastrepliedto DESC $max"; $getthreads2 = mysql_query($getthreads) or die("Could not get threads"); while ($getthreads3 = mysql_fetch_array($getthreads2)) { $getthreads3[title] = strip_tags($getthreads3[title]); $getthreads3[author] = strip_tags($getthreads3[author]); $getthreads3[important] = strip_tags($getthreads3[important]); $important = $getthreads3['important']; ?> <tr <?php if ($important == 1) { $class = "mainrow1"; } else { $class = "mainrow"; } ?> class="<? echo $class ?>"><td width="6%" height="39" align="center" valign="middle"><? if ($getthreads3[author] == $puser) { ?> <img src="http://www.runningprofiles.com/images/new_posts_icon.gif" alt="My" /> <? } else { ?> <img src="http://www.runningprofiles.com/images/last_post.gif" alt="My" /> <? } ?> <td width="4%" align="center" valign="middle"><?php if ($getthreads3['forumlock'] == 1) { echo ' <img src="http://www.runningprofiles.com/images/quick_lock.gif" alt="locked"/>'; } if ($getthreads3['important'] == 1) { echo '<img src="http://www.runningprofiles.com/images/sticky.gif" alt="sticky"/>'; } ?></td> <td width="45%" valign="top"><div align="left"><a href='index.php?page=message&forum=<? echo $forum; ?>&id=<? echo $getthreads3[postid] ?>'><? echo $getthreads3[title] ?></a> <?php if ($id == 1) { include 'editforum.php'; } ; ?> </div></td> <td align="left" valign="middle"><a href='/members/<? echo $getthreads3[author]; ?>'><? echo $getthreads3[author] ?></a></td> <td align="center" valign="top"><? echo $getthreads3[numreplies] ?></td> <td valign="top"><? $dbtime = $getthreads3['lastrepliedto']; $time = date("F j Y, g:i a", $dbtime); echo $time; ?><br> Last post by <b><? echo $getthreads3[lastposter] ?> </b></td></tr> <? } ?> </table></td> </tr> </table> <br> </a> <p> <? echo "<br>"; } echo "<p>"; // Start links for pages $maxpage = $totalpages == 0 ? 1 : $totalpages; // add this line echo "<p align=center>Page $pagenum of $maxpage <br /> "; // change this // Sets link for previous 25 and return to page 1 if ($pagenum != 1) { $pageprev = ($pagenum - 1); echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=message&id=$id&pagenum=1\"><<</a> "; echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=message&id=$id&pagenum=$pageprev\">PREV </a> "; } else { echo ""; } // Loop thru all the pages and echo out the links for ($i = 1; $i <= $numofpages; $i++) { if ($i == $pagenum) { echo "[" . $i . "] "; } else { echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=message&id=$id&pagenum=$i\">$i</a> "; } } // Check for straglers after the limit blocks if (($rows % $page_rows) != 0) { if ($i == $pagenum) { echo "[" . $i . "] "; } else { echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=message&id=$id&pagenum=$i\">$i</a> "; } } // Print out the Next 25 and Goto Last page links if (($rows - ($page_rows * $pagenum)) > 0) { $pagenext = $pagenum++; echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=message&id=$id&pagenum=$pagenext\">NEXT </a> "; echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=message&id=$id&pagenum=$totalpages\">>></a> "; } ?> </p> <p></p> <table width="14%" border="0" align="left" cellpadding="0" cellspacing="0"> <tr> <td height="33" colspan="2" align="center"><strong>forum key</strong></td> </tr> <tr> <td width="22%" align="center"><img src="http://www.runningprofiles.com/images/quick_lock.gif" alt="locked"/></td> <td width="78%">Locked Topic</td> </tr> <tr> <td align="center" valign="middle"><img src="http://www.runningprofiles.com/images/sticky.gif" alt="sticky"/></td> <td>Sticky Topic</td> </tr> <tr> <td> </td> <td> </td> </tr> </table> <?php } ?> to break it down abit more towards the end of this script a image can be seen to which it looks like but ill tell you more about the script... so Code: <?php if ($id == 1) { include 'editforum.php'; } ; ?> will show this page Code: <?php $topicid=$_GET['id']; if (isset($_POST['edit'])) { if ($_POST['deletepost'] == 'deletepost'){ $threadid = mysql_real_escape_string( $_POST['id']); mysql_query("DELETE FROM forumtutorial_posts WHERE postid='$threadid'") or die(mysql_error()); mysql_query("UPDATE `forumtutorial_posts` SET `numreplies`=`numreplies`-'1' WHERE `postid`='$topicid'") or die(mysql_error()); header( "refresh: 0; url=http://www.runningprofiles.com/members/index.php?page=message&forum=general&id=$id"); } else { $threadid = mysql_real_escape_string( $_POST['id']); $message = $_POST['message']; echo $message; $query = "UPDATE forumtutorial_posts SET post = '$message' WHERE postid='$threadid' "; mysql_query($query) or die('Error, query failed'); header( "refresh: 0; url=http://www.runningprofiles.com/members/index.php?page=message&forum=general&id=$id"); } }else{ ?> <script src="../../css/SpryCollapsiblePanel.js" type="text/javascript"></script> <link href="http://www.runningprofiles.com/css/SpryCollapsiblePanel.css" rel="stylesheet" type="text/css" /> <div id="CollapsiblePanel1" class="CollapsiblePanel"> <div class="CollapsiblePanelTab" tabindex="0"> Edit</div> <div class="CollapsiblePanelContent"> <form name='input' action='index.php?page=message&forum=general&id=<? echo $id ?>' method='post'> <input type="hidden" name="id" value="<?php echo $getreplies3['postid'] ?>"> <div align="center"> <label> <textarea class='inputforum' name="message" id="message" cols="500" rows="5"><? echo $message; ?></textarea> </label> <input type="checkbox" name="deletepost" value="deletepost" /> delete post<br/> <br/> <input type='submit' name='edit' class="submit-btn" value=''/> </div> </form> <? } ?></div> </div> <script type="text/javascript"> <!-- var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1", {contentIsOpen:false}); //--> </script> now i would show you the css and js files that you can be seen included but surly this is not the problem is it works on the first post... i have included a image below of what my view currently looks like the wierd thing is that as you can see the top one has the button the when pressed it shows what it shown the the forum threads below... the thing is anything below the top on doesnot act at a button and i have no idea why! if there is anymore information i can give i gladly will to sort this out! Quote Link to comment Share on other sites More sharing options...
runnerjp Posted July 20, 2008 Author Share Posted July 20, 2008 thought i best add...the 1st ajax collapse works its just that due to scripts been repeated it also repeats the ajax,,, but does not repeat the open and close part of the js... this is why im thinking its due to the php repeat... Quote Link to comment Share on other sites More sharing options...
runnerjp Posted July 20, 2008 Author Share Posted July 20, 2008 bmp Quote Link to comment Share on other sites More sharing options...
runnerjp Posted July 20, 2008 Author Share Posted July 20, 2008 could it be due to this .. var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1", {contentIsOpen:false}); only doing the 1st 1?? Quote Link to comment Share on other sites More sharing options...
runnerjp Posted July 21, 2008 Author Share Posted July 21, 2008 bmp Quote Link to comment Share on other sites More sharing options...
runnerjp Posted July 21, 2008 Author Share Posted July 21, 2008 humm there all id="CollapsiblePanel1" any way to change it in a loop or something so its id="CollapsiblePanel1" id="CollapsiblePanel2" id="CollapsiblePanel3" Quote Link to comment Share on other sites More sharing options...
DeanWhitehouse Posted July 21, 2008 Share Posted July 21, 2008 that would be something like <?php $i = 1; while($i<20) { echo "id='CollapsiblePanel".$i; $i++; } ?> Quote Link to comment Share on other sites More sharing options...
runnerjp Posted July 21, 2008 Author Share Posted July 21, 2008 humm that did this id=id='CollapsiblePanel1id='CollapsiblePanel2id='CollapsiblePanel3id='CollapsiblePanel4id='CollapsiblePanel5id='CollapsiblePanel6id='CollapsiblePanel7id='CollapsiblePanel8id='CollapsiblePanel9id='CollapsiblePanel10id='CollapsiblePanel11id='CollapsiblePanel12id='CollapsiblePanel13id='CollapsiblePanel14id='CollapsiblePanel15id='CollapsiblePanel16id='CollapsiblePanel17id='CollapsiblePanel18id='CollapsiblePanel19 lol rather then giving each indervidual 1 a number <script src="../css/SpryCollapsiblePanel.js" type="text/javascript"></script> <link href="../css/SpryCollapsiblePanel.css" rel="stylesheet" type="text/css" /> <div id=<?php $i = 1; while($i<20) { echo "id='CollapsiblePanel".$i; $i++; } ?> class="CollapsiblePanel"> <div class="CollapsiblePanelTab" tabindex="0"> Edit</div> <div class="CollapsiblePanelContent"> would u think this would solve my problem?? Quote Link to comment Share on other sites More sharing options...
DeanWhitehouse Posted July 21, 2008 Share Posted July 21, 2008 the code i wrote was just an example. Quote Link to comment Share on other sites More sharing options...
runnerjp Posted July 21, 2008 Author Share Posted July 21, 2008 would it solve my problem if each 1 had a different id the would you say? Quote Link to comment Share on other sites More sharing options...
runnerjp Posted July 21, 2008 Author Share Posted July 21, 2008 is there any other way to like hide info unless i need it... or any1 know an idea to get this to work? Quote Link to comment Share on other sites More sharing options...
runnerjp Posted July 21, 2008 Author Share Posted July 21, 2008 could do with getting this annoying thing solved Quote Link to comment Share on other sites More sharing options...
DeanWhitehouse Posted July 21, 2008 Share Posted July 21, 2008 we are not here just to solve your code , we are not paid we are doing this in our spare time , so don't keep asking people to solve it for you, you should keep experimenting with the code trying to solve it . Quote Link to comment Share on other sites More sharing options...
runnerjp Posted July 22, 2008 Author Share Posted July 22, 2008 ok i have had ago and i belive this should work <script src="../../css/SpryCollapsiblePanel.js" type="text/javascript"></script> <link href="http://www.runningprofiles.com/css/SpryCollapsiblePanel.css" rel="stylesheet" type="text/css" /> <?PHP // added a loop here: for($i = 1; $i < mysql_num_rows($getthreads2); $i++){ ?><div id="CollapsiblePanel<?PHP echo $i; ?>" class="CollapsiblePanel"> <div class="CollapsiblePanelTab" tabindex="<?PHP echo $i - 1; ?>"> Edit</div> <div class="CollapsiblePanelContent"> <form name='input' action='index.php?page=message&forum=general&id=<? echo $id ?>' method='post'> <input type="hidden" name="id" value="<?php echo $getreplies3['postid'] ?>"> <div align="center"> <label> <textarea class='inputforum' name="message" id="message" cols="500" rows="5"><? echo $message; ?></textarea> </label> <input type="checkbox" name="dcodeeletepost" value="deletepost" /> delete post<br/> <br/> <input type='submit' name='edit' class="submit-btn" value=''/> </div> </form></div> </div> <? } } ?> <script type="text/javascript"> <!-- <?PHP // added a loop in here aswell: for($i = 1; $i < mysql_num_rows($getthreads2); $i++){ echo('var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1", {contentIsOpen:false});'); } ?> //--> </script> but for some reason my page output looks like this can any 1 see why.... im sure this is the way to go Quote Link to comment Share on other sites More sharing options...
runnerjp Posted July 22, 2008 Author Share Posted July 22, 2008 bmping Quote Link to comment Share on other sites More sharing options...
runnerjp Posted July 23, 2008 Author Share Posted July 23, 2008 bmp Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.