MyBB.de Forum

Normale Version: Zeilenumbruch mehrerer Werte eines Profilfeldes
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,
ich möchte aus einem zusätzlich angelegten Profilfeld mit Checkboxen die Werte auslesen.
Das stellt kein Problem da, jedoch fehlen die Zeilenumbrüche.

In der member.php datei finde ich immer wieder Befehle wie /n, ich weiß jedoch nicht, wo und wie ich das einfügen soll, damit es bei meinem Code auch funktioniert.

Wäre bei Hilfe sehr dankbar! Smile


PHP-Code:
<?php 


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

        
                    echo 
"- <strong>{$suche['fid17']}</strong> <br />";
                }
            


   
?>​ 
Was ist denn "</br>"? Ich kenne nur "<br>" oder "<br />"...
Das sollte eigentlich <br /> heißen, aber macht auch einen Zeilenumbruch, aber um das geht es ja nicht, sondern um einen evtl. Befehl der einen Zeilenumbruch bei der Datenbankauslesung einer Tabelle mit mehreren Absätzen macht.
\n ist ein UNIX Zeilenumbruch im Quelltext.
Habe es mal so versucht, aber klappt nicht.
Wo ist der Fehler?

PHP-Code:
<?php 


    
global $db$mybb;           
    
    
$query $db->query("SELECT * 
FROM  `mybb_user` 
WHERE  `ufid` = "
.$memprofile['uid']."");
        
    while(
$suche $db->fetch_array($query))
    {
        
$suche1 explode("\n"$suche[$fid17]);

        
                    echo 
"- <strong>{$suche1}</strong> <br />";
                }
            


   
?>​ 
Der Fehler ist, dass du versuchst ein Array mit echo auszugeben. Mach mal nach dem auftrennen var_dump($suche1), dann weisst du, was für ein Array zurückkommt.
So funktioniert das nicht..

Ich habe es nun folgendermaßen probiert, jedoch fehlt mir immer noch das "<br />" hinter jeder Ausgabe.

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(" "$suche2);

echo 
$cat[0]; 
echo 
$cat[1];
echo 
$cat[2];
echo 
$cat[3];
echo 
$cat[4];
echo 
$cat[5];
echo 
$cat[6];


    }


    }
?>
Um das noch einmal Klarzustellen:

Wenn du zwischen HTML Elementen einen normalen Zeilenumbruch erzeugen möchtest, muss dafür ein "<br />" eingefügt werden.
Wenn du innerhalb einer <textarea> einen Zeilenumbruch erzeugen möchtest, benötigst du (im Regelfall) die Kombination "\r\n".

Wenn du wie hier offenbar einen festen Trenner hast (Leerzeichen), den du lediglich durch ein HTML-Zeilenumbruch ersetzen möchtest, bietet sich dafür auch str_replace an.

PHP-Code:
//Vorher
//$cat = explode(" ", $suche2);

//Nachher:
$cat str_replace(" ","<br />"$suche2); 

Du könntest natürlich auch ganz .... unschön einfach die <br /> mittels Verkettungsoperator an deine Ausgabe hängen.

PHP-Code:
//Vorher
//echo $cat[0]; 

//Nachher:
echo $cat[0] . "<br />"


Alternativ kann man das ganze u.U. auch über eine passende CSS-Selektion lösen, wobei man dazu das genaue HTML Gerüst an der Stelle kennen müsste.


Lg
Raphael
(12.04.2013, 15:26)Raphael schrieb: [ -> ]Wenn du innerhalb einer <textarea> einen Zeilenumbruch erzeugen möchtest, benötigst du (im Regelfall) die Kombination "\r\n".
Um folgendes klarzustellen: "\r\n" ist das Windows Pendant zum UNIX Zeilenumbruch "\n". Die MyBB Development Standards schreiben "\n" vor. Und normalerweise hat man sowieso einen Server mit Linux drauf, weshalb "\n" zum Einsatz kommt.

http://docs.mybb.com/Development_Standar...#New_Lines
HTML wird aber im Browser ausgeführt, das muss nicht Linux sein (wobei der das praktisch keinen Unterschied macht). Wink
Seiten: 1 2