Merkwürdiges Verhalten bei mySQL Anfrage
j4nk3y
- mysql
- php
0 mir0 j4nk3y
0 dedlfix0 Jörg Reinholz
Guten Morgen,
Ich arbeite seit Gestern an einem mir unärklärlichen Verhalten meines Codes.
Nun Zum Problem, Ich habe drei Tabellen Die jeweils eine Auto Increment Spalte für die jeweilige ID besitzen, (Tab1.sid, Tab2.pid, Tab3.mid).
In der Tabelle 2 ist zusätzlich die sid aus Tab 1 vermerkt und in der dritten ist zusätzlich eine Spalte pid vorhanden. So entsteht jeweils eine 1:n Verbindung von Tab1 zu Tab2 und von Tab 2 zu Tab3.
Nun möchte ich mit dem folgenden Code aus Tabelle 2 die pid's auslesen die für eine gewisse sid hinterlegt sind.
For($i; $i <= $anz_neu ; $i++)
{
$query2 = "SELECT pid FROM tab2 Where sid = '$i'";
$ergebnis2 = mysql_query($query2);
$num = mysql_num_rows($ergebnis2);
while($arr = mysql_fetch_array($ergebnis2))
{
$array[] = $arr;
}
For($a = 0; $a < $num ; $a++)
{
$pid = $array[$a][0];
echo $pid.'</br>';
}
echo '</br>';
}
Nun das eigentliche Problem. Falls $i=$anz_neu
funktioniert der Code genau wie er soll und er gibt die pid's zur zugehörigen sid aus.
Jedoch wenn mehrere sid's abgefragt werden sollen, sprich $i<$anz_neu
gibt er bei jedem durchlauf der zweiten For-Schleife nicht die pid aus sondern:
{
1
2
3
.
.
$num
} aus.
Hoffe das ist verständlich und jemand sieht sofort wo das Problem liegt.
Gruß Jo
Guten Morgen.
For($i; $i <= $anz_neu ; $i++) { $query2 = "SELECT pid FROM tab2 Where sid = '$i'";
Füge hier var_dump($query2) ein und ..
$ergebnis2 = mysql_query($query2); $num = mysql_num_rows($ergebnis2); while($arr = mysql_fetch_array($ergebnis2)) { $array[] = $arr; }
.. hier var_dump($array) ein. Du bekommst damit ohne Umwege über eine selbstgebaute, möglicherweise fehlerhafte Ausgabefunktion (deine zweite Schleife) Einblick in die Daten, die du MySQL übergibst und als Ergebnis erhältst.
Stimmen die Daten mit deinen Erwartungen überein, liegt das Problem in der Ausgabefunktion. Arbeite dort mit var_dump() weiter. Stimmen sie nicht, liegt das Problem eventuell in den Daten, die in der Tabelle 2 stehen.
Der Code und deine Fehlerbeschreibung scheinen jedenfalls erst mal nicht zusammenzupassen.
Guten Morgen.
.. hier var_dump($array) ein. Du bekommst damit ohne Umwege über eine selbstgebaute, möglicherweise fehlerhafte Ausgabefunktion (deine zweite Schleife) Einblick in die Daten, die du MySQL übergibst und als Ergebnis erhältst.
array(3) { [0]=> array(2) { [0]=> string(2) "12" ["pid"]=> string(2) "12" } [1]=> array(2) { [0]=> string(2) "13" ["pid"]=> string(2) "13" } [2]=> array(2) { [0]=> string(2) "14" ["pid"]=> string(2) "14" } }
Ausgabe mit $i=$anz_neu
und diesem Code:
For($i; $i <= $anz_neu ; $i++)
{
$query2 = "SELECT pid FROM planets Where sid = '$i'";
$ergebnis2 = mysql_query($query2);
$num = mysql_num_rows($ergebnis2);
while($arr = mysql_fetch_array($ergebnis2))
{
$array[] = $arr;
}
var_dump($array);
}
array(6) { [0]=> array(2) { [0]=> string(1) "6" ["pid"]=> string(1) "6" } [1]=> array(2) { [0]=> string(1) "7" ["pid"]=> string(1) "7" } [2]=> array(2) { [0]=> string(1) "8" ["pid"]=> string(1) "8" } [3]=> array(2) { [0]=> string(1) "9" ["pid"]=> string(1) "9" } [4]=> array(2) { [0]=> string(2) "10" ["pid"]=> string(2) "10" } [5]=> array(2) { [0]=> string(2) "11" ["pid"]=> string(2) "11" } } array(9) { [0]=> array(2) { [0]=> string(1) "6" ["pid"]=> string(1) "6" } [1]=> array(2) { [0]=> string(1) "7" ["pid"]=> string(1) "7" } [2]=> array(2) { [0]=> string(1) "8" ["pid"]=> string(1) "8" } [3]=> array(2) { [0]=> string(1) "9" ["pid"]=> string(1) "9" } [4]=> array(2) { [0]=> string(2) "10" ["pid"]=> string(2) "10" } [5]=> array(2) { [0]=> string(2) "11" ["pid"]=> string(2) "11" } [6]=> array(2) { [0]=> string(2) "12" ["pid"]=> string(2) "12" } [7]=> array(2) { [0]=> string(2) "13" ["pid"]=> string(2) "13" } [8]=> array(2) { [0]=> string(2) "14" ["pid"]=> string(2) "14" } }
Ausgabe mit $i+1 = $anz_neu
und dem gleichen Code. Soweit stimmt das auch!
Nun zum Sprung:
6 7 8 9 10 11
6 7 8
Ausgabe mit $i+1 = $anz_neu
und diesem Code:
For($i; $i <= $anz_neu ; $i++)
{
$query2 = "SELECT pid FROM planets Where sid = '$i'";
$ergebnis2 = mysql_query($query2);
$num = mysql_num_rows($ergebnis2);
while($arr = mysql_fetch_array($ergebnis2))
{
$array[] = $arr;
}
//var_dump($array);
For($a = 0; $a < $num ; $a++)
{
$pid = $array[$a][0];
echo $pid.'</br>';
}
echo '</br>';
}
Und das passt offensichtlich nicht mehr.
Der Code und deine Fehlerbeschreibung scheinen jedenfalls erst mal nicht zusammenzupassen.
Das denke ich mir auch seit gestern Mittag.
Gruß Jo
So ganz folgen kann ich deinen Ausführungen jetzt im Moment nicht, aber zumindest einen Fehler hast du:
For($i; $i <= $anz_neu ; $i++) { $query2 = "SELECT pid FROM planets Where sid = '$i'"; $ergebnis2 = mysql_query($query2); $num = mysql_num_rows($ergebnis2);
while($arr = mysql_fetch_array($ergebnis2)) { $array[] = $arr; }
An diesem Punkt hängst du die Ergebnisse aller der ersten folgenden Datenbankabfragen an die alten Ergebnisse an, mit denen $array immer noch bestückt isr. Deshalb bekommst du auch diese Liste:
Bei ersten Durchlauf der Hauptschleife gibt es sechs Ergebnisse, "6 7 8 9 10 11".
Beim ihrem zweiten Durchlauf erscheint "6 7 8". Dies sind die Ergebnisse aus dem ersten Durchlauf, und da der zweite Durchlauf drei Ergebnisse geliefert hat (in $num), erscheinen nur die ersten drei Daten des ersten Durchlaufs.
For($a = 0; $a < $num ; $a++) { $pid = $array[$a][0]; echo $pid.'</br>'; }
Es ist persönlicher Stil, aber mir ist schon anfangs aufgefallen, dass du viele Variablen einsetzt. Wenn ich $array durchlaufe, dann mit entweder mit array_length($array) (oder heisst das size() bei PHP?), nicht mit dem Ergebnis aus mysql_num_rows() (welches du in $num zwischengeparkt hast). Oder aber gleich mit foreach:
foreach ($array as $a) { echo $a["pid"] . "<br>"; }
Die Finger täte ich an deiner Stelle auch von den numerischen Indizes lassen. $a[0] ist nicht gerade selbsterklärend. MySQL liefert dir auch ein viel schöneres $a["pid"].
Hey,
An diesem Punkt hängst du die Ergebnisse aller der ersten folgenden Datenbankabfragen an die alten Ergebnisse an, mit denen $array immer noch bestückt isr. Deshalb bekommst du auch diese Liste:
Bei ersten Durchlauf der Hauptschleife gibt es sechs Ergebnisse, "6 7 8 9 10 11".
Beim ihrem zweiten Durchlauf erscheint "6 7 8". Dies sind die Ergebnisse aus dem ersten Durchlauf, und da der zweite Durchlauf drei Ergebnisse geliefert hat (in $num), erscheinen nur die ersten drei Daten des ersten Durchlaufs.
Ja genau da liegt der Fehler, danke.
For($a = 0; $a < $num ; $a++) { $pid = $array[$a][0]; echo $pid.'</br>'; }
Es ist persönlicher Stil, aber mir ist schon anfangs aufgefallen, dass du viele Variablen einsetzt. Wenn ich $array durchlaufe, dann mit entweder mit array_length($array) (oder heisst das size() bei PHP?), nicht mit dem Ergebnis aus mysql_num_rows() (welches du in $num zwischengeparkt hast). Oder aber gleich mit foreach:
foreach ($array as $a) { echo $a["pid"] . "<br>"; }
Die Finger täte ich an deiner Stelle auch von den numerischen Indizes lassen. $a[0] ist nicht gerade selbsterklärend. MySQL liefert dir auch ein viel schöneres $a["pid"].
Also die foreach Schleife wird mir wahrscheinlich noch lange ein Rätsel bleiben. Und diese Numerische Notation finde ich super da ich hier viel mit Matritzen arbeite und so genau weiß wo und an welcher stelle ich bin. Das hab ich mir am Anfang so angewöhnt und ist einfach geblieben.
Gruß Jo
Moin!
Also die foreach Schleife wird mir wahrscheinlich noch lange ein Rätsel bleiben.
Die ist aber genial, weil die einfach alle Elemente eines Arrays durchackert.
Stell Dir eine Variable als "Eimer" vor, auf dem der Name steht. Stell Dir Array als Reihe von "Eimern" vor, vor der ein Schild mit dem Name der Reihe und auf jedem Eimer eine Nummer (ist es ein assoziatives Array dann ein weiterer Name) steht.
Foreach ackert einfach einfach eine solche Reihe durch und bringt bei jedem Durchlauf den Wert aus einem der Eimer der Reiher in einem Transporteimer mit:
für jeden Eimer der Reihe bringe eine Kopie dessen Inhalts im Transporteimer und mache folgendes{
...
}
foreach ($Eimer as $Transporteimer) {
echo "Im Eimer ist: $Transporteimer";
}
oder:
foreach ($array as $Kopie) {
echo "array enthält Element mit Wert: $Kopie";
}
Benutzt man stets, wenn die Position des untersuchten Eimers in der Reihe der Eimer nicht interessiert...
und ist weniger aufwendig zu notieren als:
for ($i=0; $i < count($Eimer); $i++
echo "Im Eimer ist: ", $Eimer[$i];
}
und damit weniger fehlerträchtig.
Und diese Numerische Notation finde ich super da ich hier viel mit Matritzen arbeite
Auch hier. Du hast eine Datenbank-Tabelle mit Spalten, die Namen haben. PHP hat die Freundlichkeit, Dir für jede Spalte ein Array-Element mit dem Name zu liefern.
Der Spaß beginnt erst richtig, wenn Du in die Tabelle mal eine weitere Spalte einfügst. Hast Du mit den Namen gearbeitet, dann musst Du gar nichts tun. Hast Du aber mit den numerischen Indizierern gearbeitet - dann "Viel Spaß bei der Arbeit!". (Aus ganz ähnlichen Gründen soll man in der Abfrage nicht das unkluge 'SELECT * FROM foo' benutzen)
Zumal es durchaus sein kann, dass nicht gleich auffällt und Dein Programm halt "nur" falsche Daten (nämlich aus der falschen Spalte) ausgibt. Das "nur" kann im Ergebnis den Supergau bedeuten, weil, bis der Fehler auffällt inzwischen 1.000.000 Autos an der Stelle, wie Bremsscheiben für die Vorderräder sein sollen, die für die Hinterräder haben ...
Jörg Reinholz
Moin!
foreach ($array as $Kopie) { echo "array enthält Element mit Wert: $Kopie"; }
Benutzt man stets, wenn die Position des untersuchten Eimers in der Reihe der Eimer nicht interessiert...
und ist weniger aufwendig zu notieren als:
for ($i=0; $i < count($Eimer); $i++ echo "Im Eimer ist: ", $Eimer[$i]; }
und damit weniger fehlerträchtig.
Das muss ich einfach noch ergänzen.
<?php
$array[10]='foo';
$array[11]='bar';
$array[12]='tok';
for ($i=0; $i<count($array); $i++) {
echo $array[$i], "\n";
}
?>
ergäbe es folgendes Theater:
PHP Notice: Undefined offset: 0 in - on line 6
PHP Notice: Undefined offset: 1 in - on line 6
PHP Notice: Undefined offset: 2 in - on line 6
Mit
<?php
$array[10]='foo';
$array[11]='bar';
$array[12]='tok';
foreach ($array as $t) {
echo "$t\n";
}
?>
hingegen:
foo
bar
tok
Man muss also nicht mal wissen, welche numerischen Indizierer belegt sind. (Einige andere Programmiersprachen belegen in dem Fall übrigens alle nichtbelegten Elemente unterhalb des größten Indizierers mit einem NULL-Wert.)
Jörg Reinholz
> > foreach ($array as $a) {
echo $a["pid"] . "<br>"; }
Die Finger täte ich an deiner Stelle auch von den numerischen Indizes lassen. $a[0] ist nicht gerade selbsterklärend. MySQL liefert dir auch ein viel schöneres $a["pid"].
Also die foreach Schleife wird mir wahrscheinlich noch lange ein Rätsel bleiben.
Die Schleife läuft einfach alle Feldeinträge nacheinander durch. Statt $a = $array[$i] und dem ganzen Brimborium mit $i < length etc benutzt du direkt $a.
Nicht funktionieren tut's lediglich, wenn du in den Feldeintrag etwas reinschreiben willst. Bei $a = 1 landet die 1 nicht in $array[$i], nur in $a.
Und diese Numerische Notation finde ich super da ich hier viel mit Matritzen arbeite und so genau weiß wo und an welcher stelle ich bin.
Das Problem ist, dass die Datenbank nicht weiss, an welcher Stelle du bist. Und wenn du in einem halben Jahr in den Code schaust, weisst du das auch nicht mehr so genau, glaube mir.
$a[0] ist das erste Datum, aber was das erste Datum ist, siehst du daran nicht. Änderst du die select-Abfrage, kann das erste Datum mit einem Male was ganz anderes sein. Benutzt du * in der select-Abfrage, wird es noch schlimmer, denn dann steht nicht einmal mehr im select fest, was du bekommst, das muss (wenn überhaupt) in der create-table-Struktur nachgelesen werden.
Solche Unklarheiten vermeidest du durch $a["spalte"].
Da du anscheinend matheaffin bist: $a[0] ist im Übrigen auch in wenig unlogisch, denn du möchtest nicht das erste Datum haben, sondern das Datum "spalte".
Tach!
For($i; $i <= $anz_neu ; $i++) $query2 = "SELECT pid FROM tab2 Where sid = '$i'";
In $i steht eine Zahl. Warum notierst du sie in Anführungszeichen?
Nun das eigentliche Problem. Falls
$i=$anz_neu
funktioniert der Code genau wie er soll und er gibt die pid's zur zugehörigen sid aus.
Du meinst, wenn $anz_neu gleich 1 ist. Denn wenn es 2 ist, dann ist im zweiten Durchlauf $i==$anz_neu und das Problem tritt auch auf.
Jedoch wenn mehrere sid's abgefragt werden sollen, sprich
$i<$anz_neu
gibt er bei jedem durchlauf der zweiten For-Schleife nicht die pid aus sondern: { 1 2 3 . . $num }
Ich nehme an, du meinst damit, dass es immer wieder von vorn beginnt?
Hoffe das ist verständlich und jemand sieht sofort wo das Problem liegt.
Da:
For($a = 0; $a < $num ; $a++)
$a fängt immer wieder bei 0 an.
Außerdem, wenn $i mit 0 startet (womit es startet, sieht man in dienem Code nicht, und das $i so allein ohne eine Zuweisung oder andere Operation als ersten Teil im for anzugeben ergibt keinen Sinn), dann wird ein vermutlich überflüssiges <br> ausgegeben, sprich: die Schleife macht eine überflüssige Datenbankabfrage ohne dass dabei je ein Ergebnis kommen könnte.
dedlfix.
Tach!
For($i; $i <= $anz_neu ; $i++) $query2 = "SELECT pid FROM tab2 Where sid = '$i'";
In $i steht eine Zahl. Warum notierst du sie in Anführungszeichen?
Überbleibsel, schon geändert.
Nun das eigentliche Problem. Falls
$i=$anz_neu
funktioniert der Code genau wie er soll und er gibt die pid's zur zugehörigen sid aus.Du meinst, wenn $anz_neu gleich 1 ist. Denn wenn es 2 ist, dann ist im zweiten Durchlauf $i==$anz_neu und das Problem tritt auch auf.
Nein ich meine das im rein Mathematischen Sinne. Also wenn $i = 1; dann ist auch $anz_neu = 1.
Wieso ist es im zweiten durchlauf $i==$anz_neu
??
Jedoch wenn mehrere sid's abgefragt werden sollen, sprich
$i<$anz_neu
gibt er bei jedem durchlauf der zweiten For-Schleife nicht die pid aus sondern: { 1 2 3 . . $num }Ich nehme an, du meinst damit, dass es immer wieder von vorn beginnt?
Ja, die Erste Zahl die im Array steht wird immer wieder als anfangspunkt genommen und solange die nächste zahl ausgegeben bis $num erreicht ist.
Hoffe das ist verständlich und jemand sieht sofort wo das Problem liegt.
Da:
For($a = 0; $a < $num ; $a++)
$a fängt immer wieder bei 0 an.
Muss ja bei 0 anfangen um auch den ersten Eintrag des Arrays anzusprechen.
Außerdem, wenn $i mit 0 startet (womit es startet, sieht man in dienem Code nicht, und das $i so allein ohne eine Zuweisung oder andere Operation als ersten Teil im for anzugeben ergibt keinen Sinn), dann wird ein vermutlich überflüssiges <br> ausgegeben, sprich: die Schleife macht eine überflüssige Datenbankabfrage ohne dass dabei je ein Ergebnis kommen könnte.
$i fängt immer bei 1 oder größer an.
Gruß Jo
Tach!
Nun das eigentliche Problem. Falls
$i=$anz_neu
funktioniert der Code genau wie er soll und er gibt die pid's zur zugehörigen sid aus.Du meinst, wenn $anz_neu gleich 1 ist. Denn wenn es 2 ist, dann ist im zweiten Durchlauf $i==$anz_neu und das Problem tritt auch auf.
Nein ich meine das im rein Mathematischen Sinne. Also wenn $i = 1; dann ist auch $anz_neu = 1. Wieso ist es im zweiten durchlauf
$i==$anz_neu
??
Wenn $anz_neu den Inhalt 2 hat, und $i mit 1 initialisiert wurden, dann ist im ersten Durchlauf 2 != 1 und im zweiten 2 == 2.
Verwende bitte die Schreibweise als PHP-Operatoren und nicht mathematisch, sonst kann man so schlecht unterscheiden, ob du eine Zuweisung oder einen Vergleich meinst.
For($a = 0; $a < $num ; $a++)
$a fängt immer wieder bei 0 an.
Muss ja bei 0 anfangen um auch den ersten Eintrag des Arrays anzusprechen.
Ja, aber auch für alle Werte von $i? Bei $i == 1 ebenso wie bei $i == 2, wenn $anz_neu gleich 2 ist und $i mit 1 startet?
dedlfix.
Wenn $anz_neu den Inhalt 2 hat, und $i mit 1 initialisiert wurden, dann ist im ersten Durchlauf 2 != 1 und im zweiten 2 == 2.
Verwende bitte die Schreibweise als PHP-Operatoren und nicht mathematisch, sonst kann man so schlecht unterscheiden, ob du eine Zuweisung oder einen Vergleich meinst.
OK moment ich beginne grad dem Fehler auf der Spur zu sein.
array(6) { [0]=> array(2) { [0]=> string(1) "6" ["pid"]=> string(1) "6" } [1]=> array(2) { [0]=> string(1) "7" ["pid"]=> string(1) "7" } [2]=> array(2) { [0]=> string(1) "8" ["pid"]=> string(1) "8" } [3]=> array(2) { [0]=> string(1) "9" ["pid"]=> string(1) "9" } [4]=> array(2) { [0]=> string(2) "10" ["pid"]=> string(2) "10" } [5]=> array(2) { [0]=> string(2) "11" ["pid"]=> string(2) "11" } }
array(9) { [0]=> array(2) { [0]=> string(1) "6" ["pid"]=> string(1) "6" } [1]=> array(2) { [0]=> string(1) "7" ["pid"]=> string(1) "7" } [2]=> array(2) { [0]=> string(1) "8" ["pid"]=> string(1) "8" } [3]=> array(2) { [0]=> string(1) "9" ["pid"]=> string(1) "9" } [4]=> array(2) { [0]=> string(2) "10" ["pid"]=> string(2) "10" } [5]=> array(2) { [0]=> string(2) "11" ["pid"]=> string(2) "11" } [6]=> array(2) { [0]=> string(2) "12" ["pid"]=> string(2) "12" } [7]=> array(2) { [0]=> string(2) "13" ["pid"]=> string(2) "13" } [8]=> array(2) { [0]=> string(2) "14" ["pid"]=> string(2) "14" } }
Das ist die Ausgabe mit:
$anz_neu = 3;
$b=2;
For($i=$b ; $i <= $anz_neu ; $i++)
{
$query2 = "SELECT pid FROM planets Where sid = $i";
$ergebnis2 = mysql_query($query2);
$num = mysql_num_rows($ergebnis2);
while($arr = mysql_fetch_array($ergebnis2))
{
$array[] = $arr;
}
var_dump($array);
echo '</br></br>';
array(6) Stimmt. In der Datenbank Beginnt pid bei 6 und endet bei 11 für sid = 2, Der zweite durchlauf der Schleife ist aber falsch, warum beginnt der dort auch bei 6 und endet bei 14? Warum nicht von 11 bis 14 so wie es in der Datenbank steht.
For($a = 0; $a < $num ; $a++)
$a fängt immer wieder bei 0 an.
Muss ja bei 0 anfangen um auch den ersten Eintrag des Arrays anzusprechen.
Ja, aber auch für alle Werte von $i? Bei $i == 1 ebenso wie bei $i == 2, wenn $anz_neu gleich 2 ist und $i mit 1 startet?
Ja so ist es gedacht.
Gruß Jo
Moin!
For($i; $i <= $anz_neu ; $i++)
Sowas begeistert mich nie, da ich nicht weiß, womit $i beginnt. Wenn es null (0) sein soll notiere das. Wenn es einen anderen Startwert haben soll schreib es rein.
Ähnliches sehe ich hier:
while($arr = mysql_fetch_array($ergebnis2))
{
$array[] = $arr;
}
Könnte es sein, dass $array noch Werte enthält, die sonstwoher stammen? Du solltest vor das while etwas wie $array = array(); notieren.
Jörg Reinholz
DANKE!!
Könnte es sein, dass $array noch Werte enthält, die sonstwoher stammen? Du solltest vor das while etwas wie $array = array(); notieren.
In dem Array stehen ja noch die Werte asus dem ersten durchlauf... Kopf -> Tisch
Vielen Dank
Gruß Jo
6 7 8 9 10 11
12 13 14
Ausgabe mit:
$anz_neu = 3;
$b=2;
For($i=$b ; $i <= $anz_neu ; $i++)
{
unset($array);
$query2 = "SELECT pid FROM planets Where sid = $i";
$ergebnis2 = mysql_query($query2);
$num = mysql_num_rows($ergebnis2);
while($arr = mysql_fetch_array($ergebnis2))
{
$array[] = $arr;
}
For($a = 0; $a < $num ; $a++)
{
$pid = $array[$a][0];
echo $pid.'</br>';
}
echo '</br>';
}
Gruß Jo
Moin!
Ist das Problem damit gelöst oder soll ich jetzt herauslesen, dass es ein weiteres gibt? Mein Kaffee ist nämlich noch in der Maschine und ich bin ein von Ärzten anerkannter Langschläfer... (10:45 an Sonn- und Feiertagen halte ich für "früh aufstehen")
Jörg Reinholz
Moin!
Ist das Problem damit gelöst oder soll ich jetzt herauslesen, dass es ein weiteres gibt? Mein Kaffee ist nämlich noch in der Maschine und ich bin ein von Ärzten anerkannter Langschläfer... (10:45 an Sonn- und Feiertagen halte ich für "früh aufstehen"
Gelöst Danke :) Mich zog der Fehler schon um 7.00 aus dem Bett^^.
$Gruß = Jo;