Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Zeilenumbruch mehrerer Werte eines Profilfeldes
#11
So wie ich es mit den Vorschlägen von Raphael gemacht habe kommt immer nur sowas raus im Quelltext:

Suche Domain-Sponsoring
Suche Webspace-Sponsoring <br /><br /><br />

Und da zwischen den oberen beiden kein <br /> ist, wird dann angezeigt:

Suche Domain-Sponsoring Suche Webspace Sponsoring.


Nach langem Probieren habe ich mal Code eins und zwei kombiniert und hab es geschafft, jedoch zeigt mir der Quelltext nun folgendes an:

Suche Domain-Sponsoring <br /> Suche Webspace-Sponsoring <br /> <br /> <br /> <br /> <br />

PHP Code:

PHP-Code:
<?php 


    
global $db$mybb;
    {        
    
      
$query $db->query("SELECT * 
FROM  `mybb_userfields` 
WHERE `ufid` = "
.$memprofile['uid']."
"
);
            echo 
'';

          while(
$row $db->fetch_array($query))  
{
    
$suche2  "{$row['fid17']}";
$cat explode("\n"$suche2);

echo 
$cat[0] . "<br />";  
echo 
$cat[1] . "<br />"
echo 
$cat[2] . "<br />"
echo 
$cat[3] . "<br />"
echo 
$cat[4] . "<br />"
echo 
$cat[5] . "<br />"
echo 
$cat[6] ; 


    }


    }
?>
Zitieren
#12
Ja, weil im Array $cat nur die Elemente 0 und 1 etwas enthält und die anderen leer sind. Die Lösung wäre mit implode() zu arbeiten.
Zitieren
#13
PHP-Code:
<?php 


    
global $db$mybb;
    {        
    
      
$query $db->query("SELECT * 
FROM  `mybb_userfields` 
WHERE `ufid` = "
.$memprofile['uid']."
"
);
            echo 
'';

          while(
$row $db->fetch_array($query))  
{


    
$a1 = array("".$row['fid17']."");
    
    echo 
"".implode("'\n'",$a1)."\n";

...
...
.. 

Egal wie ich es versuche, es geht nicht. egal ob ich \n mit <br /> ersetzte, oder etwas wo hinzufüge.

Ich habe die funktion bei php.net gefunden, bzw. lösungsansatz, aber ich glaube es liegt daran, dass ich im array nicht mehrere felder angegeben habe, wie z.b. "text1","text",.. sondern nur die row(fid17) ausgabe, also das datenbank feld.
kann man nicht erst das datenbankfeld auslesen, die dann ordnen und dann im array angeben "cat1","cat2",...
?
Zitieren
#14
Wenn du willst, dass man bei der Anzeige im Browser einen Zeilenumbruch hat, musst du <br /> nehmen. \n ist NUR für im Quelltext.

Die Lösung wäre wohl:
PHP-Code:
<?php 
    
global $db$mybb;    
      
$a1 = array();
      
$query $db->query("SELECT * 
FROM  `mybb_userfields` 
WHERE `ufid` = "
.$memprofile['uid']."
"
);
          while(
$row $db->fetch_array($query))  
{
    
$a1[] = $row['fid17'];
}
    
    echo 
implode("<br />"$a1); 
Zitieren
#15
Ich verstehe auch gar nicht, wozu hier mit while, implode und Arrays gearbeitet wird. Es gibt zu einer uid einen Datensatz und darin eine fid17.
Mit echo dürfe man nicht weit beim MyBB kommen, wenn man etwas in einem Template anzeigen lassen will.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#16
Habe mich nochmal rangesetzt und es geschafft.
Folgender Code klappt:

PHP-Code:
<?php 


    
global $db$mybb;
    {        
    
      
$query $db->query("SELECT * 
FROM  `mybb_userfields` 
WHERE `ufid` = "
.$memprofile['uid']."
"
);
            echo 
'';

          while(
$row $db->fetch_array($query))  
{




  
$string "".$row['fid17']."";

  
$array explode("\n"$string);

  for(
$i=0$i count($array); $i++) {
    echo  
"- "$array[$i] . "<br />";

}

    }


    }
?>
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Webspace Directory per filezise - wie die Werte formatieren? Olaf_A 7 2.536 01.03.2019, 14:37
Letzter Beitrag: itsmeJAY