webForumDet fria alternativet

Problem med sessioner...

0 svar · 175 visningar · startad av GrodanBoll

GrodanBollMedlem sedan sep. 2001788 inlägg
#1

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])."&nbsp;</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 :)

134 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)