title image


Smiley Korrekte Anwendung von mehrdimensionalen Arrays
Guten Tag zusammen



Ich habe momentan ein Problem mit mehrdimensionalen Arrays. Die Vorgabe: Ich mache einen MySQL-Zugriff und erhalte 1-n Rows. Pro Row erhalte ich rund 10 Columns. Ich will nun diese Daten in einem Array speichern. In der Programmiersprache, in welcher ich normalerweise programmiere würde ich ein Array wie folgt deklarieren, resp. abfüllen: $array[Anz.Rows][Anz.Columns].

Ich habe nun versucht, dies in PHP auch so umzusetzen, doch habe ich das Problem, dass ich in meinem Array z.T. falsche Informationen drin habe (betrifft in untenstehendem Listing jeweils $serie[$ii][08]), obwohl die Daten auf der DB richtig abgelegt sind und ich beim Print aus mysql_result($result,$ii,"erlaubtD") auch den eigentlichen Wert erhalte. Was mich nachdenklich stimmt ist der Umstand, dass das Problem nicht bei jeder Row auftritt! Ich gehe daher davon aus, dass mein Array-Handling nicht korrekt ist. Wer kann mir da weiterhelfen und mir kurz aufzeigen, wie ich mein Array abfüllen muss? Aus der Beschreibung unter www.php.net wurde ich leider nicht ganz schlau. Oder gibt es allenfalls eine andere Erklärung?



Hier ein Ausschnitt aus meinem Code:



$sql = 'SELECT * ';

$sql .= 'FROM `tt_tournament_grunddaten` ';

$sql .= 'WHERE `turnierID` = '.$turnierID;

$sql .= ' AND `sprachcode` = "'.$sprache.'"';

$sql .= ' ORDER BY `serieArt` DESC, `bezeichnung`';

/******************************************************/

/*** DB-Zugriff und Verarbeitung des Return-Codes ***/

/******************************************************/

$result = mysql_db_query($OPTION[mysqldb],$sql);

$num = mysql_num_rows($result);

$ii = 0;

while($ii<$num)

{

$serie[$ii][01] = mysql_result($result,$ii,"bezeichnung");

$serie[$ii][02] = mysql_result($result,$ii,"serieArt");

$serie[$ii][03] = mysql_result($result,$ii,"erlaubtDamen");

$serie[$ii][04] = mysql_result($result,$ii,"erlaubtHerren");

$serie[$ii][05] = mysql_result($result,$ii,"erlaubtA");

$serie[$ii][06] = mysql_result($result,$ii,"erlaubtB");

$serie[$ii][07] = mysql_result($result,$ii,"erlaubtC");

$serie[$ii][08] = mysql_result($result,$ii,"erlaubtD");

$serie[$ii][09] = mysql_result($result,$ii,"erlaubtE");

$serie[$ii][10] = mysql_result($result,$ii,"erlaubtU13");

$serie[$ii][11] = mysql_result($result,$ii,"erlaubtU15");

$serie[$ii][12] = mysql_result($result,$ii,"erlaubtU18");

$serie[$ii][13] = mysql_result($result,$ii,"erlaubtU21");

$serie[$ii][14] = mysql_result($result,$ii,"erlaubtElite");

$serie[$ii][15] = mysql_result($result,$ii,"erlaubtO40");

$serie[$ii][16] = mysql_result($result,$ii,"erlaubtO50");

$serie[$ii][17] = mysql_result($result,$ii,"erlaubtO60");

$serie[$ii][18] = mysql_result($result,$ii,"serieID");



print $ii.", ".$serie[$ii][08]; // gibt zum Teil falschen Wert aus

print $ii.", ".mysql_result($result,$ii,"erlaubtD"); // gibt immer korrekten Wert aus

}



Besten Dank für Eure Unterstützung!

Martin



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: