2016-08-24 6 views
0

surveyidに配列$ subscibearrayが含まれている場合、すべての結果を照会しようとしています。問題は、SQLクエリが最初の結果(この場合は44)のみを返すことです。私はmysql_fetch_arrayも何も成功せずに使ってみました。私の結果は表を介して出力されています。どんな助けもありがとう。これを読みやすくするためにできるだけ多くのコードを省いた。WHERE列を照会すると、1行だけが返されます。

Array形式:$subscribearray

$subscribearray = "" . join(', ',$subscribearray) . ""; 

var_dump

string(17) "'44, 35, 194, 36'" 

がクエリ:

$result = mysql_query("SELECT * 
         FROM surveys 
         WHERE surveyid IN ($subscribearray) 
         ORDER BY peercompletetime DESC 
         LIMIT 100") 
or die(mysql_error()); 
+0

レコードを出力するコードを追加してください。 –

+1

また、なぜあなたはIDを '' 'に置くのか? –

+0

削除する必要がありますか?ごめんなさい。 – alicia233

答えて

1

あなたはする必要があります

$subscribearray = join(',', $subscribearray); // 1,2,3 

または:

$subscribearray = "'" . join("','", $subscribearray) . "'"; // '1','2','3' 

あなたは文字列ですべてのIDをラップしている場合、それは文字列を探し、その値を分離しません。 ( '1,2,3')

もちろん、数字の列の場合は最初の列を使用してください。

関連する問題