von subjective |
Laß die InputQuery einfach leer und schreib den Quelltext dannach zwischen die eingefügten BB-Tags. |
von elster |
Hallo!
Den Codelink hatte ich übersehen.
Ich saß schon zu lange vor der Kiste ...
also hier nochmal überarbeitet und
durch Codefenster gepresst ...
Das $result3 steckt ja schon in einer Schleife.
Eine weitere brachte hier nichts.
Danke,
Gruß, Jörg
aber sorry!!! das Quellcodefenster ist zu klein (
(wer schickt den schon EINE Zeile rüber?? Sysifuß)
Dafür haben sie sich bei den smileys "mehr Mühe" gegeben ... (Kommun. is ja wichtig)
ergo: 
// =====================query======111111111111111111===========
$q1 = "SELECT id1
FROM tabelle1
WHERE ".$q1_where;
$result1 = mysql_query($q1, $link);
$arr1 = mysql_num_rows($result1);
printf("query ergab %d Datensätze<br>", $arr1); // 12 Datensätze ok
mysql_data_seek($result1, 0);
while($arr2 = mysql_fetch_assoc($result1)) {
echo $arr2['id1'].";"; }
echo "<br>" . mysql_affected_rows() . " <br>"; // 12 ok
// ======================query=====222222222222222222===========
mysql_data_seek($result1, 0);
while($arr3 = mysql_fetch_row($result1)) {
$q2 = "SELECT id2, feld1, feld2
FROM tabelle2
WHERE id2 = '".$arr3[0]."'";
$result2 = mysql_query($q2);
$arr4 = mysql_fetch_assoc($result2);
echo $arr4['id2']."=".$arr3[0].";"; // 12 Wertpaare ok
}
echo "</font><br>\n"; echo mysql_affected_rows() . " <br>"; // 1 ??
// ======================query=====333333333333333333333===========
mysql_data_seek($result2, 0);
while($arr5 = mysql_fetch_row($result2)) {
$q3 = "SELECT feld3, feld4, feld5, feld6, feld7
FROM tabelle3
WHERE '".$arr5[1]."' BETWEEN feld4 AND feld6 AND
'".$arr5[2]."' BETWEEN feld7 AND feld5";
$result3 = mysql_query($q3); echo mysql_affected_rows() . " <br>"; // 2 ??
$arr6 = mysql_fetch_assoc($result3); // bei 2. while hier stimmt id2, Erg.-zahl nicht
echo "id2: ".$arr5[0]."=".$arr6["feld3"]."<br>"; // 1 Wertpaar des letzten Datensatzes
}
echo "</font>\n"; |
von subjective |
*ähm* Hast du den Link "Quellcode" über dem Eingabeformular dieses Forum gesehen. Der Quellcode da ist ziemlich unleserlich, da die Einrückungen fehlen.
Für $result3 fehlt die Schleife zum Abfragen der Egebnisse, wenn ich dies richtig sehe. |
von elster |
Hallo!
Ich wollte einmal detailierter versuchen,
Ergebnisse weiter zu verwenden.
Die Wertübergabe klappt aber nicht so einfach.
Aus der letzten SELECT wird nur der letzte Datensatz ausgegeben. (
Hier von $q1 über $q2 nach $q3:
// ===========================111111111111111================
$q1 -> $result1 -> Ausgabe // 12 Ergebnisse ok
..............................
// ===========================222222222222222222================================================
mysql_data_seek($result1, 0);
while($erg1 = mysql_fetch_row($result1)) {
$q2 = "SELECT id, feld1, feld2
FROM wp
WHERE id = '".$erg1[0]."'";
$result2 = mysql_query($q2);
$q2kennung = mysql_fetch_assoc($result2);
echo $q2kennung['id']."=".$erg1[0].";"; // 12 Wertpaare ausgegeben ok
}
echo "</font><br>\n"; echo mysql_affected_rows() . " affected_rows<br>"; // nur 1 ??
// ===========================333333333333333333333================================================
mysql_data_seek($result2, 0);
while($erg2 = mysql_fetch_row($result2)) {
$q3 = "SELECT name, feld3, feld4, feld5, feld6
FROM ras
WHERE '".$erg2[1]."' BETWEEN feld3 AND feld6 AND
'".$erg2[2]."' BETWEEN feld5 AND feld4";
$result3 = mysql_query($q3); echo mysql_affected_rows() . " affected_rows<br>"; // nur 2
// ---------- Meldungen -------------------
if (!$result3) {
print mysql_error();
die("q3 $q3 ist ungültiges SQL."); }
if (mysql_num_rows($result3) == 0) {
echo "nix gefunden<br>"; }
// ----------------------------
$q3kennung = mysql_fetch_assoc($result3);
echo "id: ".$erg2[0]."=".$q3kennung["name"]."<br>"; // 1 Wertpaar ausgegeben und zwar das letzte ??
}
echo "</font>\n";
/*
..............................
MySQL 3.23, php 4.21
Nach meinem (bisherigen) Verständnis, hätte das
klappen müssen.
Im $erg_ stehen Ergebnisse vorherige Querys -
probiert auch mit je einer 2. while-Schleife,
bekomme ich aber keine Ergebnisse.
Was sehe ich da nicht?
Wieso funktioniert die $q3 nicht so wie $q2?
$q2 gibt ja zumindest die 12 Werte aus.
Grüße, Danke für Hilfen, Jörg |
|