2012-03-25 3 views
0
foreach ($result as $user) { 
    $replacements[$user['Email']] = array(
    '{FirstName}'=>$user['FirstName'], 
    '{LastName}'=>$user['LastName'], 
    '{Code}'=>$user['RandomCode'] 
); 
} 

が、しかし、私が代わりに固定入力の変数を必要とするので、私は文字列であるためにそれを修正する必要があり、ここでのコードは次のとおりです。この場合、どのように変数を配列に入力できますか?私が達成したいものです

try{ 
$sql = 
    'SELECT * 
    FROM  require_attributes 
    where ListID=? 
    '; 
$stmt = $conn->prepare($sql); 
$stmt->execute(array($list)); 
$tagSet= $stmt->fetchAll(); 

} 
catch(PDOException $e) 
    { 
    die ($e->getMessage().'<a href="mail/campaign_view.php"> Back</a>'); 
    } 




try{ 
$sql = 
    'SELECT s.* 
    FROM  subscriber s ,list_sub ls 
    where ls.ListID=? 
    AND ls.SubID=s.SubID 
    '; 
$stmt = $conn->prepare($sql); 
$stmt->execute(array($list)); 
$resultSub= $stmt->fetchAll(); 
} 
catch(PDOException $e) 
    { 
    die ($e->getMessage().'<a href="mail/campaign_view.php"> Back</a>'); 
    } 


//Put the result in array 
foreach ($resultSub as $user) { 
    $replacements[$user['Email']] = array(
    foreach ($tagSet as $tags) 
    {$string=$string."'".$tags['Attribute']."'"."=>".$user[$tag['Attribute']].",";} 
    $string = substr($string, 0, -1); 
    echo $string; 
); 

最初の部分があります{FirstName}、{LastName}などを意味するタグを収集するタグは固定されているので、固定された数のタグがないことを意味します。 $ user [$ tag ['Attribute']]は必要な値です集める。 どのように値を取得し、私が達成したいのと同じように配列に配置できますか?

現在のところ、それは

Parse error: syntax error, unexpected T_ECHO, expecting ')' in C:\xampp\htdocs\fyp\mail\sendPersonal.php on line 186 

の誤差を持ってありがとうございました。

+1

は、私はあなたが何をしようとしてわからないんだけど(あなたは多分、入力/出力の例を投稿することができますか?)。しかし、あなたがそれを行う方法は非常に間違っています。配列の宣言内でforeachループを実行することはできません。これは、エラーメッセージに記載されている構文エラーです。 – Tchoupi

答えて

2

あなたの問題は、array()宣言でforeach(またはそのようなもの)を使用することができないということです。この方法の代わりに

プロセス:

//Put the result in array 

foreach ($resultSub as $user) { 
    $replacements[$user['Email']] = array(); 
    foreach ($tagSet as $tags) 
    { 
     $replacements[$user['Email']]['{'.$tags['Attribute'].'}']=$user[$tags['Attribute']]; 
    } 
    echo print_r($replacements[$user['Email']], true); 
); 
+0

申し訳ありませんが、私はそれにいくつかの違いを見つける –

+0

新しいバージョンのために、それは([[email protected]] => Array()[[email protected]] => Array())、バージョンは大丈夫ですが、新しいものではありません –

+0

"新バージョン"と "固定バージョン"を定義できますか?申し訳ありません:) – haltabush

関連する問題