function invitation_result()
{
$this->load->database();
$user_id = $_GET['user_id'];
$qry = mysql_query("select * from sent_invitations where user_id='$user_id'");
if (mysql_num_rows($qry) > 0)
{
while ($row = mysql_fetch_array($qry))
{
$mobile_number = $row['mobile_number'];
$qry1 = mysql_query("select mobile_number from users where mobile_number = '$mobile_number'");
$row1 = mysql_fetch_array($qry1);
$mobile_number = $row1['mobile_number'];
$users[] = array('mobile_number' => $mobile_number );
return $users;
}
}
}
以上是我的编码。 在sent_invitation表中有3行user_id=11。 从那里我试图根据 user_id 获取所有三行的 mobile_number 。 所有 3 行的 mobile_number 都不同。 从sent_notification表中获取mobile_number后。 我正在将 mobile_number 与用户表的 mobile_number 进行比较。 我看到用户表中有 3 个 mobile_numbers。 我正在尝试展示所有这些。 bt 问题是我的代码 ID 仅显示一行,即 3 中的最后一个手机号码
最佳答案
由于您使用的是 Codeigniter,因此您应该遵循 MVC 模式:
所以 Controller 中的代码应该是:
public function invitation_result(){
$userId = 0;
if(($_GET['user_id']) && is_numeric($_GET['user_id']) && $_GET['user_id'] > 0){
$userId = $_GET['user_id'];
}
$data = $this->User_model->getDataFromID($userId);
return $data;
}
模型的代码应该是:
public function getDataFromID($userId){
$arrReturn = array();
if(($userId) && is_numeric($userId) && $userId > 0){
$this->db->select('*');//You can put the required fields here like : name,mobile_number...
$this->db->from('sent_invitations');
$this->db->where("user_id",$user_id);
$query = $this->db->get();
$result = $query->result_array();
if(!empty($result)){
foreach($result as $key=>$value){
$this->db->select('*');
$this->db->from('mobile_number');
$this->db->where("mobile_number",$value['mobile_number']);
$querySub = $this->db->get();
$resultSub = $querySub->result_array();
if(!empty($resultSub)){
array_push($arrReturn,$resultSub);
}
}
return $arrReturn;
}
}else{
return $arrReturn;
}
}
当我写下答案时,您应该已经解决了错误,但这个答案将帮助 future 的用户。
关于带有codeigniter框架的php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44822311/