ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
182
182
EMPFEHLEN
-
24.09.08 11:39 #1
Hallo,
ich lerne grad PHP und probiere verschiedenes aus.
Nun habe ich eine Frage zum Verständnis von Funktionen. Also... wenn ich eine Funktion in eine externe Datei auslagern möchte (also ich hab da die Datei functions, wo nachher alle Funktionen drin stehen sollen), wie rufe ich die dann im Hauptprogramm wieder auf?
Ich hab zu Beginn die Verbindung zur Datenbank ausgelagert.
Und rufe das über include dann im Hauptprogramm auf. Habe ich nun aber mehrere Funktionen in dieser Datei (nicht nur die Datenbankverbindung), muss ich dann nicht sagen, was er wann ausfüren muss? Also z.B. so:PHP-Code:<html>
<body>
<?php
mysql_connect("","root","root");
mysql_select_db("user");
$res = mysql_query("select * from uebersicht");
$num = mysql_num_rows($res);
?>
</body
</html>
Sobald ich jedoch function davorsetze, kann er sich im Hauptprogramm nicht mehr mit der Datenbank verbinden, bzw. er kann die Variable $res und $num nicht mehr benutzen usw. Mache ich was falsch oder geht das mit dem Auslagern ganz anders?PHP-Code:<html>
<body>
<?php
function db_connect()
{
mysql_connect("","root","root");
mysql_select_db("user");
$res = mysql_query("select * from uebersicht");
$num = mysql_num_rows($res);
}
function naechste_funktion ()
{
blabliblubb
}
?>
</body
</html>
Grüße
JoeyNur sprechenden Menschen kann geholfen werden...
-
Funktionen werden nur ausgeführt, wenn du sie aufrufst.
Also du machst ein include, dann stehen dir die Funktionen so zur VErfügung, als wären sie in der selben Datei.
Dann kannst du sie zb per naechste_funktion(); aufrufen.
PHP-Code:include (datei2.php)
blabla
naechste_funktion();
PHP-Code:// Datei 2
function naechste_funktion () {
echo "hallo";
}
-
24.09.08 12:01 #3
Okay, das habe ich so probiert, erhalte aber leider nur eine Fehlermeldung (wie gesagt, mache ich es ohne function davor geht es).
Meine Funktion:
Und die Funktion eingebunden:PHP-Code:<html>
<body>
<?php
function db_connect()
{
mysql_connect("","root","root");
mysql_select_db("user");
$res = mysql_query("select * from uebersicht");
$num = mysql_num_rows($res);
}
?>
</body
</html>
Und die Fehlermeldung:PHP-Code:<html>
<body>
<?php
include "functions.php";
echo "<table border>";
echo "<tr> <td>Name</td> <td>Level</td>";
db_connect ();
while ($dsatz = mysql_fetch_assoc($res))
{
echo "<tr>";
echo "<td>" . $dsatz["Name"] . "</td>";
echo "<td>" . $dsatz["Level"] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
</body
</html>
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/web440/html/darkshadow/user/uebersicht.php on line 14
Heißt für mich... er kennt $res nicht... oder?Nur sprechenden Menschen kann geholfen werden...
-
24.09.08 12:04 #4
- Registriert seit
- Sep 2007
- Beiträge
- 527
Die Fehlermeldung ist bei mir weg wenn ich SELECT und FROM gross schreibe.
-
-
Also erstmal gehört in deine "functions.php" kein HTML-Code!
Es kann nicht funktionieren, weil du innerhalb deiner Funktion die Variable $res deklarierst, sie aber eigentlich ausserhalb deiner Funktion brauchst.
Probier mal folgendes:
funcions.php:
andere Datei:PHP-Code:<?php
function db_connect()
{
mysql_connect("","root","root");
mysql_select_db("user");
}
?>
PHP-Code:<html>
<body>
<?php
include "functions.php";
echo "<table border>";
echo "<tr> <td>Name</td> <td>Level</td>";
db_connect ();
$res = mysql_query("select * from uebersicht");
$num = mysql_num_rows($res);
while ($dsatz = mysql_fetch_assoc($res))
{
echo "<tr>";
echo "<td>" . $dsatz["Name"] . "</td>";
echo "<td>" . $dsatz["Level"] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
</body
</html>Die Welt ist binär: Entweder man ist eine Eins oder eine Null, tot oder lebendig! - Und ich? Lebe...
-
24.09.08 12:56 #7
Ja, das geht jetzt

Okay... und wenn ich nun noch weitere Funktionen aufrufen möchte, reicht es dann, wenn ich einmal am Anfang die Seite mit include einbinde?Nur sprechenden Menschen kann geholfen werden...
-
24.09.08 13:41 #8
- Registriert seit
- Dec 2003
- Ort
- Berlin
- Beiträge
- 7
durch einen include wird die angegebene datei in die wo der include steht eingebunden. es ist also so, als hättest du es direkt in der datei stehen.
wenn du funktionen aus der functions.php nutzen willst, so reicht es wenn du die functions.php einmalig includest am anfang der datei
-
Wenn du 2-Mal die Datei einbinden willst über den include-Befehl kommt wird eine Warnung kommen. Um zu verhindern, dass eine Datei mehrmals eingebunden wird kannst du include_once() nehmen.
Die Welt ist binär: Entweder man ist eine Eins oder eine Null, tot oder lebendig! - Und ich? Lebe...
Ähnliche Themen
-
verständnis frage!
Von rise6mi im Forum .NET Windows FormsAntworten: 5Letzter Beitrag: 05.08.08, 11:31 -
Verständnis Frage...
Von Radhad im Forum CSSAntworten: 3Letzter Beitrag: 18.10.06, 17:10 -
Sessions Verständnis Frage [z.B. Login]
Von versuch13 im Forum PHPAntworten: 2Letzter Beitrag: 08.09.06, 00:24 -
PHP -> MySQL Abfrage -> Frage zum Verständnis
Von Thomas Lindner im Forum PHPAntworten: 2Letzter Beitrag: 08.03.06, 17:38 -
Allgemeine verständnis Frage
Von Meccan im Forum PhotoshopAntworten: 4Letzter Beitrag: 07.06.05, 14:32





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren