Projekt-Modul aus NSN Work_Board

Begonnen von gg, 18 Mai 2006, 18:04:27

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

gg

Hallo, liebe Leute,

habe lange nach ner kleinen Lösung für unsere Mitarbeiter gesucht, um Projekte und Aufgaben für diese Benutzergruppe schnell online eintragen zu können.

Das NSN Work_Board 1.4 scheint ganz gut geeignet und ich hab die komplette Übersetzung in Deutsch auch der DB-Einträge fertig.

Wenn ich fertig bin, werde ich das Modul mit meinen Übersetzungen hier veröffentlichen.

Ich bräuchte jedoch noch ne kleine Hilfestellung bzgl. DB-Auslesen für eine Übersicht.

Es gibt dort ähnlich wie im Veranstaltungsmodul Vera eine Übersichtsseite, auf der die Projekte aufgelistet sind.

In der Spalte Mitarbeiter wird aber leider nur die Anzahl der Mitarbeiter ausgegeben, und ich wollte die Kürzel der beteiligten Mitarbeiter da rein haben.

Darum geht es konkret (original):
            $memberresult = $db->sql_query("select member_id from ".$prefix."_nsnwb_tasks_members where task_id='$task_id' order by member_id");
            $member_total = $db->sql_numrows($membersresult);


Das obige soll jetzt aber nicht die Anzahl ausgeben, sondern die Anweisung soll aus der Tabelle

$prefix."_nsnwb_members   den Wert von member_uname für die beteiligten Mitarbeiter auswerfen, hintereinander, mit Komma getrennt.

Dann sieht man auf dem ersten Blick, welche Mitarbeiter dem Projekt zugewiesen sind.

Danke, wenn mir jemand da behilflich sein könnte.

Liebe Grüsse
Gabi

Herzliche Grüsse aus Berlin
Gabi
___________________________________
pragmaMX 0.1.9, 1.20.4.18
Probieren geht (manchmal) über studieren!

NeMeSiSX2LC

           

$memberresult = sql_query("select member_uname from ".$prefix."_nsnwb_tasks_members where task_id='$task_id' order by member_uname");

while($member_total = sql_fetch_array($membersresult))(

echo $member_total.",";

)



So würde ich mir das jetzt vorstellen. Ist aber ungetestet.
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Andi

Hi :)

// ein leeres array "teilnehmer" erstellen
$teilnehmer = array();
// die gleiche Datenbankabfrage mit Feld member_uname anstatt member_id
$memberresult = $db->sql_query("select member_uname from ".$prefix."_nsnwb_tasks_members where task_id='$task_id' order by member_uname");
// mit Schleife das gesamte Ergebnis auslesen
while ($row = $db->sql_fetchrow($membersresult)) {
// das array "teilnehmer" in der Schleife mit den einzelnen Usernamen füllen
$teilnehmer[] = $row['member_uname'];
}
// das array in einen String umwandeln, als Trennzeichen das Komma...
$teilnehmer = implode(', ', $teilnehmer);
schön´s Grüssle, Andi

gg

Hallo, Andi,

danke für Deine tolle Mühe.

Kleiner Flüchtigkeitslesefehler?????

ZitatDas obige soll jetzt aber nicht die Anzahl ausgeben, sondern die Anweisung soll aus der Tabelle

$prefix."_nsnwb_members   den Wert von member_uname für die beteiligten Mitarbeiter auswerfen, hintereinander, mit Komma getrennt.

Also member_uname ist nicht in der Tabelle

".$prefix."_nsnwb_tasks_members

Daher kommt dann bestimmt die Ausgabe "Unknown column 'member_uname' in 'field list'", oder?

Das ist es ja, was ich eben nicht beherrsche (neben bestimmt sehr viel Anderem  ;)), wie man an einen Feldinhalt einer anderen, in diesem Fall über member_id verknüpften Tabelle kommt. :-\
Herzliche Grüsse aus Berlin
Gabi
___________________________________
pragmaMX 0.1.9, 1.20.4.18
Probieren geht (manchmal) über studieren!

