webForumDet fria alternativet

Komma åt variabler...

1 svar · 200 visningar · startad av GrodanBoll

GrodanBollMedlem sedan sep. 2001788 inlägg
#1

Hej hej
Hur ska jag komma åt en variabel utanför en if-sats?
Koden ser ut så här:

/////
// Om formuläret e submitat -> visa sökresultatet
/////
	if ($submit)
	{
		// först ska jag omvandla formulärfälten till rätt sorts tecken (så att databasen kan läsa dem korrekt)
		$persFornamn = changeCharSweToDb($persFornamn);
		$persEfternamn = changeCharSweToDb($persEfternamn);
		
		$result = array();
		
		// då söker jag då
		// om man söker på mer än avdelning ska man bara visa där 'avdpersPrimarAnst = 2'
		if ($persFornamn != '' || $persEfternamn != '')
		{
			global $result;
			
			$sqlquery = "SELECT p.persId, p.persFornamn, p.persEfternamn, a.avdLangtNamn, ap.avdpersTitel FROM tblPerson p INNER JOIN tblAvdelningPerson ap ON p.persId = ap.persId INNER JOIN tblAvdelning a ON ap.avdId = a.avdId WHERE p.persFornamn LIKE '%$persFornamn%' AND p.persEfternamn LIKE '%$persEfternamn%' AND a.avdId LIKE '$avdId' AND ap.avdpersPrimarAnst = '1'";
			$result = mssql_query($sqlquery,$dbconn) or die ("Error in query: $query.");
		}
		// om man endast väljer att visa en avdelning, då måste man visa alla personer där (både '2' och '1' för 'avdpersPrimarAnst')
		if ($persFornamn = '' & $persEfternamn = '')
		{
			global $result;
			
			$sqlquery = "SELECT p.persId, p.persFornamn, p.persEfternamn, a.avdLangtNamn, ap.avdpersTitel FROM tblPerson p INNER JOIN tblAvdelningPerson ap ON p.persId = ap.persId INNER JOIN tblAvdelning a ON ap.avdId = a.avdId WHERE a.avdId LIKE '$avdId'";
			$result = mssql_query($sqlquery,$dbconn) or die ("Error in query: $query.");
		}
		
		while ($row = mssql_fetch_array($result))
		{
			$strangen = changeCharSweFrDbShow($row["persFornamn"])." ".changeCharSweFrDbShow($row["persEfternamn"])." - ".changeCharSweFrDbShow($row["avdLangtNamn"])." - ".changeCharSweFrDbShow($row["avdpersTitel"])."<br>\n";
			echo $strangen;
		}
	
	}

Här vil jag alltså komma åt '$resultat', men det funkar inte... hur ska jag göra? :q

Bugar o tackar på förhand :)

/Grodan

DmSMedlem sedan dec. 200049 inlägg
#2

Hm, en fråga, du skriver att du vill komma åt "$resultat", i scriptet heter den variabeln "$result".

Annars så ska variabeln (vad jag vet) vara tillgänglig utan problem om det du har där är hela scriptet.

Jobbar du med variabeln inom en funktion coh vill komma åt den utanför funktionen eller i en annan funktion är det lite annorlunda.

En variabel skapad inom en funktion är normalt bara tillgänglig inom den funktionen, du kan dock skapa en global variabel inuti funktionen som du kan komma åt utanför, eller i en annan funktion, men då måste du tala om för php att du vill det genom att deklarera variabeln igen i nästa funktion, som global.
exempel:

function setGlobalValue($fraga){
global $svar;
//gör en massa här
return $svar;
}

function useGlobalValue(){
global $svar;
//använd $svar
}

Se gärna manualen http://www.php.net/manual/en/language.variables.scope.php

//Dan

------------------
Freedom without discipline is chaos. Discipline without freedom is tyranny.
DmSProject

[Redigerat av DmS den 18 jan 2002]

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