CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
25.06.2002, 17:46:04
|
|
Junior Member
|
|
Registriert seit: May 2002
Ort: Großkuchen
Alter: 37
Beiträge: 177
|
|
so ein shitt
Ich brauche Hilfe!
Bis jetzt konnte ich mich um functions Funktionen immer drücken und ich hab das problem das ich jetzt keine Ahnung hab wie sie funzen...
wer kann mir die innere logig einer function nahebringen?
THX im vorraus;::
__________________
Man muss doch nicht den Bach hinunter gehen ...
Runter schwimmen geht doch viel schneller
|
25.06.2002, 18:47:07
|
Anfänger
|
|
Registriert seit: Jun 2002
Ort: Grünstadt
Alter: 43
Beiträge: 28
|
|
Funktionen
Heißt das, du hast in gar keiner Programmiersprache mit Funktionen gearbeitet?
|
25.06.2002, 18:57:17
|
|
Junior Member
|
|
Registriert seit: May 2002
Ort: Großkuchen
Alter: 37
Beiträge: 177
|
|
nein bis jetzt konnte ich mich geschikt drum rum schmuggeln
__________________
Man muss doch nicht den Bach hinunter gehen ...
Runter schwimmen geht doch viel schneller
|
25.06.2002, 19:40:50
|
Anfänger
|
|
Registriert seit: Jun 2002
Ort: Grünstadt
Alter: 43
Beiträge: 28
|
|
Respekt, ich hatte das nicht geschafft ;)
Das ist eine so grundlegende Frage, dass ich dir schon fast raten möchte in irgendeinem Buch von irgendeiner Programmiersprache das Thema Funktionen durchzulesen. Es ist wirklich nicht schwer.
Funktionen kann man für verschiedene Zwecke gebrauchen. Die einfachste Art ist wohl, dass man den Code, der oft durchlaufen werden muss, nur ein Mal eingeben muss.
Eigentlich kann in einer Funktion in etwas das gleiche stehen wie ausserhalb. Es gibt auch rekursive Funktionen, doch die habe ich noch nie verstanden.
Na ja, is nicht grad ne tolle Hilfe, gibt bestimmt Leute hier, die sich damit besser auskennen, hoffe hilft dir trotzdem irgendwie weiter.
Was heisst innere Logik? Ist doch genauso, wie der Rest des Codes auch?
Also irgendwo im Programmcode wird ein Wert an eine function weitergegeben. Welche Werte das sein müssen, steht i. d. Regel hinter dem Funktionsnamen z. B.
eine_funktion(wert)
Dieser Wert wird dann innerhalb der Funktion weiterbearbeitet usw...
Also wenn ich hier Schwachsinn geschrieben habe, dann sagt mir bescheid.
|
25.06.2002, 19:46:41
|
|
Junior Member
|
|
Registriert seit: May 2002
Ort: Großkuchen
Alter: 37
Beiträge: 177
|
|
ich will das hier in ne funktion einpacken die von einer anderen seite aufgerufen werden soll
PHP-Code:
<?
function menu ($Prefix, $Suffix, $Site, $Sprache, $SelectedClass)
{
}
{
$conn_id = odbc_connect("ghm","","");
$sqlstring = "SELECT *
FROM Sprachen
INNER JOIN (Sites
INNER JOIN ((Matchcodes
INNER JOIN Menu_Struct ON Matchcodes.MatchID = Menu_Struct.MatchID)
INNER JOIN Menu_Data ON (Menu_Data.SiteID = Menu_Struct.SiteID) AND (Menu_Struct.MenuID = Menu_Data.MenuID))
ON (Sites.SiteID = Menu_Struct.SiteID) AND (Sites.SiteID = Matchcodes.SiteID))
ON Sprachen.SpracheID = Menu_Data.SpracheID
WHERE (Sprachen.SpracheMatch = '".$Sprache."')
AND ((Menu_Struct.Invisible IS NULL) OR (Menu_Struct.Invisible = 0))
AND (Sites.SiteMatch = '".$Site."')";
if ($TopLevMenu == -1)
{
$sqlstr = $sqlstring . 'AND (Menu_Struct.ParentItem IS NULL)';
}
else
{
$sqlstr = $sqlstring . " AND (Menu_Struct.ParentItem IN ( SELECT Menu_Struct.MenuID
FROM Sites INNER JOIN (Matchcodes INNER JOIN Menu_Struct
ON Matchcodes.MatchID = Menu_Struct.MatchID)
ON (Sites.SiteID = Menu_Struct.SiteID) AND (Sites.SiteID = Matchcodes.SiteID)
WHERE (Matchcodes.Matchcode = '".$Page."')
AND (Sites.SiteMatch = '".$Site."') )";
};
$sqlstring = $sqlstring . "ORDER BY Menu_Struct.MenuID";
$Tab = odbc_exec($conn_id, $sqlstring);
if (odbc_result($Tab, "SiteID")=='')
{
$sqlstring = "SELECT *
FROM Sprachen
INNER JOIN (Sites
INNER JOIN ((Matchcodes
INNER JOIN Menu_Struct ON Matchcodes.MatchID = Menu_Struct.MatchID)
INNER JOIN Menu_Data ON (Menu_Data.SiteID = Menu_Struct.SiteID) AND (Menu_Struct.MenuID = Menu_Data.MenuID))
ON (Sites.SiteID = Menu_Struct.SiteID) AND (Sites.SiteID = Matchcodes.SiteID))
ON Sprachen.SpracheID = Menu_Data.SpracheID
WHERE (Sprachen.SpracheMatch = '".$Sprache."')
AND ((Menu_Struct.Invisible IS NULL) OR (Menu_Struct.Invisible = 0))
AND (Sites.SiteMatch = '".$Site."')";
if ($TopLevMenu == -1)
{
$sqlstr = $sqlstring . 'AND (Menu_Struct.ParentItem IS NULL)';
}
else
{
$sqlstr = $sqlstring . " AND (Menu_Struct.ParentItem IN ( SELECT Menu_Struct.ParentItem
FROM Sites INNER JOIN (Matchcodes INNER JOIN Menu_Struct
ON Matchcodes.MatchID = Menu_Struct.MatchID)
ON (Sites.SiteID = Menu_Struct.SiteID) AND (Sites.SiteID = Matchcodes.SiteID)
WHERE (Matchcodes.Matchcode = '".$Page."')
AND (Sites.SiteMatch = '".$Site."') )";
};
$sqlstring = $sqlstring . "ORDER BY Menu_Struct.MenuID";
$Tab = odbc_exec($conn_id, $sqlstring);
};
DO {
$Matchcode = odbc_result($Tab,"Matchcode");
$LinkText = odbc_result($Tab,"LinkText");
echo '<a href="">'.$Matchcode.'</a>';
}
while ( odbc_fetch_row($Tab) );
};
?>
so sieht es gerade aus und ich weis net genau wie ich das mach das soll ne navigation werden....
THX:
//@X
__________________
Man muss doch nicht den Bach hinunter gehen ...
Runter schwimmen geht doch viel schneller
|
26.06.2002, 13:49:16
|
|
Füge das ganze in eine eigene Datei (Bsp.: menu.inc) schreibe dann
function NAMEDERFUNKTION(Variablenliste) {
//-- Quelltext der in die Funktion soll
}
Auf der Seite in der Du die Funktion aufrufen willst schreibst Du:
include "pfadzuderdatei/menu.inc";
NAMEDERFUNKTION(Variablen).
Natürlich mußt die Platzhalter durch die tatsächlichen Werte ersetzen.
Probiers mal aus und wenns Probleme gibt, poste es hier.
|
26.06.2002, 14:05:53
|
|
Junior Member
|
|
Registriert seit: May 2002
Ort: Großkuchen
Alter: 37
Beiträge: 177
|
|
Zitat:
Original geschrieben von Ben20
Füge das ganze in eine eigene Datei (Bsp.: menu.inc) schreibe dann
function NAMEDERFUNKTION(Variablenliste) {
//-- Quelltext der in die Funktion soll
}
Auf der Seite in der Du die Funktion aufrufen willst schreibst Du:
include "pfadzuderdatei/menu.inc";
NAMEDERFUNKTION(Variablen).
Natürlich mußt die Platzhalter durch die tatsächlichen Werte ersetzen.
Probiers mal aus und wenns Probleme gibt, poste es hier.
|
Das ist ja fast zu easy wo ist der ha-ha-haken?
__________________
Man muss doch nicht den Bach hinunter gehen ...
Runter schwimmen geht doch viel schneller
|
26.06.2002, 14:27:06
|
|
Junior Member
|
|
Registriert seit: May 2002
Ort: Großkuchen
Alter: 37
Beiträge: 177
|
|
Ok ich hab zwei seiten :
index.php und menu.php...
in der index steht jetzt:
PHP-Code:
<?
if (isset($Page))
{
include ('menu.php');
menu($Prefix, $Suffix, $Site, $Sprache, $SelectedClass);
}
?>
und das menue:
PHP-Code:
<?
function menu ($Prefix, $Suffix, $Site, $Sprache, $SelectedClass)
{
$conn_id = odbc_connect("ghm","","");
$sqlstring = "SELECT *
FROM Sprachen
INNER JOIN (Sites
INNER JOIN ((Matchcodes
INNER JOIN Menu_Struct ON Matchcodes.MatchID = Menu_Struct.MatchID)
INNER JOIN Menu_Data ON (Menu_Data.SiteID = Menu_Struct.SiteID) AND (Menu_Struct.MenuID = Menu_Data.MenuID))
ON (Sites.SiteID = Menu_Struct.SiteID) AND (Sites.SiteID = Matchcodes.SiteID))
ON Sprachen.SpracheID = Menu_Data.SpracheID
WHERE (Sprachen.SpracheMatch = '".$Sprache."')
AND ((Menu_Struct.Invisible IS NULL) OR (Menu_Struct.Invisible = 0))
AND (Sites.SiteMatch = '".$Site."')";
if ($TopLevMenu == -1)
{
$sqlstr = $sqlstring . 'AND (Menu_Struct.ParentItem IS NULL)';
}
else
{
$sqlstr = $sqlstring . " AND (Menu_Struct.ParentItem IN ( SELECT Menu_Struct.MenuID
FROM Sites INNER JOIN (Matchcodes INNER JOIN Menu_Struct
ON Matchcodes.MatchID = Menu_Struct.MatchID)
ON (Sites.SiteID = Menu_Struct.SiteID) AND (Sites.SiteID = Matchcodes.SiteID)
WHERE (Matchcodes.Matchcode = '".$Page."')
AND (Sites.SiteMatch = '".$Site."') )";
}
$sqlstring = $sqlstring . "ORDER BY Menu_Struct.MenuID";
$Tab = odbc_exec($conn_id, $sqlstring);
if (odbc_result($Tab, "SiteID")=='')
{
$sqlstring = "SELECT *
FROM Sprachen
INNER JOIN (Sites
INNER JOIN ((Matchcodes
INNER JOIN Menu_Struct ON Matchcodes.MatchID = Menu_Struct.MatchID)
INNER JOIN Menu_Data ON (Menu_Data.SiteID = Menu_Struct.SiteID) AND (Menu_Struct.MenuID = Menu_Data.MenuID))
ON (Sites.SiteID = Menu_Struct.SiteID) AND (Sites.SiteID = Matchcodes.SiteID))
ON Sprachen.SpracheID = Menu_Data.SpracheID
WHERE (Sprachen.SpracheMatch = '".$Sprache."')
AND ((Menu_Struct.Invisible IS NULL) OR (Menu_Struct.Invisible = 0))
AND (Sites.SiteMatch = '".$Site."')";
}
if ($TopLevMenu == -1)
{
$sqlstr = $sqlstring . 'AND (Menu_Struct.ParentItem IS NULL)';
}
else
{
$sqlstr = $sqlstring . " AND (Menu_Struct.ParentItem IN ( SELECT Menu_Struct.ParentItem
FROM Sites INNER JOIN (Matchcodes INNER JOIN Menu_Struct
ON Matchcodes.MatchID = Menu_Struct.MatchID)
ON (Sites.SiteID = Menu_Struct.SiteID) AND (Sites.SiteID = Matchcodes.SiteID)
WHERE (Matchcodes.Matchcode = '".$Page."')
AND (Sites.SiteMatch = '".$Site."') )";
}
$sqlstring = $sqlstring . "ORDER BY Menu_Struct.MenuID";
$Tab = odbc_exec($conn_id, $sqlstring);
DO {
$Matchcode = odbc_result($Tab,"Matchcode");
$LinkText = odbc_result($Tab,"LinkText");
echo '<a href="?Site='.$Site.'&Sprache='.$Sprache.'&Page='.$Matchcode.'" target="_self">'.$LinkText.'</a>';
echo '<br>';
}
while ( odbc_fetch_row($Tab) );
}
?>
darauf kommt dann das:
Warning: SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler (fehlender Operator) in Abfrageausdruck 'Menu_Struct.MenuIDORDER BY Menu_Struct.MenuID'., SQL state 37000 in SQLExecDirect in SIHV_CM_Menu.php on line 66
Warning: Supplied argument is not a valid ODBC result resource in SIHV_CM_Menu.php on line 68
Warning: Supplied argument is not a valid ODBC result resource in SIHV_CM_Menu.php on line 69
Warning: Supplied argument is not a valid ODBC result resource in SIHV_CM_Menu.php on line 73
Geändert von Nonstop (26.06.2002 um 14:30:08 Uhr)
|
26.06.2002, 15:47:26
|
|
Die Funktion wird richtig aufgerufen, aber irgendwo ist ein Fehler in der Datenbankabfrage. Überprüf' mal ob Du in dem $sqlstring nirgendwo eine Klammer oder ein Komma oder sowas vergessen hast.
|
26.06.2002, 15:49:39
|
|
Junior Member
|
|
Registriert seit: May 2002
Ort: Großkuchen
Alter: 37
Beiträge: 177
|
|
Schon gefunden
Ich hab zwei beirrende Varis drin Sqlstr un Sqlstring. da liegt der fehler!
THX für deine hilfe
__________________
Man muss doch nicht den Bach hinunter gehen ...
Runter schwimmen geht doch viel schneller
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:00:53 Uhr.
|