jubilee

ZitatFeldinhalt einer anderen, in diesem Fall über member_id verknüpften Tabelle kommt.

Die Tabellen verknüpfst Du über z.B. über LEFT JOIN.
Beispiel.
Aus Tabelle 1 sollen Bestellungen ausgeslesen werden mit den Feldern
Artikelnr, Artikeltext
diese ist mit dem Feld  BestellerID mit Tabelle 2 wo dieses Feld KundenID heisst,verknüpft

Es sollen alle Artikel zu einer KundenID ausgelesen werden, dazu Name, Adresse, Telefon

Wie muss dann die Abfrage aussehen ?

SELECT a.Artikelnr, a.Artikeltext, b.Name, b.Adresse, b.Telefon FROM Tabelle1 AS a LEFT JOIN Tabelle2 AS b ON a.BestellerID=b.KundenID where (KundenID=Gewünschte ID)

MfG

gg

Hallo, Jubilee,
danke für Deine Anleitung, Du hast Recht,...

verschenke keine Fische, sondern bring Ihnen bei wie man selbst fischt....

Na gemäss diesem Motto hab ichs probiert, aber ich fürchte, ich hab da nen Umsetzungsfehler....

//GG für uname MA
// ein leeres array "teilnehmer" erstellen
$teilnehmer = array();
$memberresult = $db->sql_query("select a.member_uname from ".$prefix."_nsnwb_members AS a LEFT JOIN ".$prefix."_nsnwb_tasks_members AS b ON a.member_id=b.member_id where task_id='$task_id' order by member_id"); //GG
// mit Schleife das gesamte Ergebnis auslesen
while ($row = $db->sql_fetchrow($membersresult)) {
// das array "teilnehmer" in der Schleife mit den einzelnen Usernamen füllen
$teilnehmer[] = $row['member_uname'];
}
// das array in einen String umwandeln, als Trennzeichen das Komma...
$teilnehmer = implode(', ', $teilnehmer);
//GG  uname MA  ende


Ausgegeben wird nach wie vor eine 1 (es ist nur ein MA für die Aufgabe eingeteilt) und oben drüber kommt die Meldung:
Zitat
Column 'member_id' in order clause is ambiguous
Herzliche Grüsse aus Berlin
Gabi
___________________________________
pragmaMX 0.1.9, 1.20.4.18
Probieren geht (manchmal) über studieren!

jubilee

Hallo !
ZitatColumn 'member_id' in order clause is ambiguous
das sagt aus, das Du in beiden Tabellen ein Feld mit dem Namen member_id hast.
Damit SQL weiss, welch der beiden felder gemeint ist, musst Du diese spezifizieren.
Zitat
$memberresult = $db->sql_query("select a.member_uname from ".$prefix."_nsnwb_members AS a LEFT JOIN ".$prefix."_nsnwb_tasks_members AS b ON a.member_id=b.member_id where task_id='$task_id' order by member_id");

oder by a.member_id oder b.member_id. Nur Angabe von member_id bringt diesen Fehler.

Zu allem anderen müsste ich einmal die beiden Tabellen (möglichst mit Daten drinne) sehen.

MfG


gg

Hallo, Jubilee,
also ich kanns kaum fassen, ich scheine das nach Deinen tollen Hilfestellungen und der array-Hilfe von Andi tatsächlich alleine hinzubekommen!

Da diese username - Geschichte an etlichen Stellen in vielen Dateien vorkommt, also bei den Projekten und den Aufgaben innerhalb der Projekte, dauerts halt noch etwas, vielleicht ne Woche (da ich im Hauptberuf gerade um die Existenz des Firmenteils Technik kämpfe, Auftragsbeschaffung und so.... :-\ ).

Tschussi für Heute und nochmals schönen Dank.
Herzliche Grüsse aus Berlin
Gabi
___________________________________
pragmaMX 0.1.9, 1.20.4.18
Probieren geht (manchmal) über studieren!