Jump to content

error with collapse table...im thinking could be to do with php


Recommended Posts

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

 

error.jpg

 

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!

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...

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??

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 .

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

 

error2.jpg

 

can any 1 see why.... im sure this is the way to go

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.