0

$taskid=$this->privacy();

       if($taskid){I returning something in one function and then by reference to this return,I am fetching data from another table in second function using if condition in such a way that if data(return) found in first table then execute else leave empty

しかし、最初のテーブルでデータが見つかった場合はすべて問題ありませんが、最初のテーブルでデータが見つからない場合は、次のように表示されます。

if else 条件にエラーがあると思います。別のアプローチを助けたり提案したりしてください。

Plzはまた、私が価格表に取り組んでいることにも注意してください

行を返す最初の関数

function privacy()
{
   $session=new session();

   $sql2=mysqli_query($this->db->connection,"SELECT * from privacy where viewerid='$session->userid'");
   while($row2=mysqli_fetch_array($sql2)){
     $task[]=$row2['task'];
   }
   return $task;
 }

関数 2.. 何かが見つかった場合は、何か他のことを行い、何もしません (ただし、エラーは未定義の変数として表示されます)

 function showactivityo4apply()
 {
    $session=new session();
    $taskid=$this->privacy();
    if($taskid){
       foreach($taskid as $fvid){
         $sql=mysqli_query($this->db->connection,"SELECT * FROM activity where id='$fvid'");
         while($row=mysqli_fetch_array($sql)){
            $name_id=$row['sub_id'];  
            echo  $name;                   
          }
        }
     }      
     else{}
   }
4

4 に答える 4

0
please change this line of your code like: 

  $sql2=mysqli_query($this->db->connection,"SELECT * from privacy where 
viewerid='$session->userid'");
=========================================
to
=============================
  $sql2=mysqli_query($this->db->connection,"SELECT * from privacy where 
viewerid='" . $session->userid . "'");

 =======================

結論:ここで$ session-> useridが見つからないため、結果が得られません。

于 2012-11-23T11:12:51.857 に答える
0

PHPがキー「タスク」の配列に値を取得していないため、通知を表示しています isset() 関数を使用して、データが利用可能かどうかを確認します このように使用しないでください

$task[] = (isset($row2['task'])?$row2['task']:'';

値が $row2['task'] に設定されていない場合、$task[] 配列に空白の値が割り当てられます。

そして、あなたがしなければならないもう1つの変更

if($taskid) 条件の代わりに使用

if( count($taskid) > 0){
}

配列にレコードが見つからない場合、ループに挿入されないようにします

于 2012-11-23T11:08:38.100 に答える
0

条件に == 記号がない場合 = 記号

if($taskid==$this->privacy()){
}
 else
{
}

= は値を別のものに代入することを意味します

== 他の変数の値をチェック

于 2012-11-23T11:07:37.483 に答える
0

if($taskid=$this->privacy())の値を割り当ててい$this->privacy()ます$taskid

私はあなたが意味すると思います

if($taskid == $this->privacy())

于 2012-11-23T11:04:24.523 に答える