Forum Doku Wiki Blog

Forumsarchiv 2005, Oktober
Hilfe bei Select-gestaltung

archivierte Beiträge lesen

  1. (PHP) Hilfe bei Select-gestaltung von Stoney, 04. 10. 2005, 15:27

Hilfe bei Select-gestaltung

Der folgende Beitrag wurde am 04. 10. 2005, 15:27 Uhr von Stoney veröffentlicht.

Hallo,

Um den Hintergrund dieses Postings zu verstehen: ?t=116292&m=743921 (Dies ist kein Doppelposting!)

(...) Ich hab mich nun für folgende DB entschieden:

gruppe person
1      1
1      2
2      3
2      4
3      5
3      6
4      7
4      8
5      7
5      9
6      2
6      9

und so sieht sie auch in wirklichkeit aus!


$qry = "SELECT gruppe FROM konflikt WHERE person='$usr'";
$result = mysql_query($qry) or die(mysql_error());
for($j=0; $j < mysql_num_rows($result); $j++)
{
 $gruppe = mysql_result($result, $j, 0);
 $qry = "SELECT person FROM konflikt WHERE gruppe='$gruppe'";
 $result_kp = mysql_query($qry) or die(mysql_error());
 for($z=0; $z < mysql_num_rows($result_kp); $z++) $konflikt_personen[] = $gruppe = mysql_result($result_kp, $z, 0);
}



und das bezweckt folgendes:
zB: ein eintrag für Person mit der ID=9
zunächst bekomme ich alle gruppen in der die person dabei ist.
in unserem Beispiel also: 5,6
Dann selecte ich alle personen die in den gruppen sind und speicher sie in einem array:
7
9
2
9


Nun meine frage: Kann ich das nicht auch irgendwie mit einer SELECT-Abfrage realisieren?

Danke.

Hilfe bei Select-gestaltung

Der folgende Beitrag wurde am 04. 10. 2005, 15:28 Uhr von Stoney veröffentlicht.

korrektur:
>
> $qry = "SELECT gruppe FROM konflikt WHERE person='$usr'";
> $result = mysql_query($qry) or die(mysql_error());
> for($j=0; $j < mysql_num_rows($result); $j++)
> {
> $gruppe = mysql_result($result, $j, 0);
> $qry = "SELECT person FROM konflikt WHERE gruppe='$gruppe'";
> $result_kp = mysql_query($qry) or die(mysql_error());
> for($z=0; $z < mysql_num_rows($result_kp); $z++) $konflikt_personen[] = mysql_result($result_kp, $z, 0);
> }
>

Hilfe bei Select-gestaltung

Der folgende Beitrag wurde am 04. 10. 2005, 16:58 Uhr von MrWurf veröffentlicht.

Hiho

> korrektur:
> >
> > $qry = "SELECT gruppe FROM konflikt WHERE person='$usr'";
> > $result = mysql_query($qry) or die(mysql_error());
> > for($j=0; $j < mysql_num_rows($result); $j++)
> > {
> > $gruppe = mysql_result($result, $j, 0);
> > $qry = "SELECT person FROM konflikt WHERE gruppe='$gruppe'";
> > $result_kp = mysql_query($qry) or die(mysql_error());
> > for($z=0; $z < mysql_num_rows($result_kp); $z++) $konflikt_personen[] = mysql_result($result_kp, $z, 0);
> > }
> >


muss ich mir diesen Code wirklich brainkompilieren?
Sag doch einfach mal in Klartext, wann ein Konflikt vorliegt. Deine Antworten im Originalthread waren diesbezüglich eher mehrdeutig.

Gruß
Wurf

Hilfe bei Select-gestaltung

Der folgende Beitrag wurde am 04. 10. 2005, 17:25 Uhr von MrWurf veröffentlicht.

Hi,

falls du nur alle Mitarbeiter suchst, die mit dem Blaumacher in derselben Gruppe stecken, reicht ein einfacher Subselect:

select distinct person
from meine_kleine_tabelle
where gruppe in
(
   select gruppe from meine_kleine_tabelle where person = '$mein_fauler_mitarbeiter'
)
and person <> '$mein_fauler_mitarbeiter'

wenn du doch was anderes meinst, habe ich es einfach nicht verstanden:-)

Gruß
Wurf

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4