Hej hej
Jag har gjort en funktion som inte fungerar klockrent.
Den fungerar på så sätt att den utgår från en sessionsarray (som funkar bra) som innehåller spelarid, sen slår den upp informationer om spelaren i databasen (om sessionsarrayn innehåller något). Denna information lopar den sedan ut i en tabell.
Problemet blir ibland, inte alltid, då den inte hittar rätt spelarinfo iförhållande till sessionsarrayid.
D.v.s. i denna kodbiten:
if ($_SESSION['session_avd_medlId'][$i] == $rowMedl['medlId'])
Utan ibland så lägger den upp samma namn flera gånger efter varandra.
'Hela' kodbiten:
// LAJNA UPP medlemmarna från sessionsarrayn
echo "<table width=\"550\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\">";
// loopar ut från sessionvariablerna
// ta fram alla spelarna som e med i session_avd_medlId ur databasen
// vi kollar dock först så att det finns någe data i arrayn 'session_avd_medlId', annars blir sqlfrågan nedan fel
if (count($_SESSION['session_avd_medlId']) > 0)
{
$query = "SELECT m.medlId, m.medlFornamn, m.medlEfternamn FROM tblmedlem m INNER JOIN tblavdelningmedlem am ON m.medlId = am.medlId WHERE m.medlId IN (".implode(',',$_SESSION['session_avd_medlId']).") ORDER BY m.medlEfternamn";
$resultMedl = mysql_query($query) or die("Query failed: ".$query."<br />\n<b>Fel</b>: ".mysql_error());
}
for ($i = 0; $i < (count ($_SESSION['session_avd_medlId'])); $i++)
{
// först ska jag leta fram förnamn och efternamn för detta index medlId
while ($rowMedl = mysql_fetch_array($resultMedl))
{
if ($_SESSION['session_avd_medlId'][$i] == $rowMedl['medlId'])
{
$medlId = $rowMedl['medlId'];
$fornamn = $rowMedl['medlFornamn'];
$efternamn = $rowMedl['medlEfternamn'];
}
}
// vi kollar dock först så att det finns någe data i arrayn 'session_avd_medlId'
if (count($_SESSION['session_avd_medlId']) > 0)
{
mysql_data_seek($resultMedl, 0);
}
echo "<tr>\n";
echo "<td witdh=\"150\" valign=\"top\"><a href=\"medlem.php?action=show&medlId=".$_SESSION['session_avd_medlId'][$i]."\">".$fornamn." ".$efternamn."</a> [".$medlId."]</td>\n";
echo "<td witdh=\"150\" valign=\"top\">".$_SESSION['session_avd_avdmedlTyp'][$i]."</td>\n";
echo "<td witdh=\"200\" valign=\"top\">".stripslashes ($_SESSION['session_avd_avdmedlBeskrivning'][$i])." </td>\n";
echo "<td width=\"50\" valign=\"top\" align=\"right\" class=\"notistext\"><a href=\"medlem.php?action=editeraavdmedlavd&avdId=".$_REQUEST['avdId']."&submit=editeraavdmedlavdDel&i=".$i."\">radera</td>\n";
echo "</tr>\n";
}
// vi kollar dock först så att det finns någe data i arrayn 'session_avd_medlId', annars genererar kommandot nedan en varning
if (count($_SESSION['session_avd_medlId']) > 0)
{
mysql_free_result($resultMedl);
}
echo "</table>";
Hade varit sketatacksam för någe svar, jag fattar inte varför det strular... :q
Sorry för alla indragen oxå, hoppas att det funkar att läsa ändå.
/Grodan :)