2017-11-05 7 views
0

str_split()12345678910に、12 34 56 78 91 0を返すコードがあります。どのように出力を異なる行に変数でエコーするのですか

私の問題は、データベースを更新しようとすると間違ったデータが更新されることです。

ページにエコーして間違ったデータが出力されます。

また、どうすれば解決できますか?ここで

は私のコードです:現在のコードで

require("init.php"); 
$code = "12345678910"; 
$type = "2"; 
$disp = str_split($code, $type); 
for($b = 0; $b<$type; $b++){ 
    $show = "$disp[$b]"; 
} 
for($c = $qty; $c<sizeof($disp); $c++){ 
    $play = "$disp[$c]"; 
    $id = "7"; 
    mysqli_query($conn, "UPDATE prmo SET details='$show$play' WHERE id=$id"); 
    echo "<br/>$show"; 
    echo "<br/>$play"; 
} 

私の結果は56 34 78 34 91 34 0 3412 34 56 78 91 0ことが期待されて私は本当にこれを達成することができますか?

+1

なぜあなたはここで二重引用符を使用していますか?$ show = "$ disp [$ b]"; – M0ns1f

+0

私はそれを私の問題を修正するために削除する必要がありますか? –

+0

'$ qty'とは何ですか?投稿されたコードブロックにはありません。これはちょうど配列の長さを制限することですか?単に 'array_slice()'を使用してください。 ...でも、あなたは 'show'を使っていません - あなたはあなたの質問からそれを取り除かなければなりません...それとも、' $ how'は '$ show'を意味するのでしょうか?あなたは現在受け取っている出力は何ですか?入力文字列を使用して期待されるクエリのセットは何ですか?あなたの質問を明確にするために、変数を実際の値に置き換えて期待されるクエリを表示してください。 – mickmackusa

答えて

0

ここで間違っているのは、2つのループからトラバースしていることです。あなただけのループが必要です。以下のコードを試してください:

$code = "12345678910"; 
$type = "2"; 
$disp = str_split($code, $type); 
for($c = 0; $c<sizeof($disp); $c++){ 
    $show = $disp[$c]; 
    $c++; 
    $play = $disp[$c]; 
    $id = "7"; 
    mysqli_query($conn, "UPDATE prmo SET details='$show$play' WHERE id=$id"); 
    echo $show." "; 
    echo $play." "; 
} 
関連する問題