0

ユーザーが最大 5 つの興味を入力/入力できる Web サイトがあります。ここで、ユーザーの興味をフォーム フィールドに表示したいと考えています。これにより、それらを直接編集できるようになります。

まず、interests テーブルで、ユーザーに関連するデータの行をクエリします。次に、mysqli_num_rows を使用して、作成する必要がある変数を決定します。次に、配列を手動でループして各変数を作成します。

しかし、問題があります。データの次の行に循環しません。したがって、たとえば、 $interest1equal$interest2になり$interest3、同じことを行います。などなど。これは私が望んでいることではありません。$interest2, 3, 4, and 5すべて次のデータ行と等しくなければなりません。私は間違っている可能性がありますか?

これが私のコードです:

$result2= mysqli_query($connect, $query2);
    if (mysqli_num_rows($result2) != 0) {

        if (mysqli_num_rows($result2) == 1) {
        $row2= mysqli_fetch_array($result2);
        $interest1= $row2['interest'];
        }
        else if (mysqli_num_rows($result2) == 2) {
        $row2= mysqli_fetch_array($result2);            
        $interest1= $row2['interest'];
        $interest2= $row2['interest'];          
        }
        else if (mysqli_num_rows($result2) == 3) {
        $row2= mysqli_fetch_array($result2);            
        $interest1= $row2['interest'];
        $interest2= $row2['interest'];
        $interest3= $row2['interest'];
        }
        else if (mysqli_num_rows($result2) == 4) {
        $row2= mysqli_fetch_array($result2);            
        $interest1= $row2['interest'];
        $interest2= $row2['interest'];
        $interest3= $row2['interest'];
        $interest4= $row2['interest'];      
        }
        else if (mysqli_num_rows($result2) == 5) {
        $row2= mysqli_fetch_array($result2);            
        $interest1= $row2['interest'];
        $interest2= $row2['interest'];
        $interest3= $row2['interest'];
        $interest4= $row2['interest'];
        $interest5= $row2['interest'];
        }

    }
4

3 に答える 3

1

(あなたが言ったように)これをループするだけでなく、結果を配列に格納することもできます。これは、すでに(基本的に)配列形式を使用して個別の変数に格納しているためです。

$result2 = mysqli_query($connect, $query2);
$interests = array();
while ($result = mysqli_fetch_array($result2)) {
    $interests[] = $result['interest'];
}
print_r($interests);

値が設定されていないという問題によると、これは行をループしていないためであり、毎回1つの配列にアクセスして、異なる変数に設定しているためです。

于 2012-09-17T05:30:47.460 に答える
1

これを試して

   $result2= mysqli_query($connect, $query2);
       while($row= mysqli_fetch_array($result2))
      {
        $interest[]= $row['interest'];

      }

print_r($interest)//Array of itnerest
于 2012-09-17T05:32:13.827 に答える
0

あなたが何をしようとしているのかわかりません。ただし、各IFケース内のコードは、から同じ値を繰り返し取得しており、mysqli_num_rows($result2)ケースごとに異なる回数だけ取得しています。

于 2012-09-17T05:30:27.680 に答える