2017-10-22 13 views
0

mysqliデータベースにforeachクエリを送信するにはどうすればいいですか?mysqliデータベースから各foreach結果を取得する方法

私が試してみました:

<?php 
require("init.php"); 

$sql = "SELECT `item_name` FROM `books` WHERE `book`='1905515'"; 
$query = mysqli_query($conn, $sql); 

while ($record = mysqli_fetch_array($query)) { 
    $optionsArray[] = $record['item_name']; 
} 

foreach ($optionsArray as $item) { 
    $item="$item"; $sqli = "SELECT `code` FROM `promo` WHERE `code`='$item'"; 
    $query2 = mysqli_query($conn, $sqli); 
    while ($row = mysqli_fetch_array($query2)) { 
     $name = $row["recharge"]; echo "$name"; 
    } 
} 
?> 
をしかし、私は出力には何の結果を得ていませんよ。

+0

コードが不明です。それを選択してCTRL + Kを押してください。 –

+0

私はそのようなオプションをここに持っていない! –

+0

「{}」ツールを使用して質問を編集し、コードをソートすると、そのコードがソートされます。 – Innervisions

答えて

0

whileループのための必要はありません、あなたはこのようなだけJOIN二つのテーブルができます:あなたのコードに基づいて

SELECT c.* 
FROM books AS b 
INNER JOIN promo AS c ON b.item_name = c.code 
WHERE b.book='1905515'; 

は、あなただけのpromoからcodeに等しいブックテーブルからitem_nameに基づいて参加する必要があり表。これが問題である可能性があり、別の列に基づいて参加する必要があります。

このクエリは、mysqlのworkbenchまたはphpmyadminで実行して、PHPページに実装する前に結果を確認できます。

+0

@Demitriヨン私は、 予想外の午前間違った構文エラーを得た '"' をコードで 識別子(T_STRING)または変数 (T_VARIABLE)または数 (T_NUM_STRING) を期待して、<?phpの は(必要 "init.phpを" ); $クエリ= mysqli_query($ CONN、「CをSELECT * 本からINNERがb.book = '1905515' '' b.item_name = c.code ON Cのようなプロモーションを登録しよう )B AS。 ; ($行= mysqli_fetch_array($クエリ) なら{ $ユーザー= $行[ "充電"]; エコー "$ユーザ"; }?私はPHPを知らない > –

+0

@EniediMonday、しかし、IあなたはあなたのPHPで何かが間違っていると思う。mysqlのワークベンチまたはphpmyadminで直接クエリを試すことができますか? –

関連する問題