Vi ligger också för närvarande på en windows-server. Vi funderar att gå över till UNIX om det nu skulle spinna snabbare.
Loopia har haft problem med anslutning till servern vår databas legat på, nu är den flyttad till en mindre belastad server men vissa sidor går fruktansvärt sega fortfarande om de överhuvudtaget laddas alls. Misstänker att det blir timeout.
Skickar med hela koden till sidan som strular mest.
Säkert är det så att jag gör alldeles för många anrop men det är i olika steg.
Ja, ta en titt och är det koden som slöar ner hämtningen??
<?php
// Startar session
session_start();
//Tidräkning för laddning av sidan
function Getmicrotime() {
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec); }
$time_start = Getmicrotime();
// Dagens datum
$today = date('Y-m-d');
//$today = '2009-09-25';
include('../dbmanager.php');
// Tömmer gamla variabler
$do_add = "";
$par_id = "";
$tomt = "";
// Kollar om man skall lägga till i databasen.
if (!empty($_POST['at_id']) && !empty($_POST['password'])){
if( !isset($_GET['do_add']) )
{
$do_add =="no";
//$do_add = $_POST['do_add'];
}
else
{
$do_add = $_GET['do_add'];
}
}
?>
<HTML>
<HEAD>
<TITLE>Anmäld till träning</TITLE>
<link rel="stylesheet" href="../../stylesheets/spirStyle.css" type="text/css">
<style type="text/css">
<!--
#tform {
background-color: #99CCCC;
}
-->
</style>
</HEAD>
<BODY class="yellowTable">
<h2>Anmälan till träning för alla inhyrda tränare</h2>
<p>Samma användarnam och lösenord som ni har till tävlingsanmälan.<br>
Har ni ingen registrerat användarnamn så fixar ni en här >> <a href="../tavlingar/par_reg.html">[Registrera par]</a><br>
<span class="small_red">*Nytt*</span> Behöver ni ändra er närvaro så är det bara att anmäla er igen med de nya uppgifterna.</p>
<p>Vilka tider som gäller ser du vid anmälning.<span class="normal_red"><br>
</span></p>
<form method="POST" name="tform" id="tform">
<tr>
<td colspan="4">
<div align="left">
<blockquote>
</br>
<?php
// Hämtar tränare
$sql = "SELECT * FROM `admin_training` a LEFT JOIN `add_tranare` t ON a.at_tranare = t.Tran_id WHERE '$today' <= a.at_datum GROUP BY a.at_tranare ASC";
$result = mysql_query($sql) or die(mysql_error());
//Lägg namnen i en rull-list
echo "<select name=\"tranare\" onchange=\"this.form.submit();\">\n";
echo "<option value=\"\"> Välj tränare </option>\n";
while ($row = mysql_fetch_array($result)) {
//Aktivera förvald person om den har blivit vald tidigare
if ($_POST['tranare'] == $row['at_tranare']) {
echo "<option value=\"".$row['Tran_id']."\" selected=\"true\">".mysql_real_escape_string($row['tranare'])." </option>\n";
} else {
echo "<option value=\"".$row['Tran_id']."\"> ".$row['tranare']." </option>\n";
}
}
echo "</select>\n";
// Hämtar träningsdatum för tränarna ovan
if (isset($_POST['tranare'])){
$tranare = $_POST['tranare'];
$datum = "SELECT * FROM admin_training WHERE at_tranare = '$tranare' AND '$today' <= at_datum ORDER BY at_datum, at_time ASC";
$result1 = mysql_query($datum) or die(mysql_error());
//Lägg datumen i en rull-list
echo " <select name=\"at_id\">\n";
while ($row = mysql_fetch_array($result1)) {
//Aktivera förvald person om den har blivit vald tidigare
$at_time = substr($row['at_time'], 0, 5);
echo "<option value=\"".$row['at_id']."\"> ".$row['at_datum']." -- ".$at_time." -- ".$row['at_grupp']."</option>\n";
}
echo "</select>\n";
echo " <label>
<select name=\"narvaro\">
<option value=\"2\">Kommer</option>
<option value=\"1\">Kommer ej</option>
</select>
</label>
</p>";
} ?>
</p>
</blockquote>
</div>
<table width="645" border="0" cellpadding="2" cellspacing="2" id="anmalning">
<tr>
<td width="96">Användarnamn: </td>
<td width="134"><input type="text" name="username" maxlength="20" size="20"></td>
<td width="72">Lösenord: </td>
<td width="151"><input type="password" name="password" maxlength="20" size="20" id="password"></td>
<td width="160" rowspan="2">
<input type="submit" name="Submit" value="Anmäl" onClick="this.form.action='anm_traning_multi.php?do_add=yes';this.form.submit();">
</td>
</tr>
<tr> </tr>
</table>
<hr>
</form>
<?php
if($do_add == "yes" && isset($_POST['username']) && isset($_POST['password']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$at_id = intval($_POST['at_id']);
$narvaro = $_POST['narvaro'];
$t_grupp = $_POST['t_grupp'];
// kollar om användarnamnet finns
$check_nam = "SELECT tpar_id FROM tavlings_par WHERE username='$username' AND password='$password'";
$result_nam = mysql_query($check_nam) or die(mysql_error());
$rows = mysql_num_rows($result_nam);
$rad = mysql_fetch_array($result_nam);
// Finns användarnamnet så lägg till i databasen
if($rows)
{
$par_id = $rad['tpar_id'];
// Kollar så det inte blir dubletter i databasen
$check_dub = "SELECT * FROM anm_training_multi WHERE par_id='$par_id' AND atm_id= '$at_id' ";
$result_check = mysql_query($check_dub) or die(mysql_error());
$num_rows = mysql_num_rows($result_check);
// Om man redan är anmäld körs If-satsen nedan
if ($num_rows) {
//echo "Du kan ej anmäla dig till denna tid!<br>";
//echo "<a href=\"anm_traning_multi.php\" target=\"_self\">-> OK <-</a>";
$update = "UPDATE anm_training_multi SET
par_id = '$par_id',
atm_id = '$at_id',
narvaro = '$narvaro',
t_grupp = '$t_grupp' WHERE par_id = '$par_id' and atm_id = '$at_id' LIMIT 1";
mysql_query($update);
// Ladda om sidan för att rensa POST-data
echo "<meta http-equiv=\"refresh\" content=\"0;URL=anm_traning_multi.php\">";
}
else {
// Gör en Insert i databasen om man ej är anmäld
$add_tran = "INSERT INTO anm_training_multi(par_id,narvaro,atm_id,t_grupp) VALUES ('$par_id','$narvaro','$at_id','$t_grupp')";
mysql_query($add_tran) or die("Något gick fel, försök igen eller ta kontakt med Janne A");
$_POST['tranare'] = "";
// Ladda om sidan för att rensa POST-data
//echo "<meta http-equiv=\"refresh\" content=\"0;URL=anm_traning_multi.php\">";
header ('Location: anm_traning_multi.php?');
}
}
else {
// Fel inloggningsuppgifter
echo "Användarnamnet eller lösenordet stämmer inte<br>";
echo "<a href=\"anm_traning_multi.php\" target=\"_self\">-> OK <-</a><br>";
echo "<a href=\"../tavlingar/password_reminder.php\" target=\"_self\">-Jag har glömt min inloggning!</a>";
return;
}
}
echo "</table>";
echo "</table>";
//**************************************
// Hämtar de som anmält sig till träning
//**************************************
$dagens_datum = date ("Y-m-d", mktime(0, 0, 0, date("m"), date("d"), date("Y")));
//$dagens_datum = "2009-09-23";
$p_datum = "";
$M_traning = "";
$query = "Select * from anm_training_multi, admin_training
WHERE admin_training.at_id = anm_training_multi.atm_id AND admin_training.at_datum >= curdate()
ORDER BY admin_training.at_datum, admin_training.at_tranare, admin_training.at_time, anm_training_multi.par_id asc, anm_training_multi.narvaro desc";
//$query1 = "Select * from anm_training_multi WHERE m_time != ' ' order by m_time asc";
$cursor = mysql_query($query) or die(mysql_error());
if ($cursor < 1){
echo "Ännu har inga anmält sig<br>";
return;
}
//Loopa ut inlagda par Ej mentalträning.
while ($row = mysql_fetch_array($cursor)) {
$par_id = $row['par_id'];
$datum = $row['tr_datum'];
$t_grupp = $row['t_grupp'];
$at_id = $row['atm_id'];
// Hämtar tränare, datum och tid
$query1 = "Select * FROM admin_training, add_tranare WHERE at_id = '$at_id' AND admin_training.at_tranare = add_tranare.Tran_id ORDER BY admin_training.at_time";
$resultat1 = mysql_query($query1) or die(mysql_error());
while ($rad1 = mysql_fetch_array($resultat1)){
$at_tranare = $rad1['tranare'];
$at_datum = $rad1['at_datum'];
$at_time = $rad1['at_time'];
$mental = $rad1['at_tranare'];
}
// ta bort :00 här för snyggare utskrift
$at_time = substr($at_time, 0, 5);
if ( $p_datum != $at_datum or $p_tranare != $at_tranare) {
$p_datum = $at_datum;
$p_tranare = $at_tranare;
$p_time = "";
// utskrift av träningsdatum
echo "<table width=\"600\" cellpadding=\"0\">";
echo "<tr>";
echo "<th colspan=\"4\"><div align=\"left\"><p> </p><h5>Anmälda inför träningen den $p_datum för $p_tranare</h5></div></th>";
echo "</tr>";
}
if ( $p_time != $at_time) {
$p_time = $at_time;
echo "<tr>";
echo "<th colspan=\"4\"><div align=\"left\"><b> $p_time</b></div></th>";
echo "</tr>";
}
if ($mental =="6"){
$row['narvaro'] = "0"; }
//Skriver rätt text för närvaro
switch ($row['narvaro']) {
case '0':
$a_narvaro = "";
break;
case '1':
$a_narvaro = "<span class=\"normal_red\">Kommer ej </span>";
break;
case '2':
$a_narvaro = "Kommer";
break;
}
// Hämtar ut info om paret
$query_ = "Select * from tavlings_par WHERE tpar_id = '$par_id'";
$resultat_ = mysql_query($query_) or die(mysql_error());
$rad_ = mysql_fetch_array($resultat_);
$k_namn = $rad_['k_namn'];
$t_namn = $rad_['t_namn'];
$klass = $rad_['klass'];
//Skriver ut tabellen
?>
<tr>
<td width="15"> </td>
<td width="290"><?php echo $k_namn ?> - <?php echo $t_namn ?> </td>
<td width="113"><?php echo $klass = str_replace("BS", "B35",$klass ); ?> </td>
<td width="105"><?php echo $a_narvaro?></td>
</tr>
<?php
}
echo "</table>";
if ($row == 1){
echo "Inga par finns att hitta<br>";
//return;
}
// ------------------
// Stänger anslutningen till vår databas
// ------------------
mysql_close($databas_link);
//Skriv ut tiden det tog att ladda sidan
$time_end = Getmicrotime();
$time = $time_end - $time_start;
$time = round($time,6);
echo "<p class=\"style1\">";
echo '<br><br>Sidan laddades på ' . $time . ' sekunder</p>';
?>
</BODY>
</HTML>


