PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   function - problem (ka woran es liegt) (http://www.selfphp.de/forum/showthread.php?t=5650)

theadamdy 30.09.2003 00:26:24

function - problem (ka woran es liegt)
 
vielleicht übersehe ich einfach auch nur eine kleinigkeit, aber ich hab schon alles probiert in zich variationen: nix klappt.

Es soll ein Spielplan erstellt werden. Die Mannschaftsnamen sind in einer csv-datei gespeichert und ausgelesen.
Der Spielplan soll mittels einer while-schleife generiert werden, dazu ist eine function nötig, die die richtige namen ausgibt.

Den Quelltext gibts unter mitglied.lycos.de/theadamdy/problem.txt


hoffe ihr könnt mir helfen!!!

mfg adam

Ben20 30.09.2003 10:54:54

Was genau ist eigentlich das Problem, wird die Funktion nicht aufgerufen, oder kommen die falschen Werte raus, oder oder oder?

Matthias 30.09.2003 11:01:46

Bekommst du eine Fehlermeldung?

Was ich jetzt beim überfliegen gefunden habe war dein Aufruf der Funktion fgetcsv.
PHP-Code:

$spielplan=fgetcsv($datei1,$dateigroesse1,";"); 

Schau dir mal das Beispiel an:
http://www.selfphp.info/funktionsref...en/fgetcsv.php

theadamdy 30.09.2003 11:26:16

Das Problem ist, dass keine Ausgabe erfolgt. Der Vereinsname wird nicht ausgegeben.

Hab auch getestet ob was mit dem Laden der csv-datei nicht stimmt indem ich am ende des Codes
PHP-Code:

echo $teams[1

versuchte. Und da erfolgte die Ausgabe, folglich ist die Datei korrekt geladen worden.

Um es noch genauer zu konkretisieren:
per
PHP-Code:

edit($spielplan[$s]] 

wird die
PHP-Code:

function edit[$wert

aufgerufen. Die prüft mit dem Übergabewert $wert und einer switch abfrage folgendes:
PHP-Code:

switch ($wert) { 
case 
"team2" 
echo 
$teams[1]; 
break; 

Der String "team2" steht in $spielplan[$s] und der richtige Vereinsname kommt aus dem Array $teams, in diesem Fall wäre es $teams[1]

Ben20 30.09.2003 11:45:54

Evtl. könnte es dran liegen, dass an "team2" noch ein unsichtbares Zeichen (z.B. ein Tabulator) dranhängt.

mach aus switch($wert) mal ein

switch(trim($wert))

vielleicht gehts dann.

theadamdy 30.09.2003 11:57:21

nein, leider nicht.

wie gesagt, ich bin ratlos, und wüßte auch nicht was ich euch sonst ncoh sagen könnte.

bin mir fast sicher, ass irgendwo eine blöde kleinigkit fehlt.....

chris17 30.09.2003 12:19:58

Hallo zusammen,
PHP-Code:

function edit($wert) {

global 
$teams// <- Das da!!!

switch($wert) {
case 
'team1':
     echo 
''.$teams[0].'';
break;
case 
'team2':
       echo 
''.$teams[1].'';
break;
case 
'team3':
     echo 
''.$teams[2].'';
break;
case 
'team4':
     echo 
''.$teams[3].'';
break;
case 
'team5':
     echo 
''.$teams[4].'';
break;
case 
'team6':
     echo 
''.$teams[5].'';
break;
case 
'team7':
     echo 
''.$teams[6].'';
break;
case 
'team8':
     echo 
''.$teams[7].'';
break;
default:
echo 
''.$fehler.'';
}


Gruss

chris17

theadamdy 30.09.2003 13:12:35

danke vielenmals!!!
hab es probiert und es geht. habe auch schon über die globals bescheid gewustt, aber naja, wie das nun mal so ist.

habe aber inzwischen noch einen anderen weg gefunden, der ohne die function auskommt und somit kürzer und einfacher ist.

aber trotzdem vielen dank!!

RDJ 30.09.2003 14:37:47

PHP-Code:

function edit($wert,$teams) {  // <-- Wieso nicht so ? GLOBAL ist nicht immer gut !!! 

switch($wert) {
case 
'team1':
     echo 
''.$teams[0].'';
break;
case 
'team2':
       echo 
''.$teams[1].'';
break;
case 
'team3':
     echo 
''.$teams[2].'';
break;
case 
'team4':
     echo 
''.$teams[3].'';
break;
case 
'team5':
     echo 
''.$teams[4].'';
break;
case 
'team6':
     echo 
''.$teams[5].'';
break;
case 
'team7':
     echo 
''.$teams[6].'';
break;
case 
'team8':
     echo 
''.$teams[7].'';
break;
default:
echo 
''.$fehler.'';
}




Alle Zeitangaben in WEZ +2. Es ist jetzt 11:40:26 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.