2016-08-24 4 views
0

Ich versuche, alle Ergebnisse abzufragen, wo Umfrage mein Array $ subscibearray enthält. Das Problem ist, dass die SQL-Abfrage nur das erste Ergebnis (in diesem Fall 44) zurückgibt, anstatt alle. Ich habe auch versucht, mysql_fetch_array ohne Erfolg zu verwenden. Meine Ergebnisse werden über die Tabelle ausgegeben. Jede Hilfe wäre willkommen. Ich habe so viel Code wie möglich weggelassen, um das zu lesen.

Array Format:

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

var_dump von $subscribearray:

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

query:

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

Bitte Code hinzufügen, wie Sie Ihre Datensätze ausgeben. –

+1

Und erklären Sie auch - warum Sie IDs in '' '? –

+0

Sollte ich sie entfernen? Es tut uns leid. – alicia233

Antwort

1

Sie sollten:

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

Oder:

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

Wenn Sie alle IDs mit einer Schnur wickeln, es für die Zeichenfolge aussehen wird, und nicht die Werte getrennt. ('1,2,3')

Wenn es sich um eine numerische Spalte handelt, sollten Sie natürlich die erste verwenden.

Verwandte Themen