2017-07-12 3 views
0

Ich hatte Array-Werte als UrsacheWie Name von ID in Array mit Abfrage erhalten?

Beispiel: $ Ursache = $ _REQUEST ['Ursache'];

dh., $ Ursache = 2,3,4

Wie das Array Wert Ursache Namen von Abfrage bekommen

Mein Tabellenname ist 'cp_cause'

enter image description here

Wie um den 2,3,4-Ursachen-Namen aus der obigen Tabelle zu erhalten.

Mein Beispielabfrage Modell in ThinkPHP ist

$cause_name = $GLOBALS['db']->getAll("select category from ".DB_PREFIX."category where id = '".$cause."'"); 

ich den Namen der Arbeit wollen, Gesundheit, Frauen

+2

Fragen Sie, wie Sie 'WHERE ID IN (2,3,4)' tun? – Kulvar

+0

ich hatte 2,3,4 aber ich will, dass IDs nur wie Arbeit, Gesundheit, Frauen – JoygiveKalai

Antwort

2

Wenn ich es richtig: Sie Komma erhalten getrennt Ids und wollen diese abfragen ?

SELECT * FROM cp_cause WHERE id IN (2, 3, 4) 

PHP:

$cpCauses = $GLOBALS['db']->getAll("select * from cp_cause where id in('".$cause."')"); 

das Ergebnis eine Liste sein soll, werden die passenden Zeilen enthält. Aber wir wissen nicht, was deine getAll-Methode zurückgibt!

Beispiel: wenn das Ergebnis ein Array ist, können Sie durchlaufen:

foreach($cpCauses as $cause) { 
    echo $cause['cause_name']; 
} 
+0

es zeigt nur einzelne Namen – JoygiveKalai

+0

aktualisierte Antwort mit Beispiel – BenRoob

+0

Vielen Dank, Danke @BenRoob – JoygiveKalai

1

Sie benötigen Zeichenfolge wie '2','3','4' zur Überprüfung mit MySql in Klausel erstellen.

Für z.B.

<?php 
    $cause = array(); 
    $cause[] = '2'; 
    $cause[] = '3'; 
    $cause[] = '4'; 
    $sql_where = array(); 
    foreach($cause as $values){ 
     $sql_where[] = "'".$values."'"; 
    } 
    $sql_where = implode(",",$sql_where); 
    $cause_name = $GLOBALS['db']->getAll("select category from ".DB_PREFIX."category where id in '".$sql_where."'"); 
?> 
Verwandte Themen