pragmaMx Support Forum

pragmaMx => integrierte Module => Thema gestartet von: gg am 21 Februar 2006, 13:49:42

Titel: feedback - Dropdown mit Namen der Mitglieder einer Usergruppe
Beitrag von: gg am 21 Februar 2006, 13:49:42
Hallo liebe User und Entwickler,

ich möchte einem (beliebigen) feedback-Formular
im NICHT-php-Bereich, also html-Bereich einer php-Datei

ein Dropdown-Feld hinzufügen,

dass Name, Vorname, Username
aller in einer bestimmten Usergruppe enthaltenen Mitglieder zur Auswahl auflistet,

wobei die Selektion der Usergruppe

am Besten über den access_title der tabelle group_access statt finden sollte,

wenns nicht geht, dass eben über access_id <-> user_ingroup.

Also so würde das ja aussehen, wenn man das Dropdown manuell mit den Namen füllt, was aber leider nicht  :'( dynamisch ist.

<tr><td>Ihr(e) Berater(in)</td>
<td>
<select name='berater'>
<option value='1'>Meyer, Peter, pm
<option value='3'>Müller, Josefine, jm
<option value='7'>Muster, Herbert, hm
<option value='9'>Stolz, Sieglinde, sst
</select>
</td></tr>


Bei option value müsste eben die uid rein und

beim Eintrag selbst eben name, vname, uname

wobei mir gerade auffällt, dass es gar keine Vornamen gibt.
Gut, dann muss ich eben noch das Vornamenfeld vname dazumachen, so wie ich meine tabelle bereits um skype erweitert habe...

