PHP MySQL выбрать с массивом в массив - PullRequest
0 голосов
/ 03 марта 2012

Мне нужно выбрать идентификаторы из базы данных с массивами.мой английский не очень хорошЯ думаю, что лучший способ показать мои коды

результат формы print_r($malayalam); вот так Array ( [0] => helo [1] => hi[2] => how)

Мне нужно выбрать его идентификаторы из таблицымой код не верный.В любом случае позвольте мне показать вам здесь

$results=mysql_query("SELECT ml_id FROM ml_table WHERE word = '$malayalam'"); 
$numrows=mysql_num_rows($results);
if($numrows!=0){
    $ml_row = mysql_fetch_array($results);
    $ml_id = $ml_row['ml_id'] ;
    echo "Malayalam ID " . $ml_id . "<br />";
}

Мне нужно добавить все мои результаты в другой массив.

это возможно?если у вас есть идеи, не могли бы вы ответить мне, пожалуйста

Ответы [ 4 ]

0 голосов
/ 04 марта 2012

окончательно найденное решение с помощью ответов

$rArray = mysql_query("SELECT ml_id FROM ml_table WHERE word IN ('".implode("', '", $malayalam)."')"); 
if(mysql_num_rows($rArray)>0){
    $temp_rows = array();       
    while(($row = mysql_fetch_array($rArray))) {
        $temp_rows[] = $row['ml_id'];
    }
}

результат print_r($temp_rows) выглядит следующим образом Array ( [0] => 123 [1] => 234 [2] => 312)

спасибо всем

0 голосов
/ 03 марта 2012

Если я правильно понял, вот что вам нужно

$results=mysql_query("SELECT * FROM ml_table WHERE word = '$malayalam'"); 
if(mysql_num_rows($results)>0){

    $newArray = array(); //Create a new array

    while($ml_row = mysql_fetch_array($results)) {
        $ml_id = $ml_row['ml_id'] ;
        $newArray[$ml_id] = $ml_row;
        echo "Malayalam ID " . $ml_id . "<br />";
    }

    //$newArray is your new array accesible from id

}
0 голосов
/ 03 марта 2012

Вы должны написать что-то вроде этого:

$ids = array();
$in = '"' . implode('","', array_map('mysql_real_escape_string', $malayalam)) . '"';
$result = mysql_query('SELECT id FROM ml_table WHERE word IN(' . $in . ')');
while($row = mysql_fetch_assoc($result)) {
    $ids[] = $row['id'];
}

$anotherArray = array_merge($ids, $anotherArray);
OR
$anotherArray += $ids;
0 голосов
/ 03 марта 2012
$i=0;       
foreach($malayalam as $key=>$value)
{
    $results=mysql_query("SELECT * FROM ml_table WHERE word = '$value'"); 
    $numrows=mysql_num_rows($results);
    if($numrows!=0)
    {
         $ml_row = mysql_fetch_array($results);
         $ml_id = $ml_row['ml_id'] ;
         $ml_ad[$i]=$ml_id;
         echo "Malayalam ID " . $ml_id . "<br />";
         $i++;
     }
 }

Теперь, когда вы printr($ml_ad);, он покажет все ваши идентификаторы в массиве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...