MyBB.de Forum
Zeilenumbruch mehrerer Werte eines Profilfeldes - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Zeilenumbruch mehrerer Werte eines Profilfeldes (/thread-27839.html)

Seiten: Seiten: 1 2


RE: Zeilenumbruch mehrerer Werte eines Profilfeldes - Lukαs - 13.04.2013

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] ; 


    }


    }
?>



RE: Zeilenumbruch mehrerer Werte eines Profilfeldes - Falkenauge Mihawk - 13.04.2013

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.


RE: Zeilenumbruch mehrerer Werte eines Profilfeldes - Lukαs - 13.04.2013

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",...
?


RE: Zeilenumbruch mehrerer Werte eines Profilfeldes - Falkenauge Mihawk - 13.04.2013

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); 



RE: Zeilenumbruch mehrerer Werte eines Profilfeldes - StefanT - 13.04.2013

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.


RE: Zeilenumbruch mehrerer Werte eines Profilfeldes - Lukαs - 13.04.2013

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 />";

}

    }


    }
?>