phpbar.de logo

Mailinglisten-Archive

[php] Gleiche Eintraege zweier Tabellen aus einer loeschen.

[php] Gleiche Eintraege zweier Tabellen aus einer loeschen.

Dominik Dorn php_(at)_phpcenter.de
Sat, 13 Apr 2002 14:32:31 +0200


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