ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Frage zum Forum und den Profilfeldern

Geschlossen
  1. #1
    User Pic
    Liver Mitglied
    Registriert seit
    12.08.2009
    Beiträge
    76
    Beitragswertungen
    0 Beitragspunkte
    Aaaalso, ich wollte im Forum dort wo die Daten wie Avatar etc des jeweiligen stehen noch einige Profil felder anzeigen lassen.
    Ich habe das auch versucht und es funktionierte auch. Das einzige Problem was ich hab ist die korrekte MySQL Abfrage.
    gesperrtes Bild
    also ich brauche keine hilfwe in sachen tempalte sondern nur rein die abfrage.

    ich muss also von der tabelle prafix_userfields die val abfragen. aber eben nur wo uid = der id vom jeweiligen user.
    aber dann muss ich dazu noch 3 bestimmte fid abfragen.

    diese abfrage hatte ich hinbekommen, nur mit viel php und 3 sql abfragen.
    ich bräuchte aber eine einfachere variante, so kurz wie möglich.
    kann mir da einer behilflich sein? glücklich


    verwendete ilchClan Version: 1.1

    betroffene Homepage: corruptionb.co.ohost.de/clan/
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    vreak Mitglied
    Registriert seit
    14.02.2005
    Beiträge
    287
    Beitragswertungen
    0 Beitragspunkte
    du meinst das?

    SELECT feld1,feld2,feld3 FROM `ic1_user` WHERE id = 1337
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Fire86 Mitglied
    Registriert seit
    25.04.2009
    Beiträge
    543
    Beitragswertungen
    0 Beitragspunkte
    Kein Support per Email oder ICQ!
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    warum einfach wenn es auch kompliziert geht

    ich poste später nen code der einfach genug ist -.-
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Fire86 Mitglied
    Registriert seit
    25.04.2009
    Beiträge
    543
    Beitragswertungen
    0 Beitragspunkte
    Ah, seh grad das hatte er eh schon ungefähr so, vorhin überlesen.
    Für Anfänger ist es halt leichter nachzuvollziehen, auch wenn der Code natürlich in Wirklichkeit komplizierter ist. zwinker

    Hier bitte, hab mal eben kurz 3 beliebige val Werte in eine Abfrage gepackt, hoffe das hilft dir weiter
    SELECT
       a.id,
       a.name,
       b.val AS info1,
       c.val AS info2,
       d.val AS info3 
    FROM 
       prefix_user AS a 
    LEFT JOIN 
       prefix_userfields AS b
    ON
       a.id = b.uid AND b.fid = X
    LEFT JOIN 
       prefix_userfields AS c
    ON
       a.id = c.uid AND c.fid = Y
    LEFT JOIN
       prefix_userfields AS d
    ON
       a.id = d.uid AND d.fid = Z
    WHERE
       a.id = XYZ


    X Y Z entsprechend ersetzen.
    Das ganze ist für beliebig viele val Werte erweiterbar.

    Achja: Wenn Felder von einem User nicht ausgefüllt wurden, liefert sql "NULL" als Ergebnis.
    Es könnte also ratsam sein, mit empty() bzw is_null() zu arbeiten, meinetwegen so
    if ( empty($row['info1']) ) {
      $row['info1'] = 'keine Angabe';
    }



    Zuletzt modifiziert von Fire86 am 18.08.2009 - 18:36:50
    Kein Support per Email oder ICQ!
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    wieder zu kompliziert zunge

    ich muss noch bis 21 uhr dienst schieben ich poste nachher eine simple lösung^^
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    function get_userfieldval($uid,$fid,$begin='',$middle='', $end=''){
    	$erg=@db_query('SELECT a.`show`,b.`val` FROM `prefix_profilefields` AS a LEFT JOIN `prefix_userfields` AS b ON b.`fid`=a.`id` WHERE b.`uid`='.$uid.' AND b.`fid`='.$fid);
    	$row=@db_fetch_object($erg);
            $row->val=(emty($row->val)?'':$row->val);
    	$ausgabe=$begin.ucfirst($row->show).$middle.$row->val.$end;
    	return($ausgabe);
    }


    Diese Funktion in die datei includes/include/func/allg.php kopieren

    dann kann man egal wo im Script so auf die Werte eines Profilfeldes zugreifen:

    get_userfieldval(UID,FID,'BEGINN','MITTE','ENDE')

    UID ist die id des USERS
    FID ist die id des PROFILFELDES
    BEGINN ist der BEGINNENDE TAG ->'<td>'
    MITTE ist die TRENNUNG zwischen Bezeichnung und Inhaltdes Feldes -> '</td><td>'
    ENDE ist das SCHLIESENDE TAG ->'</td>'

    usgegeben wird dann
    <td>FELDBEZEICHNUNG</td><td>FELDINHALT</td>

    für das Forum speziell
    Standart Ilch show_post.php Zeile 80

    $row['posts'] = ($row['posts']?'<br />Posts: '.$row['posts']:'').'<br />';

    ZU

    $row['posts'] = ($row['posts']?'<br />Posts: '.$row['posts']:'').'<br />'.get_userfieldval($row['erstid'],7,'',' : ','<br />');

    bewirkt dann das uter der anzahl geschriebener posts Icq: XXX erscheint,

    hf

    PS: Den die ID der Felder findest du im Admin Menu unter Profile fields wenn man da auf löschen geht unten in der browser status Leiste javascript:delcheck(19)
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    nice nice lächeln
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Fire86 Mitglied
    Registriert seit
    25.04.2009
    Beiträge
    543
    Beitragswertungen
    0 Beitragspunkte
    Auch ne Möglichkeit, ist sicherlich etwas modulorientierter ausgelegt.
    Mir persönlich etwas zu beschränkt in seinen Möglichkeiten, besonders bei der Ausgabe, aber für den normalen Ilch User wird's sicherlich genügen. zwinker
    Kein Support per Email oder ICQ!
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Liver Mitglied
    Registriert seit
    12.08.2009
    Beiträge
    76
    Beitragswertungen
    0 Beitragspunkte
    jo, vielen dank.
    auch cool dass du direkt ne funktion gemacht hast, find ich nice zwinker

    ich danke euch!!!
    (sry wenn ich so spät antworte, abetr hatte kein i-net, scheiß t-com xD )
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Liver Mitglied
    Registriert seit
    12.08.2009
    Beiträge
    76
    Beitragswertungen
    0 Beitragspunkte
    verdammt, einwurf!
    ich hatte erst jetzt zeit um es auszuprobieren und habe eine sache gemerkt!
    ich möchte nicht von den vorgegebenen profilfeldern sondrn von den extra hinzugefügten profilfeldern die daten rausbekommen!

    bitte um erneute hilfe X_X
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    -.-

    DU NASE

    ich hab doch beschrieben wie es funktioniert.....


    Den die ID der Felder findest du im Admin Menu unter Profile fields wenn man da auf löschen geht unten in der browser status Leiste javascript:delcheck(19)

    DAS fette ist die ID des Feldes


    ES ist egal was fürn feld es muss nur unter admin?profilefields gelistet sein dort die ID nehmen fertig
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Liver Mitglied
    Registriert seit
    12.08.2009
    Beiträge
    76
    Beitragswertungen
    0 Beitragspunkte
    echt Oô....
    ich versuchs ma...
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten