PHP Funktion über mehrere <?php ?> Tags
-
variablen muessen von wo kommen.
die funktion hat keine parameter.
-
Hallo,
siehe:
http://de.php.net/globalbtw. ein wenig abstraker auch:
http://de.wikipedia.org/wiki/Variable_(Programmierung)#G.C3.BCltigkeitsbereich_von_Variablen_.28Scope.29
(url-BBCode funktioniert leider nicht richtig; Link per Hand kopieren)
-
Ah Sry^^
Projektsatz ist global und i wird dort erst deklariert
-
naja - wenn du die funktion das erste mal aufrufst, holst du alle results
jeder weitere aufruf wird also keine weiteren results bringen
-
Warum?
Und Warum bekomm ich dann nie was zu sehen?
Und warum gehts denn dann wenn ich den Code direkt "tippe"?
-
Versuch's mal so:
function GetDropDownList() { global $DataCnt, $ProjektSatz; // Hier musst Du sagen, dass das globale Variablen sind, die Du benutzt for($i = 0;$i < $DataCnt; $i++) { $Projekt = mysql_result($ProjektSatz, $i, "Name"); echo "<option>".$Projekt."</option>"; } }
-
@Pille456
Hast du dir die von mir geposteten Links überhaupt auch nur einmal angesehen? ...
-
Klar hab ich mir die angesehen...
Ich hab das Tutorial ausm quakenet zum Thema PHP durchgearbeitet und kenn mich daher mit der Verwendung von "global" aus.Ich hab die Variablen mit "global" voher deklariert. In der Übersicht sieht das ungefär so aus:
<?php function Blaa() { globale MeineVaiablen, Bla,Bub; //Mach irgendwas mit den Variablen } function GetDropDownList() { //das wäre dann GetDropDownList(); } //Noch ein bissel php-Code Blaa(); //Variablen werden initialisiert... ?> <!-- HTMl-Tags --> <?php GetDropDownList(); ?> <!-- HTMl-Code --> <?php GetDropDownList(); ?> <!--Noch mehr HTML --> <?php GetDropDownList(); ?> <!-- Ender der Datei -->
-
Du weisst aber schon, dass das 'global' in jede Funktion gehört, wo Du die globalen Variablen verwendest, oder?
Die einfach nur in 'Blaa' global zu verwenden reicht nicht, in 'GetDropDownList' muss auch ein 'global' rein.
-
Du meinst so:
function Bla() { global $Blub; } function GetDropDownList() { if (global $blub == 0) MachWas(); }
Wenn ja, dann wusste ich das nicht...
-
Nein, ich meine so:
function Bla() { global $Blub; $Blub = 0; // oder sonst was } function GetDropDownList() { global $Blub; $Blub = ...; }
Nur so verwendest Du in beiden Fällen das globale $Blub.
-
Ok, dass wusste ich echt nicht - danke.
Ich probiers gleich mal aus(kann nur hoffen die funpic-server gehen wieder)EDIT: Danke, hat geklappt...endlich^^
-
Ich würde while benutzen anstatts die for schleife ist auch einfacher
while($row = mysql_fetch_assoc($result)) { echo $row['name']; }