2015-03-24 3 views
1

Необходимо найти, совпадают ли два массива, а затем, где они соответствуют данным pull из строки mysql, в которой они совпадают. Должен ли я использоватьPHP array_intersect или in_array, тогда MYSQL

$sql = "SELECT * FROM around"; 
$resultsd = $conn->query($sql); 
foreach($resultsd as $rowd) {} 

if (array_intersect($ar1, $ar2)) { 
    $sword[] = $rowd['TIM']; 
    } 

или я должен использовать

if (in_array($ar1, $ar2)) { 
     $sword[] = $rowd['TIM']; 
    } 

Получение массивов как:

$ar1[] = $rowd['nim']; 
    $ar2[] = $rowd['nim']; 

Тогда как каждый идет о потянув конкретную строку, они совпадают в?

Я вижу, что они совпадают, и распечатки массива в порядке:

Array ([0] => dcbabcbded) Array ([0] => fafeafaebee [1] => afabfdefcbb [2] => dcbabcbded 

Но когда я пытаюсь эхо данных MySQL, где они соответствуют I FAIL:

Array () 

ответ

0

я бы с sql IN.

У вас есть массив имен клиентов: $a = array('john','rob','paul');

Implode массив $nms = join(',',$a);

Марка SQL: 'SELECT * FROM tabl WHERE name IN ('.$nms.')';


сделать массив пересечения первого (или то, что вы просто должны ..) иметь массив необходимых имен.

+0

Я должен увидеть, где совпадают два массива, а затем получить данные mysql только из этой строки. То, что вы предоставили, не сделает этого, я не верю. –

+0

да, вам нужно подготовить массив совпадений к вам, как правило, сначала собрать, использовать in_array или пересечь – animaacija

+0

Прошу прощения, но ваш ответ не поможет. Он просто повторяет мой вопрос. –

0

использовать $new = array_intersect(Array ([0] => dcbabcbded), Array ([0] => fafeafaebee [1] => afabfdefcbb [2] => dcbabcbded)): тогда сделайте действительный sql, как указано в моем ответе выше.

Если вы уверены, что у вас всегда есть массив с одним или никаким значением, тогда сделайте sql только с первым элементом массива: $ar[0] с использованием sql WHERE.

+0

Прошу прощения. Это просто не ясно. Массивы хранятся в виде $ переменных. Также у меня возникают проблемы с выводом данных mysql из строки, в которой они совпадают. Как это делается? –

+0

Нет, я потерял вас, 'SELECT * FROM table WHERE col = i this this value' ** посмотреть POD использование, которое **;) bye – animaacija

Смежные вопросы