:( Aber wie man diesen Datenbankinhalt abfragt für eine Usergruppe und dann in das html-Formular reinbekommt und weiterversendet, hab ich so definitiv keinen Ansatz.

:-X Könnt Ihr mir da bitte etwas Hilfestellung geben?

Titel: Re: feedback - Dropdown mit Namen der Mitglieder einer Usergruppe
Beitrag von: jubilee am 21 Februar 2006, 19:14:31
Auf das bisherige Beispiel gemünzt :


<tr><td>Ihr(e) Berater(in)</td>
<td>
<?php
$usergruppe
=1//Hier die Usergruppe (Zahl!)
$qry="SELECT uname, uid FROM ${user_prefix}_users WHERE user_ingroup=${usergruppe}"?>

<select name='berater'>
<?php while($row sql_fetch_assoc($qry))
{
echo '<option value=' $row['uid'] .'>' $row['uname'] . '</option>';
}
?>

</select>
</td></tr>


MfG
jubilee
Titel: Re: feedback - Dropdown mit Namen der Mitglieder einer Usergruppe
Beitrag von: gg am 21 Februar 2006, 20:44:43
Hallo Jubilee,

das sieht ja hochprofessionell aus, recht herzlichen Dank, ich werd*s morgen gleich ausprobieren, nachdem ich die Frondienste an meiner Buchhaltung erledigt habe....

Gute Nacht
Titel: Re: feedback - Dropdown mit Namen der Mitglieder einer Usergruppe
Beitrag von: gg am 24 Februar 2006, 17:25:11
Hallo, jubilee,

bin gerade dabei, das neue Formular zu bauen, leider ist mein dropdown leer.

Ich habe für jedes Formular ein Modul gemacht (wg. der Lang-Variablen später mal), dass auf einen formmailer in einem ordner im pragma zugreift.

Das funktioniert auch schon in meinem Info-Center unter www.paxMMS.de.

die Index.php meines Formularmodul ruft über ein include das eigentliche Formular auf.

Kann es sein, dass deswegen der DB-Zugriff nicht funktioniert?

Meine index.php

<?php
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
require_once(
"mainfile.php");
$module_name basename(dirname(__FILE__));
mxGetLangfile($module_name);
$index =1;
global 
$sitename$module_name;
include ("header.php");
//GG Seitentitel in ext. Datei
if (@file_exists("themes/knopf/titles/title_".$module_name.".php")){
    include (
"themes/knopf/titles/title_".$module_name.".php");
    } else
        if (@
file_exists("themes/knopf/titles/title.php")){
            include (
"themes/knopf/titles/title.php");
            } else {
                echo 
"<center><b>"._FORM_TITLE."</b></center><br><br>\n";
            }
//GG Seitentitel ende
    
echo "<br>";
OpenTable();
    echo 
"<center>"._FORM_GERN."</center>";
    echo 
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
.""._FORM_REQUIRED."";

echo "<table class=\"formmail\" align=\"center\"><tr><td>";
i[color=red]nclude ("form_mm_termin.php");[/color]
echo "</td></tr></table>";
CloseTable();
include ("footer.php");
?>



Der Anfang des externen, im gleichen ordner liegenden Formulars ibis incl. der Zeile mit dem Dropdown sieht so aus:

<?php
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
require_once("mainfile.php");
echo "<form action=\"".GG_PATH_FORMMAIL."/formmail.php\" method=\"post\" enctype=\"multipart/form-data\" accept-charset=\"UTF-8\" name=\"mm_termin\">";
?>

<!-- GG Tabelle drumrum für Rand im Modul drin-->
<input name="subject" type="hidden" class="norm11" value="Terminanforderung f&uuml;r pax:massmode" />
<input name="Thema" type="hidden" class="norm11" id="Thema" value="pax_massmode" />
<input type="hidden" name="sort" value="order:title,env_report,recipient,realname,email,firma,firstname,lastname">
<input type="hidden" name="env_report" value="REMOTE_HOST,HTTP_USER_AGENT,HTTP_ACCEPT_LANGUAGE,HTTP_REFERER,CONTENT_LENGTH,HTTP_COOKIE">
<input type="hidden" name="recipient_bcc" value="g@massmode.net">
<input type="hidden" name="recipient" value="anfrage@massmode.net">
<input type="hidden" name="print_blank_fields" value="false">
<input type="hidden" name="title" value="Infoanforderung - Ihre Eingaben">
<input type="hidden" name="priority" value="3">
<input type="hidden" name="gmt_offset" value="+1">
<input type="hidden" name="email_regex" value="^[_a-zA-Z0-9]+\.?[a-zA-Z0-9]+\@[a-zA-Z0-9]+\.?[a-zA-Z0-9]+\.[a-zA-Z]{1,6}$">
<input type="hidden" name="required" value="email,firstname,lastname,plz">
<?php
//GG Danke-Seite- Url  dem conteudomodul eingesetzt -->
echo "<input type=\"hidden\" name=\"redirect\" value=\"".MX_BASE_URL."modules.php?name=Conteudo&pa=showpage&pid=10\">";
 
?>

<table width="100%" align="center" cellspacing="3" class="form_haupt">
<tr>
<td colspan="5" align="left" class="form_bez_spalte">Nehmen Sie bitte mit mir Kontakt auf
</td>
</tr>
<!--GG Berater-->
<tr>
<td colspan="5" width="100%" align="left">W&auml;hlen Sie bitte Ihre(n) Berater(in)
<?php
$usergruppe
=2//Hier die Usergruppe (Zahl!)
$qry="SELECT uid,name,uname  FROM ${user_prefix}_users WHERE user_ingroup=${usergruppe}"?>

        <select name="berater" tabindex="1">
        <?php while($row sql_fetch_assoc($qry)){echo '<option value=' $row['uid'] .'>'$row['name'] .' - ' $row['uname']'</option>';}
?>

        </select></td></tr>
<!--GG Berater ende-->


Wenn ich dieses ${user_prefix} durch den tatsächlichen prefix ersetze, ändert sich auch nichts.

Wisst Ihr, warum das nicht geht ( :D Es ist selbstverständlich jemand in der Usergruppe 2, falls jemand fragen wollte....)?
Titel: Re: feedback - Dropdown mit Namen der Mitglieder einer Usergruppe
Beitrag von: gg am 24 Februar 2006, 17:31:52
Meint Ihr, es bringt was, wenn ich das Formular komplett auf php unstelle, also alles html in echos etc. packe?
Titel: Re: feedback - Dropdown mit Namen der Mitglieder einer Usergruppe
Beitrag von: jubilee am 24 Februar 2006, 17:36:16
Hallo !
Mach einmal den debug-Mode an und schau ob es Fehlermeldungen gibt
(Debug Mode einschalten und SQL-Fehler anzeigen einschalten)
Mal sehen, was da das Problem ist...

MfG
jubilee
Titel: Re: feedback - Dropdown mit Namen der Mitglieder einer Usergruppe
Beitrag von: gg am 24 Februar 2006, 18:01:21
Fehler bezüglich  aufgerufener  modules.php?name=form_mm_termin

1.
ZitatpragmaMx 0.1.7 Debug-Mode, PHP Error-Reporting (E_ALL) enabled

GET: Array
(
    [name] => form_mm_termin
)

2.
Zitat
Parse error: parse error, expecting `','' or `';'' in D:\xampp\htdocs\_px1\modules\form_mm_termin\form_mm_termin.php on line 35
Dort steht:

<?php while($row sql_fetch_assoc($qry)){echo '<option value=' $row['uid'] .'>'$row['name'] .' - ' $row['uname']'</option>';}  
Titel: Re: feedback - Dropdown mit Namen der Mitglieder einer Usergruppe
Beitrag von: jubilee am 24 Februar 2006, 18:14:27
Hinter dem $row['uname']  direkt VOR '<option... fehlt ein Punkt .
Falsch abgeschrieben ;)


