break in mysql
Bestaat er een functie in mysql zoals "nl2br" in php? Wanneer ik via een "textarea" op de ENTER toets druk, en deze gegevens in een mysql tabel invoer, dan zou ik bij het uitlezen van de tabel dat willen uitlezen. Nu loopt mijn text gewoon door.
Kortom, haal de boel op uit de database, ga het resultaat fetchen met PHP en gebruik dan nl2br(). Tenzij je de output in een texteara zet, dan is het niet nodig/gewenst.
Jouw probleem bestaat dus niet.
Ik lees mijn tabel uit met een "while" lus zie onderaan. Het veld "bijdrage" werd aanvankelijk met een "textarea" ingevoerd, dus de invoerder heeft een aantal maal opn de ENTER toest gedrukt. Wanneer ik deze table uitlees, dan loopt de text gewoon door.
while (list($id,$datum,$tijd,$bijdrage) = mysql_fetch_row($result)){
echo("<tr><td>$id</td><td>$datum</td> <td>$tijd</td> <td>$bijdrage</td> </tr>\n");
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
while (list($id,$datum,$tijd,$bijdrage) = mysql_fetch_row($result))
{
echo '<tr>
<td>'.$id.'</td>
<td>'.$datum.'</td>
<td>'.$tijd.'</td>
<td>'.nl2br($bijdrage).'</td>
</tr>';
}
?>
while (list($id,$datum,$tijd,$bijdrage) = mysql_fetch_row($result))
{
echo '<tr>
<td>'.$id.'</td>
<td>'.$datum.'</td>
<td>'.$tijd.'</td>
<td>'.nl2br($bijdrage).'</td>
</tr>';
}
?>
Zoiets? Tip: probeer overzichtelijk te scripten, je helpt jezelf er enorm mee.
ps. Overigens zou ik die mysql_fetch_row() vervangen door mysql_fetch_assoc() en de verschillende velden gewoon via de array notatie aanspreken...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Ik heb via een "textarea" dit ingegeven
Typ hier iets
Typ hier iets
Typ hier iets
Met jouw voorstel lees ik onderstaande uit:
'.nl2br(Typ hier iets Typ hier iets Typ hier iets Typ hier iets ).'
Hoe ziet je code er nu uit dan?
-------------
<tr align="left" valign="top">
<td align="right">Uw bijdrage:</td>
<td>
<textarea name="bijdrage" cols="45" rows="10"></textarea></td>
</tr>
=> ik geef het volgende op:
Typ hier iets
Typ hier iets
Typ hier iets
De verwerking:
------------------
$bijdrage=nl2br($_POST['bijdrage']); (daarna met een sql sript vertsuren naar mysql)
Uitlezing uit mysql tabel:
----------------------------
while (list($id,$datum,$tijd,$bijdrage) = mysql_fetch_row($result))
{
echo '<tr>
<td>'.$id.'</td>
<td>'.$datum.'</td>
<td>'.$tijd.'</td>
<td>'.nl2br($bijdrage).'</td>
</tr>';
}
Resultaat op mijn scherm:
--------------------------------
'.nl2br(Typ hier iets Typ hier iets Typ hier iets Typ hier iets ).'
Terwijl ik op mij scherm het volgende verwacht:
Typ hier iets
Typ hier iets
Typ hier iets
Quote:
De functie nl2br() pas je pas toe nadat je de data uit de database opgehaald hebt, niet voordat je het weg gaat schrijven.De verwerking:
------------------
$bijdrage=nl2br($_POST['bijdrage']); (daarna met een sql sript vertsuren naar mysql)
------------------
$bijdrage=nl2br($_POST['bijdrage']); (daarna met een sql sript vertsuren naar mysql)
Verder zou die PHP functie helemaal niet op je scherm getoond mogen worden, dus waarschijnlijk doe je toch nog ergens iets fout.
Alvast bedankt.
ik weet niet wat een nl2br functie doet en al zeker niet hoe deze toe te passen.
ik voer ook data in, via een textarea. deze wordt naar een database gestuurd en op een andere pagina weer getoond. nou is het probleem dat de tekst dan aangepast kan worden door de gebruikers. ze kunnen het niet opslaan, dus als je op f5 klikt dan is het weer goed. maar ik zou de text un-editable willen hebben voor de gebruikers.
moet ik dan wel een textarea maken?? of moet dat met tables?? ik zit er al ruim 2 uur mee te stoeien en kom er niet uit. als ik de textarea weghaal, dan staat alles gewoon als 1 lange lap tekst, terwijl ik automatische <br> wil hebben.
het zou eidenlijk precies moeten werken zoals ik dit bericht typ en dan de manier waarop het daarna getoond wordt op deze pagina.
kan iemand me helpen?
Zou je dat wel willen kan je volgens mij 'disabled=disabled' toevoegen.
Gerben Jacobs schreef op 12.02.2008 15:50:
Gewoon nl2br() om je tekst zetten en dat niet in een textarea zetten.
Zou je dat wel willen kan je volgens mij 'disabled=disabled' toevoegen.
Zou je dat wel willen kan je volgens mij 'disabled=disabled' toevoegen.
bedankt voor de snelle reactie, maar ik ben blijkbaar een grotere @@p dan ik dacht, want het leverd nog steeds geen resultaat op. ik maak gebruik van de volgende code:
//import nieuwsitem
$sql = "
SELECT
message
FROM
personeel_nieuws";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
elseif(mysql_num_rows($res) == 0)
{
echo 'Geen resultaten gevonden';
}
else
{
while($row = mysql_fetch_assoc($res))
{
echo $row['message'].'';
}
}
// end
waar moet ik dan die nl2br moeten plaatsen? :)
echo nl2br($row['message']);
echo nl2br($row['message']);
(die laatst '' staan daar een beetje nutteloos te wezen?)
Dat zijn 3x dezelfde code :P.
Gerben Jacobs schreef op 12.02.2008 16:29:
echo n2lbr($row['message']);
(die laatst '' staan daar een beetje nutteloos te wezen?)
(die laatst '' staan daar een beetje nutteloos te wezen?)
wow, 3 oplossingen tegelijk. nou dan moet het goed zijn!
en JA! het werkt. super tnx.
en die laatste '' staan inderdaad nutteloos. stond eerst iets tussen, maar vergeten weg te halen. hardstikke bedankt! weer wat geleerd vandaag :)