Mailinglisten-Archive |
Hallo Liste! Ich habe ein Problem. Ich habe mir ein Script geschrieben, welches den Autor und den Titel einer Tabelle ausliest und ueberprueft ob genau dieser Autor und Titel in der zweiten Tabelle vorhanden ist und dann die entsprechende id loescht. Das ganze habe ich bisher so geloest: <% set_time_limit(0); include("./../../include/settings.html"); if(!isset($id)){ $id = 200; } if(!isset($endid)){ $anz = 50000; $endid = $id + $anz; } conndb(); while($id <= $endid){ $q1 = "select id,autor,titel from tabelle1 where id ='$id'"; if($q1 = mysql_query($q1)){ echo $id; echo " Q1 OK ------- "; $autor = mysql_result($q1,0,1); $titel = mysql_result($q1,0,2); $q2 = "Select id from tabelle2 where autor = '$autor' and titel = '$titel'"; // ueberpruefen ob eintrag in tabelle2 vorhanden if($q2 = mysql_query($q2)){ echo "Q2 OK ------- "; if(mysql_num_rows($q2) > 0){ $xid = mysql_result($q2,0,0); echo "Something found--- "; $q3 = "Delete from tabelle1 where xid='$xid'"; if($q3 = mysql_query($q3)){ echo "Deleted successfully"; }else{ echo "Failed to delete"; } } else { echo "Nothing found----- "; } } else { echo " Q2 FAILED === "; } }else{ echo "Q1 FAILED === "; } echo "\n"; $id++; } %> Das ganze funktioniert auch soweit ganz gut.. das Problem ist, das es relativ langsam und ziemlich sicher extrem unperformant ist. Ich denke es waere sicherlich moeglich das ganze auf 2-3 query's zu beschränken was dann wesentlich besser waere.. habe aber keine Ahnung wie das genau aussehen muss :-( Hat jemand 'nen Lösungsweg oder ähnliches ??? Wäre wirklich dankbar da ich graue Haare habe bevor das Script so wie es im Moment ist, fertig gearbeitet hat. Vielen Dank im Voraus!!!!! Dominik domdorn_(at)_webpoint.at
php::bar PHP Wiki - Listenarchive