MyBB.de Forum
Aus Auswahlliste auslesen und sortieren - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Aus Auswahlliste auslesen und sortieren (/thread-32037.html)



Aus Auswahlliste auslesen und sortieren - Seven - 18.05.2015

Hallo ihr Lieben,

ich sitze gerade an der einer der automatischen Listen die hier herumflattern und zwar an dieser:

Code:
<?php

//avatarlisten addon by fallen newyork

define('IN_MYBB', 1);
require "./global.php";
require "./inc/config.php";

add_breadcrumb("stammbaum", "stammbaum.php");

// Somerset_grom
$faceclaim=$db->query("SELECT * FROM mybb_users LEFT JOIN mybb_userfields ON mybb_users.uid = mybb_userfields.ufid WHERE fid13 = 'Somerset_grom' ORDER BY mybb_userfields.fid9 DESC");

while($result=$db->fetch_array($faceclaim)) {
$userid = $result['uid'];
$username = $result['username'];
$alter = $result['fid9'];
$geheimnis = $result['fid6'];
$generation = $result['fid12'];    

eval("\$somerset_grom.= \"".$templates->get("somerset_grom")."\";");
}

// Somerset_grov
$faceclaim=$db->query("SELECT * FROM mybb_users LEFT JOIN mybb_userfields ON mybb_users.uid = mybb_userfields.ufid WHERE fid14 = 'Somerset_grov' ORDER BY mybb_userfields.fid9 DESC");

while($result=$db->fetch_array($faceclaim)) {
$userid = $result['uid'];
$username = $result['username'];
$alter = $result['fid9'];
$geheimnis = $result['fid6'];
$generation = $result['fid12'];    

eval("\$somerset_grov.= \"".$templates->get("somerset_grov")."\";");
}

eval("\$stammbaum = \"".$templates->get("stammbaum")."\";");
output_page($stammbaum);

?>

Nun möchte ich allerdings aus einer Auswahlliste einen bestimmten Wert auslesen lassen und entsprechend soll danach der Username zugeordnet werden. Eigentlich sollte das ähnlich wie dieses hier funktionieren WHERE fid14 = 'Somerset_grov' , das ist ja auch eine Auswahlliste die ich gerne beibehalten würde.

Klingt wirr! Hier ein kleines Beispiel:
Der User hat im Profil die Auswahlliste Generation, auswählen kann er zwischen Großvater, Vater, Enkel usw.

Sagen Wir User X wählt nun in dem Feld Generation Großvater aus, dann möchte ich das er entsprechend seiner Wahl an der Stelle Großvater mit Namen angezeigt wird. Im Template lasse ich alles in einer Tabelle ausgeben aktuell einzeln via $großvater $enkel usw. Dies ist aber etwas unschön da ich so zuviele Profilfelder habe und das echt lieber über eine Auswahlliste regeln würde.

Das Problem das sich mir nun stellt ist folgendes:

1) wie lese ich überhaupt die Werte aus wenn ich hier kein value angeben kann wie bei einem Formular und ohne das es mit der Auswahlliste für die komplette Sortierung kollidiert?

2) wie stelle ich es an das wenn in meinem Template $generation öfter vorkommt die gewählte Generation immer nur einmal angezeigt wird pro sortiertem Stammbaum (z.B. somerset_grom)? Ist das überhaupt möglich?

Ich hoffe das war halbwegs verständlich? Wenn nicht bin ich natürlich bemüht es genauer zu erklären.

LG


RE: Aus Auswahlliste auslesen und sortieren - Seven - 29.05.2015

Hallo ich kann meine Nachricht nicht editieren (zumindest nicht am Handy), ich habe das ganze mal vereinfacht. Könnte das jemand dann bitte gegen den obigen Text tauschen?

----------------------------------------------->

Hallo ihr Lieben,

ich sitze gerade an der einer der automatischen Listen die u.a. im Mybb.de herumflattern und zwar an dieser (Achtung das ist meine bereits abgeänderte Form):

Code:
// Somerset_grom
$faceclaim=$db->query("SELECT * FROM mybb_users LEFT JOIN mybb_userfields ON mybb_users.uid = mybb_userfields.ufid WHERE fid13 = 'Fam1' ORDER BY mybb_userfields.fid9 DESC");

while($result=$db->fetch_array($faceclaim)) {
$userid = $result['uid'];
$username = $result['username'];
$generation = $result['fid12'];    

eval("\$Fam1.= \"".$templates->get("Fam1")."\";");
}

Ich will im Grunde "nur" zusätzlich aus einer Auswahlliste (Generation), eben auslesen lassen was gewählt wurde und dies entsprechend an einer bestimmten Stelle anzeigen. Heißt:

Person X wählt aus der Auswahlliste namens Generation aus er sei Senior. Dann möchte ich das diese Auswahl im Template an Platz Senior ist und nicht am Platz Kind.

Es kann vielleicht über eine if Abfrage funktionieren a la wenn Generation gleich Enkel zeige variable Enkel oder so. Nur irgendwie mach ich da aktuell nen Denkfehler :D

Leider scheitere ich da an den Profilfeldern. Ich weiß zwar wie ich normal eine Auswahlliste mit value auslesen kann aber so erscheint es mir schwer. Hat jemand eine Idee?

LG Sev