<?php while($row sql_fetch_assoc($qry)){echo '<option value=' $row['uid'] . '>' $row['name'] . ' - ' $row['uname'] . '</option>';}


MfG
jubilee
Titel: Re: feedback - Dropdown mit Namen der Mitglieder einer Usergruppe
Beitrag von: gg am 24 Februar 2006, 19:35:23
"Denkste, Puppe" sagt der Berliner....

Nach der punktenden Änderung kein Inhalt im Dropdown.....
Titel: Re: feedback - Dropdown mit Namen der Mitglieder einer Usergruppe
Beitrag von: jubilee am 24 Februar 2006, 19:53:47
ZitatNach der punktenden Änderung kein Inhalt im Dropdown.....
Aber zumindest die Fehlermeldung ist weg .....
Diese Zeile noch anpassen :
Zitat$qry="SELECT uid,name,uname  FROM ${user_prefix}_users WHERE user_ingroup=${usergruppe}"; ?>

neu :

Zitat$qry=sql_query("SELECT uid,name,uname  FROM ${user_prefix}_users WHERE user_ingroup=${usergruppe}"); ?>

dann klappt das auch ...
Titel: Re: feedback - Dropdown mit Namen der Mitglieder einer Usergruppe
Beitrag von: gg am 24 Februar 2006, 21:11:37
Recht recht herzlichen Dank, das funktioniert ja super.....

Was und wie lange muss mann lesen und lernen, um das WARUM des Unterschieds zwischen Select Version 1 und 2 zu wissen, und warum wann welches geht?????

:D
:-\
:o
Liebe Grüsse
:-*
Titel: Re: feedback - Dropdown mit Namen der Mitglieder einer Usergruppe
Beitrag von: jubilee am 25 Februar 2006, 09:54:14
ZitatWas und wie lange muss mann lesen und lernen, um das WARUM des Unterschieds zwischen Select Version 1 und 2 zu wissen, und warum wann welches geht?
Nun Fall1 konnte nicht gehen, da die Query überhaupt nicht ausgeführt wurde.
Dazu ist immer das sql_query erforderlich. Das sql_fetch_assoc dient dazu die Daten die von der Query kommen weiter auzubereiten.
MfG
jubilee