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!
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, 14: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).