Rainer: Query stimmt nicht?

Hallo,

ich habe 2 Tabellen mit folgendem Inhalt:
1. ma

ma_nr vorname name
1       B      B
2       C      C

2. pjt_ma

pjt_nr ma_nr
1       1
2       1
2       2

meine Query:
<?
include("connect.php");

$dat=mysql_query("SELECT * FROM ma");
 while($z=mysql_fetch_array($dat)):
  $kma_nr=$z["ma_nr"];
  $vorname=$z["vorname"];
  $name=$z["name"];

$my=mysql_query("SELECT ma_nr FROM survey_pjt_ma WHERE pjt_nr='$x'");
 while($z=mysql_fetch_array($my)):
  $yma_nr=$z["ma_nr"];
if($kma_nr != $yma_nr){echo"$name";}else{}
 endwhile;
 endwhile;
?>

Wenn ich für $x 1 übergebe erhalte ich als Ausgabe "C". Das ist wohl richtig.
Wenn ich für $x 2 übergebe erhalte ich als Ausgabe "BC".
Eigentlich dürfte doch garnichts da sein?????????
Was ist da falsch?

Gruss aus Thüringen
Rainer

  1. Hallo,

    bei ersten durchlauf mit pjt_nr=1 ird in der inneren whileschleife ein eintrag gefunden beim ersten mal ist er gleich, beim zweiten mal ungleich deshalb die ausgabe

    beim durchlauf mit pjt_nr=2 werden beim inneren select 2 datensätze gefunden...ebenfalls in der äußeren, so ist jedesmal die 1 von der 2 verschieden und beim 2 mal die 2 von der 1 , deshlab zwei ausgaben BC...

    Odium

    1. Hallo,

      ich nochmal...beim durchlauf der inneren schleife mit 2 werden ja 2 datensätze gefunden deshalb zwei vergleiche mit der ersten zahl der ersten schleife, dann wieder 2 vergleiche mit der 2 zahl der ersten schleife...also 4 vergleiche bei 2en ist ein unterschied vorhanden

      wollt ich noch mal anmerken...

      Odium