0

I need to select ids from database with arrays. my english not good. I think the best way to show my codes

the form result print_r($malayalam); like this Array ( [0] => helo [1] => hi[2] => how)

I need to select its ids from table. my code is not correct. any way let me show you here

$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 />";
}

I need to add all my result in to another array.

is that possible ? if u have any idea could you answer to me please

2
  • What does the table data look like? What are the names of the columns? I don't think the $malayalam array is going to work in the SQL SELECT statement the way you want it to either. Commented Mar 3, 2012 at 17:04
  • @sbohan Hi table name is ml_table columns are ml_id, word the thing is that I need to select ml_id from thable which are equal to Array ( [0] => helo [1] => hi[2] => how) Commented Mar 3, 2012 at 18:22

4 Answers 4

0

If I understood properly, the following is what you need

$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

}
10
  • Try to run the command, alone using phpmyadmin only and see if outputs anything. Commented Mar 3, 2012 at 18:46
  • I think the problem on $malayalam. bcos it is also array. Commented Mar 3, 2012 at 18:48
  • @maanu, of course, thats a problem. It is not designed to read an array. Commented Mar 3, 2012 at 18:51
  • do u know how to select with array ? Commented Mar 3, 2012 at 19:04
  • There might be a way to do so, but i need to know, what kind of array it is? and what sort of comparison you need? Commented Mar 3, 2012 at 19:06
0

You should write something like this:

$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
$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++;
     }
 }

Now when you printr($ml_ad); it will show all your id's in an array.

1
  • I need to all selected ml_id in to $ml_ad as a array Commented Mar 3, 2012 at 18:36
0

finally fainally found solution with the help of answers

$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'];
    }
}

the result of print_r($temp_rows) coming like this Array ( [0] => 123 [1] => 234 [2] => 312)

thank to all

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.