0
 <?php

echo "Connecting Database <br>";
$server = 'UKVDEMO03'; //Here you're server
$database = 'smtpFetch';//here the database you want to connect to
$user = 'shoaibsg';//here te user WHO HAS THE RIGHT PERMISSIONS AT THE DATABASE
$pass = '1111111';//and here the user's password
$dsn = "Driver={SQL Server};Server=$server;Database=$database;";
$connect = odbc_connect($dsn, $user, $pass); 
echo "Successfully connected....";

//getting subscribe user detail
$subQuery="select emailAddress, dataSet from userDetail";
$subRes=odbc_exec($connect, $subQuery);
$ix=odbc_num_rows($subRes);
//$newArray[]=$newArray array;
$row[]=array();
$newArrayD[]=$row;
$i=0;
$xc=0;
if($ix>0)
{

    while($row=odbc_fetch_array($subRes))
    {
            $newArrayD[$row['emailAddress']] =$row['emailAddress'];
            $newArrayD[$row['dataSet']] =$row['dataSet'];
    }

}
foreach($newArrayD as $arrayD)
{ $i++; 
echo "<br> -" . $arrayD;
echo "-i increment -" . $i;
}


?>

上記は以下の出力を表示します

-配列 -shoaib@xyz.com -SSCRUS_CS2002 -nick@xyz.com -SSCE_CS2002

ここでの問題: foreach ループでのみ emailAddress のみを表示する必要がある場合、最初の文字のみが表示されます (以下で foreach ループで使用しました)。

echo "<br> -" . $arrayD['emailAddress'];

上記の出力は - -s -S -n -S のように表示されます

困っています、助けてください

4

1 に答える 1

0

配列を生成するコードはオフです。これを試して:

while ($row=odbc_fetch_array($subRes))
{
    $newArrayD[$row['dataSet']] = $row['emailAddress'];
    // This would generate for example $newArrayD['SSCRUS_CS2002'] = 'shoaib@xyz.com'
}

次に、それらを表示するために、配列を反復処理します。

foreach ($newArrayD as $dataset=>$emailaddress)
{
    echo "- $emailaddress<br />";
}

編集 - 両方を別々の配列に保存するには:

$newArrayD = array('dataset' => array(), 'emails' => array());

while ($row=odbc_fetch_array($subRes))
{
    $newArrayD['dataset'][] = $row['dataSet'];
    $newArrayD['emails'][] = $row['emailAddress'];
}

メールを反復処理するには:

foreach ($newArrayD['emails'] as $emailaddress)
{
    // Code you wish to execute
}

データセットを反復処理するには:

foreach ($newArrayD['dataset'] as $dataset)
{
    // Code you wish to execute
}

このメソッドを使用する$newArrayD['dataset'][0]と、 がリンクされたデータセットになります$newArrayD['emails'][0]

于 2013-01-23T15:34:14.927 に答える