[英]Retrieve data from two tables php
我有两个表,如下所示:activity_base(与Activity_type一起保留基本的活动信息)activity_email(与电子邮件活动有关的特定详细信息)
所有表都具有引用activity_base的activity_id。
一个例子:我试图输出电子邮件活动的数据,该活动基于活动类型从其他表中获取数据。
该查询将引用activity_base以获得有关该活动的基本信息,然后,如果activity_type是email,则我需要它通过运行函数email_activity_details从activity_email表中获取更多数据。
问题是:我无法让$ activity_details显示为未定义变量。 这是查询:电子邮件活动信息:
function email_activity_details($activity_id){
global $connection;
$email_activity = "SELECT * FROM activity_email WHERE activity_id ='$activity_id'"
or die("Error: ".mysqli_error($connection));
$query_email_activity = mysqli_query($connection, $email_activity);
return $query_email_activity;
}
活动详细信息:调用email_activity_details()的活动:
function view_full_activity($activity_field){
global $connection;
$contact_id = $_REQUEST['contact_id'];
$activity_id = $_REQUEST['activity_id'];
$get = "SELECT * FROM activity_base WHERE activity_id = '$activity_id' "
or die("Error: ".mysqli_error($connection));
$query = mysqli_query($connection, $get);
//Get activity base information
while ($activity = mysqli_fetch_array($query)){
$activity_related_to_id = $activity ['activity_related_to_id'];
$activity_id = $activity['activity_id'];
$activity_type_id = $activity['activity_type_id'];
}
//Get detailed activity information
//If activity is Email
if ($activity_type_id == "1") {
$email_details = email_activity_details('$activity_id');
while ( $email = mysqli_fetch_assoc($email_details)) {
$activity_details = $email['email_message'];
}
}
switch ($activity_field) {
case 'activity_id':
return $activity_id;
break;
case 'activity_title':
return $activity_title;
break;
default:
# code...
break;
}
}
希望我能解释清楚。 谢谢。
更改此行
$email_details = email_activity_details('$activity_id');
对此
$email_details = email_activity_details($activity_id);
说明:单引号内的美元符号按字面意义处理。
从PHP手册中:
特殊字符的变量和转义序列在单引号引起来的字符串中不会扩展
http://php.net/manual/en/language.types.string.php#language.types.string.syntax.single
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.