2016-06-19 15 views
0

PHPでmysqlの結果をフェッチしているときに、6行目以降に新しい定義済みデータを挿入しようとしています。その後、5行ごとに定義済みのテキストを挿入します。mysqlの間にデータを挿入する方法は、PHPの結果を取得?

while($row=mysql_fetch_array($result)) 
{ 

if((($i%6)== 0)&&($i!=0)) 
{ 

$emparray['category'] = "PREDEFINED DATA"; 
array_push($json_response,$emparray); 

} 

//Data from the database 
$emparray['category'] = ucwords($row["tag"]); 
array_push($json_response,$emparray); 
++$i; 
} 

これは私が管理していたコードですが、6行目ごとに "PREDEFINED DATA"と表示されます。私が欲しいのは、6行目以降は、5行目ごとにメッセージを表示する必要があるということです。

+0

'$ i%$ 6'の代わりに' $ i%5 == 0'を試しましたか? –

+0

@EmmanuelO間違えて申し訳ありませんが、6ドルではありません.6ドルでも5ドルも試していましたが、最初の6ライン以降は、5ラインごとにメッセージが欲しいと思います。 int 5も私に望ましい出力を与えません。 –

+1

'$ i%5 == 1 && $ i'を試してください。 –

答えて

2

あなたが連想配列$emparray['category']keyvaluepredefined dataとして代わりにフェッチ結果$row['tag']の6日、11日、17位に割り当てられるというように、以下のコードを与えるだろうしたい場合あなたは望みの結果を得ます。

$i=1; 
while($row=mysql_fetch_array($result)){ 
    if(($i%6)==0){ 
    $emparray['category'] = "PREDEFINED DATA"; 
    } 
    else{ 
//Data from the database 
    $emparray['category'] = ucwords($row["tag"]); 
    } 
    array_push($json_response,$emparray); 
    $i++; 
} 

あなたは6日、11日、17位、および7位にプッシュ第六フェッチ結果$row['tag']predefined dataを追加したい場合は、このようにそれを行う必要があります。

$i=1; 
while($row=mysql_fetch_array($result)){ 
    if(($i%6)==0){ 
    $emparray['category'] = "PREDEFINED DATA"; 
    array_push($json_response,$emparray); 
    $i++; 
    } 
//Data from the database 
    $emparray['category'] = ucwords($row["tag"]); 
    array_push($json_response,$emparray); 
    $i++; 
} 

あなたはpredefined dataは6日、11日、17位で追加したい場合は、できる限り、6日、11日に加えでは、フェッチされた結果$row["tag"]の17値は、あなたが」誤ってこれを近づいています2つの値をキーに割り当てる場合は、代わりに$emparray['category'][]の部分配列を$emparray['category']にするか、2つを連結してからキーに割り当てる必要があります。

+0

このタイプの間違いをどうやってやれるか信じられない。おかげさまで :) –

+0

@JackStern助けになるのはうれしいですから、サブアレイに追加することが欲しかったですか? – SML

1

ループの前に値$i = 1を設定してください。 if条件の$i % 5 == 0

$i = 1; 
while($row=mysql_fetch_array($result)) 
{ 

if((($i%5)== 0)&&($i!=0)) 
{ 

$emparray['category'] = "PREDEFINED DATA"; 
array_push($json_response,$emparray); 

} 

//Data from the database 
$emparray['category'] = ucwords($row["tag"]); 
array_push($json_response,$emparray); 
++$i; 
} 
+0

最初の時刻は4番目の行の後にトリガーされます。 '$ i = -1'でもかまいませんか? –

関連する問題