kijk eens hier,
dit is de code die ik daarvoor gebruik,
het probleem is nu dat de pagina vreselijk traag wordt/is. naarmate er meer berichten worden geplaats.
waarschijnlijk omdat ie alle berichten die zijn verzonden en/of ontvangen door $nummer.
wat kan ik doen om de pagina sneller te maken? of moet ik een heel andere structuur bedenken??
dit is de code die ik daarvoor gebruik,
PHP:
1
| <?$msg_data = mysql_query("SELECT uin FROM ".$messages_table." WHERE (aan='$nummer' OR van='$nummer') AND soort='public' ORDER BY tijd DESC LIMIT $vantot") or show_error();$form_action = "place_msg";$button_value = "verstuur";$old_msg_data = mysql_query("SELECT * FROM ".$messages_table." WHERE van='$LOGGED_IN' AND aan='$nummer' ORDER BY uin DESC LIMIT 1");$old_msg_row = mysql_fetch_array($old_msg_data);$newest_msg_data = mysql_query("SELECT tijd FROM ".$messages_table." WHERE van='$nummer' AND aan='$LOGGED_IN' ORDER BY uin DESC LIMIT 1");$newest_msg_row = mysql_fetch_array($newest_msg_data);if ($old_msg_row[tijd]>$newest_msg_row[tijd]){$edit_old_msg = $old_msg_row[bericht];$form_action = "edit_msg";$welke_uin = $old_msg_row[uin];$button_value = "wijzig";$understatement = "<br>Wil je je bericht nog wijzigen? dan kan dat hieronder:";}?><table width="100%" border="0" cellpadding="3" cellspacing="0"> <tr> <td colspan="3" class="top_row"> <?if ($LOGGED_IN && $nummer!=$LOGGED_IN){?><form name="reg" method="post" action="http://<?=$HTTP_HOST?>/<?=$directory?>"> <table width="100%" border="0" cellspacing="0" cellpadding="3"> <tr align="center"> <td><b>Plaats bij <a href="?cmd=view&nummer=<?=$nummer?>"><?=$row[naam]?></a> een bericht</b><?=$understatement?></td> </tr> <tr> <td align="center"> <textarea name="p_message" cols="<?browser(55,40);?>" rows="4"><?=$edit_old_msg?></textarea> </td> </tr> <tr> <td align="center"> <input type="submit" name="submit" value=" <?=$button_value?> "> <input type="hidden" name="action" value="<?=$form_action?>"> <input type="hidden" name="nummer" value="<?=$nummer?>"> <input type="hidden" name="welke_uin" value="<?=$welke_uin?>"> </td> </tr> </table></form><?}else{?><div align="center"><b><?if ($nummer==$LOGGED_IN || $extra=="view"){$messages = mysql_query("SELECT 'uin' FROM ".$messages_table." WHERE aan='".$nummer."' AND new='y'");$aantal_nieuwe = mysql_num_rows($messages);?><br><span class="text">Dit zijn jouw eigen berichten<br>je hebt <?=$aantal_nieuwe?> nieuw(e) bericht(en) die zijn aangegeven met oranje.</b></span><br><span class="middle">de nieuwste berichten staan bovenaan. (en de oudste dus onderaan)<br></span><?}else{?>om een berichtje te plaatsen moet je <a href="?cmd=login&return=messages&nummer=<?=$nummer?>">ingelogged</a> zijn.<br><?}?></b><br></div><?}?> </td> </tr><?while($messages = mysql_fetch_array($msg_data)){$sender_data = mysql_query("SELECT uin,naam FROM ".$users_table." WHERE uin='$messages[van]' LIMIT 1");$sender = mysql_fetch_array($sender_data);$berichten_titel="bekijk berichten";//enige a-logische troepif($messages[van]==$nummer){$messages[wie]=$messages[aan];}else{$messages[wie]=$messages[van];}//eindeif ($$messages[wie]!="shown" || $sender[naam]==""){$aantal_messages++;if ($messages[aan]==$LOGGED_IN || ($extra=="view" && $messages[aan]==$nummer)){$berichten_titel="reageer hierop";if ($messages['new']=="y"){$class=" class=\"colored_bg\"";mysql_query("UPDATE ".$messages_table." SET new='n' WHERE aan='$LOGGED_IN' LIMIT 1");}}if ($messages[van]==$LOGGED_IN || ($extra=="view" && $messages[van]==$nummer)){$berichten_titel="wijzig dit bericht";}?> <tr<?=$class?>> <td valign="top" class="top_row"><?getuser($messages[wie]);?> <br><span class="detail"><?if($messages[wie]!=$LOGGED_IN){?><a href="?cmd=messages&nummer=<?=$messages[wie]?>"><?=$berichten_titel?></a></span> <?}?> </td> <td valign="top" class="top_row"> <b>op <?=date("d-m H:i:s",$messages[tijd])?> schreef <?getuser($messages[van])?></a></b><br> <? $messages[bericht]=nl2br($messages[bericht]); //$messages[bericht] = wordwrap($messages[bericht],65,"<br>"); $input_text = $messages[bericht]; include "smilies.inc.php"; echo $input_text;?> <br> <? $$messages[wie]="shown"; $reply_data = mysql_query("SELECT bericht,tijd FROM ".$messages_table." WHERE van='$messages[aan]' AND aan='$messages[van]' AND soort='public' ORDER BY tijd DESC LIMIT 1"); $reply = mysql_fetch_array($reply_data); if ($reply){ ?> <blockquote> <hr> <b>op <?=date("d-m H:i:s",$reply[tijd])?> schreef <?getuser($messages[aan])?></b><br> <? $reply[bericht] = wordwrap($reply[bericht],55,"<br>",1); $input_text = $reply[bericht]; //include "smilies.inc.php"; echo $input_text;?><br><br><a href="?cmd=history&nummer=<?=$nummer?>&and=<?=$messages[wie]?>">[meer...]</a> <hr> </blockquote> <?}?> </td> </tr> <?}$class="";}if (!$aantal_messages){?><tr><td align="center" colspan="3" class="top_row"><br><b><a href="?cmd=view&nummer=<?=$nummer?>"><?=$row[naam]?></a> heeft nog geen berichten verzonden/ontvangen</b></td></tr><?}else{?><tr><td align="center" colspan="3">&nbsp;</td></tr><?}?></table>?> |
het probleem is nu dat de pagina vreselijk traag wordt/is. naarmate er meer berichten worden geplaats.
waarschijnlijk omdat ie alle berichten die zijn verzonden en/of ontvangen door $nummer.
wat kan ik doen om de pagina sneller te maken? of moet ik een heel andere structuur bedenken??