f-thies.de Foren-Übersicht
 Portal  •  FAQ •  Suchen •  Einstellungen  • Benutzergruppen  • Registrieren  • Profil  • Einloggen, um private Nachrichten zu lesen  • Login
Kalender 
Nächstes Thema anzeigen
Vorheriges Thema anzeigen

Neues Thema eröffnenNeue Antwort erstellen Vorheriges Thema anzeigenDieses Thema verschickenZeige Benutzer, die dieses Thema gesehen habenDieses Thema als Datei sichernPrintable versionEinloggen, um private Nachrichten zu lesenNächstes Thema anzeigen
Autor Nachricht
Torak
Newbie
Newbie


Alter: 29
Anmeldungsdatum: 20.12.2004
Beiträge: 7
Wohnort: Wien Umgebung
austria.gif
BeitragVerfasst: Mo 20 Dez, 2004 10:31 pm  Titel: Frage Rückgabewerte von Funktionen Antworten mit ZitatNach untenNach oben

Ich hab in einem PHP File diese Funktion:
PHP:
<?php function Ort($DBName)
{
    
$query "Select * From $DBName";
    
$result mysql_query($query);
    if ( !
$result )
        print 
"vars.Ort.L20 Fehler: ".mysql_error()."<BR>";
    else
    {
        
$fMenge mysql_num_fields($result);
        
$rMenge mysql_num_rows($result);
        for (
$y=0;$y<$rMenge;$y++)
        {
            
$row[$y] = mysql_fetch_row($result);
        }
        return 
$row;
    }                            


Aber wenn ich nun diese Funktion in einem anderen PHP File aufrufe, wo diese PHP Datei via "include" übergeben wurde. So liefert mir diese einfach nichts zurück. Weiß einer wie ich das am besten löse bzw. was ich daran falsch mache ?

Danke im vorraus

P.S.: Das Zweidimensionale Array ist einfach nur leer (Leerstring) Crying


Skorpion Geschlecht:Männlich Hund OfflinePersönliche Galerie von TorakBenutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchen
Google







Verfasst:   Titel: Sponsored Link Nach untenNach oben



  
Thies
Webmaster
Webmaster


Alter: 43
Anmeldungsdatum: 04.08.2003
Beiträge: 1424
Wohnort: Thüringen
blank.gif
BeitragVerfasst: Mo 20 Dez, 2004 10:47 pm  Titel:  (Kein Titel) Antworten mit ZitatNach untenNach oben

Ohne den Rest, der die übergebenen Daten verarbeitet, kann man nicht viel erkennen, ich glaube noch nicht mal, dass es an der function liegt, müsste das aber erst testen Smile

Bist Du denn sicher, dass Daten vorhanden sind. Resp.: Du weisst, dass Du nun "komplizierte" Arrays hast, oder. Vor der Zeile

return $row

füge mal

print_r($row) ein und schaue Dir mal das Ergebnis an. Dann weisst Du was ich meine.


Ausserdem würde ich die Routine etwas umstellen:

Anstelle

PHP:
<?php $rMenge mysql_num_rows($result); 
        for (
$y=0;$y<$rMenge;$y++) 
        { 
            
$row[$y] = mysql_fetch_row($result); 
        } 
        return 
$row


würde ich

PHP:
<?php while ($rowset mysql_fetch_array($result)) 
        {
        
$row[]  = $rowset;
        } 

Dürfte etwas schneller sein. Schau mal nach unter http://de.php.net/manual/de/function.mysql-fetch-array.php

CU

Frank-Andre

_________________
if ( $ahnung == 'keine' ) { use ( Suche ) }
if ( $antwort == 0 ) { post ( $frage ) }


Image

Schütze Geschlecht:Männlich Affe OfflinePersönliche Galerie von ThiesBenutzer-Profile anzeigenPrivate Nachricht sendenE-Mail sendenWebsite dieses Benutzers besuchen
Torak
Newbie
Newbie


Alter: 29
Anmeldungsdatum: 20.12.2004
Beiträge: 7
Wohnort: Wien Umgebung
austria.gif
BeitragVerfasst: Di 21 Dez, 2004 9:18 am  Titel:  (Kein Titel) Antworten mit ZitatNach untenNach oben

Naja, wenn ich mir die einzelnen Werte in der Schleife ausgeben lasse, kommen eh die richtigen Werte, nur wenn ich die dann in der Hauptfunktion via $wert = Ort(Übergabeparameter); aufrufe ist dann $wert einfach nur leer Wink

Toll: In PHP kann man nicht einfach Funktionen mit rückgabewerten von includierten Dateien verwenden, da müsste ich für jede Funktion eine eigene PHP Datei schreiben. Da kopier ich mir lieber die Funktion jedesmal am Anfang hin Wink

Aber danke für den Tipp Wink

_________________
if ($Programmiersprache = "PHP") && ($Programmierer = "Torak")
make nothing();
else
do Code();

Skorpion Geschlecht:Männlich Hund OfflinePersönliche Galerie von TorakBenutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchen
Thies
Webmaster
Webmaster


Alter: 43
Anmeldungsdatum: 04.08.2003
Beiträge: 1424
Wohnort: Thüringen
blank.gif
BeitragVerfasst: Di 21 Dez, 2004 9:25 am  Titel:  (Kein Titel) Antworten mit ZitatNach untenNach oben

Also ich habe meine Funktionen alle ausgelagert in eine function.inc.php und kann hervorragend damit arbeiten (auch nach dem includen). Verstehe daher nicht so ganz, warum das bei Dir nicht geht .....

Frank-Andre

_________________
if ( $ahnung == 'keine' ) { use ( Suche ) }
if ( $antwort == 0 ) { post ( $frage ) }


Image

Schütze Geschlecht:Männlich Affe OfflinePersönliche Galerie von ThiesBenutzer-Profile anzeigenPrivate Nachricht sendenE-Mail sendenWebsite dieses Benutzers besuchen
Torak
Newbie
Newbie


Alter: 29
Anmeldungsdatum: 20.12.2004
Beiträge: 7
Wohnort: Wien Umgebung
austria.gif
BeitragVerfasst: Di 21 Dez, 2004 9:47 am  Titel:  (Kein Titel) Antworten mit ZitatNach untenNach oben

Hmm, echt komischt. Wie machst du dass denn das diese Funktionen einen Wert an die aufrufende Funktion zurückliefern ?

Keine Ahnung was ich jetzt gemacht habe aber es funkt jetzt Wink

_________________
if ($Programmiersprache = "PHP") && ($Programmierer = "Torak")
make nothing();
else
do Code();

Skorpion Geschlecht:Männlich Hund OfflinePersönliche Galerie von TorakBenutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchen
Thies
Webmaster
Webmaster


Alter: 43
Anmeldungsdatum: 04.08.2003
Beiträge: 1424
Wohnort: Thüringen
blank.gif
BeitragVerfasst: Di 21 Dez, 2004 12:19 pm  Titel:  (Kein Titel) Antworten mit ZitatNach untenNach oben

Wichtig ist, dass der include vor dem Aufruf erfolgt. Das ist meines Wissens das einzige, worauf man achten muss.

Frank-Andre

_________________
if ( $ahnung == 'keine' ) { use ( Suche ) }
if ( $antwort == 0 ) { post ( $frage ) }


Image

Schütze Geschlecht:Männlich Affe OfflinePersönliche Galerie von ThiesBenutzer-Profile anzeigenPrivate Nachricht sendenE-Mail sendenWebsite dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen Vorheriges Thema anzeigenDieses Thema verschickenZeige Benutzer, die dieses Thema gesehen habenDieses Thema als Datei sichernPrintable versionEinloggen, um private Nachrichten zu lesenNächstes Thema anzeigen

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen


Alle Zeiten sind GMT + 1 Stunde

Forensicherheit

2510 Angriffe abgewehrt
Powered by phpBB2 Plus, phpBB Styles and Kostenloses Forum based on phpBB © 2001/6 phpBB Group :: FI Theme :: Mods und Credits

www.jamba.at - Klingeltoene Logos Handyspiele
Sichern Sie sich jetzt alle 64 Spiele der FIFA WM 2006 für einmalig nur 49 EUR!