Hallo,
PHP kenn ich nicht gut genug, aber:
1.) Schleife
for ($j=1; $j<=$i; $j++))
{
[...] hier sind Deine ganzen if-Abfragen
$j++;
^
-------------- Achtung: Du erhöhst pro durchlauf $j zweimal, einmal in der for-Anweisung, einmal hier.
echo "<img border='0' src='load.jpg' width='1' height='25'>";
}
Dann ist natürlich auch die Frage, wie groß $i ist Hast Dur das schon mal überprüft. Hier könnte m.A. die Lösung für Dein angesprochenes Problem zu finden sein.
2.) If-Abfragen:
Aus Struktur- und Performancgründen würde ich folgendes empfehlen
if ($ukz[$j]==0) /* wenn Datensatz unverändert ist */
{
}
else if ($ukz[$j]==1) /* wenn Datensatz neu ist */
{
}
else if ($ukz[$j]==2) /* wenn Datensatz verändert wurde */
{
}
else if ($ukz[$j]==3) /* wenn Datensatz als gelöscht markiert ist */
{
}
else /* und was kann sonst noch kommen ?? Eigentlich ein Fehler */
{
}
wobei ich die genaue Synakt von PHP für elseif-Zweige nicht kenne, aber so ungefähr wirds schon sein.
Das vermeidet Seiteneffekte ($ukz[$j] wird irgenwann aus irgendeinem Grunde verändert, dann kanns leicht sein, daß zwei der Abfragen richtig werden, was ja nicht der gewünschte Effekt wäre), und die Performance ist auch besser (Wenn eine Bedingung schon erfüllt ist, dann brauchen die restlichen niocht mehr geprüft werden).
3.) Update-Statements:
Du schreibst:
mysql_query("update ix set id=$id[$j], bez='$bez[$j]', zuord=$zuord[$j], ukz=$ukz[$j] where id=$id[$j]");
aber id braucht ja nicht verändert werden, da es ja als Auswahlkriterium dient.
Außerdem solltest Du aufpassen, daß nicht versehentlich ein gelöschter Datensatz (ukz == 3) durch ein mißglücktes update mit ukz == 2 wieder 'entlöscht' wird.
also bei Änderungen
mysql_query("update ix set bez='$bez[$j]', zuord=$zuord[$j] where id=$id[$j]");
beim löschen könntest Du eigentlich ja auf weitere Änderungen pfeifen (muß aber nicht sein):
mysql_query("update ix set ukz=$ukz[$j] where id=$id[$j]");
Da ist mir gerade aufgefallen, daß bei Deiner Variante fürs löschen eine where Klausel fehlt, Du also eigenlich _alle_ Datensätze als gelöscht kennzeichnest.
---------------------------