0
if ($row['note_1'] !== '' && $row['note_2'] == '' && $row['note_3'] == '' && $row['note_4'] == '' && $row['note_5'] == '' && $row['note_6'] == '') {
            echo $row['note_1_user'].":<br />";
            echo $row['note_1']; 
        }
        if ($row['note_1'] !== '' && $row['note_2'] !== '' && $row['note_3'] == '' && $row['note_4'] == '' && $row['note_5'] == '' && $row['note_6'] == '') {
            echo $row['note_2_user'].":<br />";
            echo $row['note_2']; 
        }
        if ($row['note_1'] !== '' && $row['note_2'] !== '' && $row['note_3'] !== '' && $row['note_4'] == '' && $row['note_5'] == '' && $row['note_6'] == '') {
            echo $row['note_3_user'].":<br />";
            echo $row['note_3']; 
        }
        if ($row['note_1'] !== '' && $row['note_2'] !== '' && $row['note_3'] !== '' && $row['note_4'] !== '' && $row['note_5'] == '' && $row['note_6'] == '') {
            echo $row['note_4_user'].":<br />";
            echo $row['note_4']; 
        }
        if ($row['note_1'] !== '' && $row['note_2'] !== '' && $row['note_3'] !== '' && $row['note_4'] !== '' && $row['note_5'] !== '' && $row['note_6'] == '') {
            echo $row['note_5_user'].":<br />";
            echo $row['note_5']; 
        }
        if ($row['note_1'] !== '' && $row['note_2'] !== '' && $row['note_3'] !== '' && $row['note_4'] !== '' && $row['note_5'] !== '' && $row['note_6'] !== '') {
            echo $row['note_6_user'].":<br />";
            echo $row['note_6']; 
        }

一个包含 6 个注释字段和 6 个注释用户字段的表格,总共 12 个处理注释的字段。还有其他字段,但注释字段是 12。

在添加注释页面中,一次只能写入一组。第一次访问该页面时,他们将注释添加到字段 note_1,并且用户名自动进入 note_1_user。然后第二次进入页面,note会进入note_2,用户自动进入note_2_user。以前的笔记不会被覆盖。

我有一个页面可以查看所有笔记,但是,在不同的页面上,我只想显示最新的笔记。除了我在上面发布的方式之外,我想不出更好的方法来实现这一点。

基本上每个 if 语句都是相同的。它们都有相同的 6 个检查,检查字段中是否有数据,除了第一个检查 6 个中的一个是否不为空,然后第二个检查两个是否不为空,依此类推,直到最后一个检查是否所有 6 个都不为空。

这似乎有太多的代码来做这个效果。

4

1 回答 1

0

您真的应该考虑更改数据库结构,但对于这种情况,您可以使用:

$lastNoteUser = '';
$lastNoteData = '';
for ($i=1; $i<=6; $i++)
if ( ($row['note_'.$i] != '') && ($row['note_'.$i.'_user'] != '') )
{
    $lastNoteUser = $row['note_'.$i.'_user'];
    $lastNoteData = $row['note_'.$i];
}
if ($lastNoteUser && $lastNoteData)
    echo $lastNoteUser.':<br>'.$lastNoteData;
于 2013-10-17T01:00:02.297 回答