Überprüfen ob Datenbanktabelleneintrag leer ist?

mychastic

Mitglied
Hallo,

ich habe wieder ein Problem :)

Und zwar habe ich 2 Datenbanktabellen:

1) ORDER (o) mit
oid
pid
price
date

2) ORDER_HAS_ARTICLE (oha) mit
aid
oid
...(nicht relevant)

So wenn ich nun eine Bestellung habe bekommt die eine OID zugewiesen und diese Bestellung kann mehrer Artikel enthalten. Diese sind dann in der Tabelle oha gelistet.

Jetzt habe ich mein Script soweit, dass ich im Wareneingang alle Artikel einer Bestellung sehe und diese nun in ein Lager zuweisen kann. Dadurch werden diese Artikel in der Lagertabelle gespeichert und aus der Tabelle oha gelöscht.

Wenn ich nun alle Artikel einer Bestellung einem Lager zugewiesen habe, möchte ich auch, dass die oid aus Tabelle Order gelöscht wird. Wie realisiere ich es nun, dass wenn in OHA z:b. die ID 38 nicht mehr existiert, diese nun auch aus der Tabelle O gelöscht wird?

Quelltext sieht derzeit so aus:

PHP:
	public function addArrival(){
		//add article to arrival
		$storage = $_POST['storage'];
		$_SESSION['storage'] = $storage;
		$aid = $_POST['aid'];
		$_SESSION['aid'] = $aid;
		$amount = $_POST['amount'];
		$oid = $_POST['oid'];
		$_SESSION['oid'] = $oid;
		$this->mDB->doSQL("INSERT INTO arrival SET oid=$oid,stid=$storage,aid=$aid, amount=$amount, date='".date("Y-m-d H:i:s")."'");
		$_SESSION['araid'] = $this->mDB->lastID();
		$this->mDB->doSQL("DELETE FROM order_has_article WHERE aid=$aid AND oid=$oid");
		$this->addStorageDetail();
	}


mfg
 
PHP:
$result = mysql_query("SELECT * FROM oha WHERE ORDER_HAS_ARTICLE WHERE id = 38");
if(mysql_num_rows($result) == 0)
  mysql_query("DELETE FROM ORDER  WHERE oid = 38")

so in etwa hätte ich es gelöst.
 
Zurück