PHP从函数内的另一个函数中获取值

时间:2016-08-09 21:15:12

标签: php mysql function chat implode

代码可能没有多大意义。这只是我对代码的了解:) 我正在聊天,我从mysql数据库获取聊天消息,我想使用另一个函数从单独的div中输出数据库中的数据。我有太多困难让这个工作!

从数据库获取数据的功能

function messages($user_id) {
    $user_id = (int)$user_id;

    $data = mysql_fetch_assoc(mysql_query("SELECT chat_content.chat_content_id, user.user_id, user.username, chat_content.chat_content, group_info.group_name FROM user, chat_content, group_info WHERE user.user_id = chat_content.user_id AND group_info.group_info_id = chat_content.group_info_id AND user.user_id = '$user_id'"));
    return $data;
}

将数据从其他功能输出到页面的功能

function messages_structure($user_id) {
    messages($user_id);
    $chat_id = $data[0]['chat_content_id'];
    $output = array();
    foreach($chat_id) {
        $output[] = '<div id="chat_main_textbox"' . $chat_id . '</div>';
    }
    return '<div id="wrap">' .implode('', $output). '</div>';
}

页面输出

$user_id = 56;
echo messages_structure($user_id);

2 个答案:

答案 0 :(得分:2)

messages()返回一个数组,您需要将该返回值分配给messages_structure()的变量,并在其中调用它:

$data = messages($user_id);

如果您不这样做,$data中创建的messages()变量仅适用于该功能scope

答案 1 :(得分:0)

我认为你的代码应该是

function messages($user_id) {
$user_id = (int)$user_id;

$data = mysql_fetch_assoc(mysql_query("SELECT chat_content.chat_content_id, user.user_id, user.username, chat_content.chat_content, group_info.group_name FROM user, chat_content, group_info WHERE user.user_id = chat_content.user_id AND group_info.group_info_id = chat_content.group_info_id AND user.user_id = '$user_id'"));
return $data;
}

将数据从其他功能输出到页面的功能

function messages_structure($user_id) {
$data=messages($user_id);
$chat_id = $data[0]['chat_content_id'];
$output = array();
foreach($chat_id) {
    $output[] = '<div id="chat_main_textbox"' . $chat_id . '</div>';
}
return '<div id="wrap">' .implode('', $output). '</div>';

}

页面输出

$user_id = 56;
echo messages_structure($user_id);