Abgleich von 2 Tabellen

Nachtrag,

ich hab jetzt nach dem durchwelzen meines MYSQL Buches folgendes gebaut:

PHP:
		$ps_compat = @mysql_query("SELECT COUNT(compat) AS modul_compat1 FROM module WHERE g_id ='$g_id' AND compat ='1'");
		$compat = mysql_fetch_assoc($modul_compat1);
		echo $compat['modul_compat'];

Damit zähle ich jetzt wieviele module es gibt die in der Spalte compat den Wert 1 haben, richtig? Jetzt müsste ich diese Abfrage noch für die Werte 2 und 3 machen, dann hab ich 3 Variablen, und kann diese gegeneinander vergleichen und damit dann letztendlich die Gerätespalte updaten mit einem Wert.

Bin ich auf dem richtigen Weg? Oder ist das so umständlich und geht viel einfacher?

Grüße

Jamest

PS: CraisiePrinzZ dein SELECT COUNT hat mich auf diese Fährte gebracht. :-) Alleine hätte ich nie nach COUNT gesucht, oder davon gewusst.
 
So, ich bin noch einen Schritt weiter.

Was haltet ihr von dieser Idee?

wenn ich am Ende dann die Variable $gcompat mit dem passenden Wert habe, kann ich diesen in die Geräte tabelle eintragen.

Gibt es von irgendwelche Denkfehler? Oder ist das jetzt vielleicht sogar von hinten durch die Brust ins auge programmiert?

Grüße

Jamest

PHP:
<?php
		$modul_compat1 = @mysql_query("SELECT COUNT(compat) AS modul_compat FROM module WHERE g_id ='$id' AND compat ='1'");
		$modul_compat2 = @mysql_query("SELECT COUNT(compat) AS modul_compat FROM module WHERE g_id ='$id' AND compat ='2'");
		$modul_compat3 = @mysql_query("SELECT COUNT(compat) AS modul_compat FROM module WHERE g_id ='$id' AND compat ='3'");
		$compat1 = mysql_fetch_assoc($modul_compat1);
		$compat2 = mysql_fetch_assoc($modul_compat2);
		$compat3 = mysql_fetch_assoc($modul_compat3);

		$kompatibel		= $compat1['modul_compat'];
		$eingeschraenkt		= $compat2['modul_compat'];
		$inkompatibel		= $compat3['modul_compat'];
		
		echo "kompatibel=".$kompatibel."<br>";
		echo "eingeschraenkt=".$eingeschraenkt."<br>";
		echo "inkompatibel=".$inkompatibel."<br>";
		
		if	(($kompatibel == 0) AND ($eingeschraenkt == 0) AND ($inkompatibel == 0)){
			$g_compat =  0; // 000
		}elseif	(($kompatibel == 0) AND ($eingeschraenkt == 0) AND ($inkompatibel == 1)){
			$g_compat =  3; // 001
		}elseif	(($kompatibel == 0) AND ($eingeschraenkt == 1) AND ($inkompatibel == 0)){
			$g_compat =  2; // 010
		}elseif	(($kompatibel == 0) AND ($eingeschraenkt == 1) AND ($inkompatibel == 1)){
			$g_compat =  2; // 011
		}elseif	(($kompatibel == 1) AND ($eingeschraenkt == 0) AND ($inkompatibel == 0)){
			$g_compat =  1; // 100
		}elseif	(($kompatibel == 1) AND ($eingeschraenkt == 1) OR ($inkompatibel == 1)){
			$g_compat =  2; //110 101
		}elseif	(($kompatibel == 1) AND ($eingeschraenkt == 1) AND ($inkompatibel == 1)){
			$g_compat =  2; //111
		}
		
		echo "Geraetcompat=".$g_compat."<br>";
		?>
 
Zuletzt bearbeitet:
Hallo zusammen,

also der Code den ich gepostet hab, funktioniert bestens.

Dank dem tipp mit COUNT konnte ich mir mit etwas probieren selbst helfen.

Hat denn jemand dafür noch nen Tipp, ist es umständlich programmiert?

Grüße

Jamest

danke nochmal für die tipps
 
Zuletzt bearbeitet:
Zurück