如何使用分隔符逐行显示Mysql数据库中的数据?

时间:2014-07-21 18:14:42

标签: php mysql sql

我将表单数据插入名为notesUpdate一列中的Mysql Databasee。以下是我的php脚本,它插入/更新数据到数据库,但我使用分隔符___,因为在这列中我插入了很多数据。我希望逐行显示所有单个数据,这些数据以___结尾。所以我正在使用第二个Php脚本。

插入/更新php脚本

$contetn =  $_POST['contentText'];
$cdid = $_POST['cdid'];
$contetn .= "___"; 
$query = mysql_query("UPDATE contact_details SET notesUpdate = CONCAT(notesUpdate, '$contetn') WHERE cdid = '$cdid' LIMIT 1");

显示Php脚本

$query =  mysql_query("SELECT notesUpdate FROM contact_details WHERE cdid = '$id'");
$row =  mysql_fetch_array($query);
$notes = mysql_real_escape_string(htmlspecialchars(trim($row['notesUpdate'])));
$ex =  explode("___", $notes);
$ex[0];
$ex[1];

显示数据应如下所示:

Hello one data
Hello two data
Hello three data

但我不知道怎样才能得到这个?你能建议我或告诉我怎样才能得到这个?感谢。

更新:

这是显示所有数据的表单:

<table width="500" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><h2>All Notes</h2></td>
  </tr>
  <tr>
    <td><input type="text" name="cdid" value="<?php echo $id; ?>" id="cdid"/></td>
  </tr>
  <tr>
    <td><textarea cols="65" rows="5" name="notesContent" style="padding:0; margin:0;"> <?php echo $ex[0]; ?> </textarea>  </td>
  </tr>
  <tr><td>&nbsp;</td></tr>
   <tr>
    <td><input type="submit" value="Edit Notes" id="editNotes" class="submit" /></td>
  </tr>
</table>

1 个答案:

答案 0 :(得分:1)

在对评论进行一些讨论之后,您在for标记内的foreach数组中只有extextarea。但是有一个问题!如果你只是遍历你的数组,它将只显示一行,因为你没有添加enter字符,所以它会像:

<textarea cols="65" rows="5" name="notesContent" style="padding:0; margin:0;"><?php foreach( $ex as $value ) { echo $value . "\r\n"; } ?></textarea>

注意:它必须是内联代码,因为HTML标记textarea会添加您放入其中的每个字符。

如果你想要更漂亮的代码,请使用:

<?php
    $text = "";
    foreach( $ex as $value ){
        $text .= $value . "\r\n";
    }
?>
<textarea cols="65" rows="5" name="notesContent" style="padding:0; margin:0;"><?php echo $text; ?></textarea>

甚至更简单

<textarea cols="65" rows="5" name="notesContent" style="padding:0; margin:0;"><?php echo str_replace( "___", "\r\n", $notes ); ?></textarea>