显示多行(WHILE)图标

时间:2016-07-22 11:34:24

标签: php mysql

我有两个while loops一个是循环聊天日志来检索日期,用户名和消息,另一个while loop是从一个单独的表中检索图标,这个列有两列{{1} }和chars(图片名称。*)我可以显示image中的所有内容,但似乎无法获得包含table chat的第二个while loop来遍历每一行在可能包含值的str_replace emo_cons中,如果我添加新的table值,它只显示表格中的最后一行,chars它会显示最后一行

image-name.*

我需要帮助了解我做错了什么我试过移动我的循环看看我是否错误地构造了它们但是到目前为止没有运气 我只是希望能够显示聊天消息,如果消息中包含要用图标替换的消息,请始终执行此操作,而不仅仅是表格中的最后一行。

我知道我可能对此没有任何帮助,但值得一提的是也许有人可以看到我的错误。提前谢谢。

enter image description here enter image description here

更新工作 enter image description here

1 个答案:

答案 0 :(得分:0)

emo_cons while循环

中进行以下更改
<?php
// select all from table emo_cons that contain character values and image location
$emocom = mysqli_query($con,"SELECT * FROM `emo_cons`");

// fetch rows from query
$chars = array();
$imagetag = array();

while($emo_row= mysqli_fetch_assoc($emocom))
{
    // assign chars  row characters that represent the coresponding image
    array_push($chars, $emo_row['chars']);

    // assign imagetag to row images that represent the coresponding characters
    array_push($chars, "<img width='50' class=image height='50' src='chaticons/".$emo_row['image']."' />");

    echo "  ";

    echo "<br>";
} // end while emo_car check

&GT;

让我知道它是否适合你。

为什么您的代码无效

变量$chars$imagetag都在while循环内,并且每个迭代值都被覆盖。因此,最后一个值存储在两个变量中。

因此,为了解决这个问题,我创建了2个具有相同名称的数组,并将所有必需的值推送到数组中,我们稍后在str_replace函数中使用它。