我有一些文本以下面的格式存储在mysql表中:
但是,当我更新文本区域中的任何一行时,它会显示以下输出。实际上,如果我不更新它以输出上面的内容,我试图用这个来制作文本文件文本文件中的内容但是,当我更新内容以在文本文件中给出以下输出时。
这是我的代码:
这是演示系列1 这是演示线2这是演示线3这是演示线4这是演示线5
<table>
<tr class="head">
<th style="display: none">Lable Name</th>
<th style="display: none">Tag Details</th>
</tr>
<?php
$sql1 = "SELECT * from tagto_print where print_tag_id='8'";
$reslabel=mysql_query($sql1);
$i=1;
while($row=mysql_fetch_array($reslabel))
{
$printid=$row['print_tag_id'];
$tagdetailstoprint=$row['print_tag_details'];
?>
<tr id="<?php echo $printid; ?>" class="edit_tr">
<td width="10%"><?php echo $row['print_tag_labelname'];?></td>
<td width="50%" class="edit_td">
<span id="details_<?php echo $printid; ?>" class="text"><pre><?php echo $tagdetailstoprint; ?></pre></span>
<textarea class="form-control" id="details_input_<?php echo $printid; ?>" rows="8"> <?php echo $tagdetailstoprint; ?></textarea></td>
</tr>
<?php
$i++;
}
?>
</table>
<style>
.form-control
{
display:none;
}
</style>
<script type="text/javascript">
$(document).ready(function()
{
$(".edit_tr").click(function()
{
var ID=$(this).attr('id');
$("#details_"+ID).hide();
$("#details_input_"+ID).show();
}).change(function()
{
var ID=$(this).attr('id');
var tagdetailsarea=$("#details_input_"+ID).val();
var dataString = 'printid='+ ID +'&printdetails='+tagdetailsarea;
$("#details_"+ID).html('<img src="load.gif" />');
if(tagdetailsarea.length>0)
{
$.ajax({
type: "POST",
url: "print-tags-edit.php",
data: dataString,
cache: false,
success: function(html)
{
$("#details_"+ID).html(tagdetailsarea);
}
});
}
else
{
alert('You can not Print Blank Data');
}
});
$(".form-control").mouseup(function()
{
return false
});
$(document).mouseup(function()
{
$(".form-control").hide();
$(".text").show();
});
});
</script>
要更新print-tags-edit.php的文件:
<?php
if($_POST['printid'])
{
$id=$_POST['printid'];
$details=$_POST['printdetails'];
$sql = "update tagto_print set print_tag_details='$details' where print_tag_id='$id'";
mysql_query($sql);
}
?>
答案 0 :(得分:0)
当你打印它只是把它放在这个函数里面,这是用php打印的
nl2br($txt)
如果事物被反转,只需在将数据写入文件之前查看源
如果您找到br
,请将其替换为新行\n
答案 1 :(得分:0)
我解决了我的问题。该解决方案是许多参考文献的混合。我从表中取出记录并将(br)放在内容中
$tagdetailstoprint=$row['print_tag_details'];
$breaks = nl2br($tagdetailstoprint);
$text = str_replace($breaks, "\r\n", $tagdetailstoprint);
在我的文本区,我这样做了:
<textarea class="form-control" id="details_input_<?php echo $printid; ?>" rows="8"> <?php echo htmlspecialchars($text); ?></textarea>
在风格上,我添加了AND
建议的样式表<style>
.text{
white-space: pre-line;
}
</style>
在我的文件中更新print-tags-edit.php,我这样做了:
$details=nl2br($_POST['printdetails']); // i stored the nl2br in my mysql table
此代码用于创建文本文件:
$today = date("Y-m-d-Hi");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$today."_Backup.txt");
$query = "SELECT * FROM tagto_print where print_tag_id='8'";
$result = mysql_query($query);
$data = "";
$breaks = array("<br />","<br>","<br/>"); // i put the br in array
while ($row=mysql_fetch_object($result)) {
$text = str_replace($breaks, "\r\n", $row->print_tag_details); // and repalced it with the "\r\n"
$data .= "{$text}";
$data .="\r\n";
}
echo $data;
exit;
}