webForumDet fria alternativet

Kollen går grus...

2 svar · 202 visningar · startad av GrodanBoll

GrodanBollMedlem sedan sep. 2001788 inlägg
#1

Tjo igen

Detta e en delkod från en sida där man ska kunna editera personuppgifter.
I denna kod, som jag har med här, så ska jag lista alla avdelningar företeget har samt vid vilka avdelningar som personen ifråga är medlem i samt vilken titel han/hon har vid den avdelningen.

Allt funkar bra förutom när jag ska kolla om personen redan är medlem, isåfall ska rutan vara ikryssad och titeln inskriven.

Denna kollen funkar grus. :(
Vad e det jag har gjort för fel? :q

Kollkoden e:
'if (strcmp ($tmpId, $avdelningId1[$k]) == 0)'


// denna fråga för att få fram vilka avdelningar som personen i fråga e medlem i samt vilken titel han/hon har
$sqlquery = "SELECT avdelningId, avdelningPersonalTitel FROM tblAvdelningPersonal WHERE personalSignatur = '$personalSignatur'";
$result = mssql_query($sqlquery,$dbconn) or die ("Error in query: $query.");

// lägger in dessa i arrayer för at användas senare vid kontroll
$avdelningId = array();
$avdelningPersonalTitel = array();
$x = 0;

while ($row = mssql_fetch_array($result))
{
	$strangen = "AvdelningID: ";
	$avdelningId1[$x] = $row["avdelningId"];
	$strangen .= $avdelningId1[$x];
	$strangen .= "  Titel: ";
	$avdelningPersonalTitel[$x] = $row["avdelningPersonalTitel"];
	$strangen .= $avdelningPersonalTitel[$x];
	$strangen .= "<br>\n";

	$x++;
}
mssql_free_result($result);

// denna fråga för att få fram alla avdelningar personen ifråga kan vara medlem i 
// (d.v.s. alla avdelningar på skolan)  :)
$sqlquery = "SELECT avdelningId, avdelningLangtNamn FROM tblAvdelning";
$result = mssql_query($sqlquery,$dbconn) or die ("Error in query: $query.");

$y = 0;
while ($row = mssql_fetch_array($result))
{
	$z = 0; // en kontrollvariabel som ändras till 1 om personen e medlem i denna avdelning
		
	$strangen = "<tr>\n<td>\n<input type='hidden' name='tblAvdelningAvdelningId[";
	$strangen .= $y;
	$strangen .= "]' value='";
	$tmpId = $row["avdelningId"];
	$strangen .= $tmpId;
	$strangen .= "'>\n";
	$strangen .= $row["avdelningLangtNamn"];
	$strangen .= ": ".$tmpId."<br>\n";
	$strangen .= "<input type='checkbox' name='tblAvdelningPersonalAvdelningId2[";
	$strangen .= $y;
	$strangen .= "]' value=''";
		// här kollar vi om personen är medlem i denna avdelning
		for ($k=0; $k<sizeof($avdelningId1); $k++)
		{
			if (strcmp ($tmpId, $avdelningId1[$k]) == 0)
			{
				$strangen .= " checked";
				$titel = $avdelningPersonalTitel[$k];
				$z = 1;
			}
		
		}
	$strangen .= "> \n<input type='text' name='tblAvdelningPersonalTiteltext[";
	$strangen .= $y;
	$strangen .= "]' class='notistext' value='";
		// här kollar vi om $z = 1, då lägger vi in titeln som personen har i denna avdelning
		if ($z == 1) {$strangen .= $titel;}
	$strangen .= "' size='50' maxlength='100'><br>";
		
	echo ($strangen." ".$z."</td>\n</tr>\n");
			
	$y++;
}

/Grodan :)

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Fungerar det aldrig för någon? T.ex. så nollställer du aldrig $z om du har fått någon match.

Varför gör du jämförelsen i PHP?

Om du gör en outer join mellan tblAvdelningPersonal och tblAvdelning så kan du få allt i en fråga.

$query = "select ap.avdelningPersonalTitel, a.avdelningLangtNamn from  tblAvdelningPersonal ap right outer join 
tblAvdelning a on ( ap.AvdelningID = a.AvdelningID and personalSignatur = '$personalSignatur' )";
$result = mssql_query($sqlquery,$dbconn) or die ("Error in query: $sqlquery.");
//
while ($row = mssql_fetch_array($result))
{
  if ( is_null($row["avdelningPersonalTitel"] ) {
//personen finns ej på denna avdelning
} else {
//personen finns på denna avdelning
}
}

------------------
essentitia preter non sans multiplicandum

GrodanBollMedlem sedan sep. 2001788 inlägg
#3

Jaaaaaaaaaaaaaaaaaa, fan oxå... att ma alltid ska göra det den krångliga vägen då :(

Bugar o tacka för dina alltid kloka råd Lars G :)

/Grodan

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