2017-08-21 3 views
-3

を働いていません。 foreach($labels as $label)を使用していますが、ラベルにデータを送信していません。私はvar_dump($labels)を使用していました。なぜなら、問題は$labelsとは思われません。どうしてforeachから$labelへの作業ができないのですか?ここでforeachのは、私はなぜ知らないエラー</p> <blockquote> <p>未定義の変数ラベルに</p> </blockquote> <p>を取得しています

は私のコードです:ここでは

foreach($labels as $label) { ?> 
    <tr> 
    <td>img src=<?= $label["image"] ?> </td> 
    <td>50 cents</td> 
    <td>$<?= $label["quantity"] ?> </td> 
    <td>$<?= $label['quantity']*.5 ?></td> 
    </tr> 
<? } 

はのvar_dumpである:ここ

array(11) { [0]=> array(2) { ["image"]=> string(14) "circles/L3.jpg" ["quantity"]=> string(2) "72" } [1]=> array(2) { ["image"]=> string(14) "circles/L2.jpg" ["quantity"]=> string(2) "24" } [2]=> array(2) { ["image"]=> string(11) "TAGS/T4.jpg" ["quantity"]=> string(2) "72" } [3]=> array(2) { ["image"]=> string(14) "circles/L3.jpg" ["quantity"]=> string(2) "60" } [4]=> array(2) { ["image"]=> string(15) "circles/L11.jpg" ["quantity"]=> string(2) "72" } [5]=> array(2) { ["image"]=> string(12) "TAGS/T12.jpg" ["quantity"]=> string(2) "72" } [6]=> array(2) { ["image"]=> string(14) "circles/L3.jpg" ["quantity"]=> string(2) "36" } [7]=> array(2) { ["image"]=> string(14) "circles/L3.jpg" ["quantity"]=> string(2) "60" } [8]=> array(2) { ["image"]=> string(14) "circles/L3.jpg" ["quantity"]=> string(2) "36" } [9]=> array(2) { ["image"]=> string(14) "circles/L3.jpg" ["quantity"]=> string(2) "36" } [10]=> array(2) { ["image"]=> string(11) "TAGS/T3.jpg" ["quantity"]=> string(2) "60" } } 

は、コードの残りの部分である:

$id=""; 
    if(!empty($_GET['id'])){ 
$id=$_GET['id']; 
} 


$cs = "mysql:host=localhost;dbname=purimlabels"; 
$user = "seforim"; 
$password = '1234'; 

try { 
    $options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]; 
    $db = new PDO($cs, $user, $password, $options); 
    $query='SELECT image,quantity FROM labels WHERE CustomerID=? AND Submitted="NO" '; 
    $statement = $db->prepare($query); 
    $statement->bindvalue(1,$id); 
    $statement->execute(); 
    $labels = $statement->fetchAll(PDO::FETCH_ASSOC); 
    $statement->closeCursor(); 
    }catch(PDOException $e) { 
    die("Something went wrong " . $e->getMessage()); 
    } 
+0

を選ぶだろう$ labels) 'あなたは言った? – Phil

+1

完全なエラーメッセージとエラーを再現するコードを入力してください。 – chris85

+0

私は上記のポスターに同意し、あなたの他のコードを見ることなく伝えるのは難しいです... –

答えて

0

ローカルの環境で短いタグ<?を使用できないことがあります。ローカルphp.iniファイルのshort_open_tag = Onの値を確認してください。彼らは、XMLを読んで問題を引き起こす可能性があるので

あなたは、phpタグでのコードの下に、一般的に短いオープンタグを使うことができますが無効になっているので、私は個人的にあなたが `のvar_dump(ことを示してどの程度番目のオプション

<table> 
<?php foreach($labels as $label): ?> 
    <tr> 
    <td><img src="<?php echo $label['image']; ?>" /></td> 
    <td>50 cents</td> 
    <td>$<?php echo $label['quantity']; ?> </td> 
    <td>$<?php echo $label['quantity'].'*.5'; ?></td> 
    </tr> 
<?php endforeach; ?> 
</table> 
+0

ありがとう!できます!私はちょっとした問題しか持っていません。ビューは表示されていますか?> ""という行から、それをどうやって修正しますか? –

0

はこれにあなたのコードを変更してみてください。

foreach($labels as $label) { ?> 
    <tr> 
    <td>img src=<?= $label["image"] ?> </td> 
    <td>50 cents</td> 
    <td>$<?= $label["quantity"] ?> </td> 
    <td>$<?= $label['quantity']*.5 ?></td> 
    </tr> 
<?php } // note the change here 

更新

私のマシンで上記の作品は、それが助けにはならなかったことから、PHPのすべてを残してみてください、あなたはまだエラーを取得するかどうかを確認。ここにしようとするあなたのコードの修正版だ:

<?php 
    // define $labels as first two elements of your var_dump. 
    // using older syntax 
    $labels = array(array(
        "image"=> "circles/L3.jpg", 
        "quantity"=> "72" 
        ), 
       array(
        "image"=> "circles/L2.jpg", 
        "quantity"=> "24" 
       )); 

    echo "<html>\n\t<body>\n\t<table>\n"; 
    foreach($labels as $label) { 
     echo "\t\t<tr>". 
      "<td>img src=".$label["image"]."</td>". 
      "<td>50 cents</td>". 
      "<td>$".$label["quantity"]."</td>". 
      "<td>$".($label["quantity"]*.5)."</td>". 
      "</tr>\n"; 
    } 
    echo "\t</table>\n\t</body>\n</html>"; 
?> 

これは私のために次のように出力します

<html> 
    <body> 
    <table> 
     <tr><td>img src=circles/L3.jpg</td><td>50 cents</td><td>$72</td><td>$36</td></tr> 
     <tr><td>img src=circles/L2.jpg</td><td>50 cents</td><td>$24</td><td>$12</td></tr> 
    </table> 
    </body> 
</html> 

うまくいけば、これは動作します。必要に応じてHTML書式を修正しておきます。

+0

私はあなたの提案を試みましたが、役に立たなかった –

+0

Hmm、それを聞いて申し訳ありません。これは私のマシンでこれをテストするときに違いがあります。試してみる別のオプションで更新します。 – informaton

関連する問題

 関連する問題