2013-02-15 3 views
0

Есть ли быстрый способ фильтрации результата mysql_query, чтобы получить список, содержащий только значения определенного столбца?PHP: фильтрация результата mysql_query для определенного столбца?

$query = mysql_query("SELECT * FROM users"); 
$list_of_user_names = get_values($query,"names"); 

Что это имя функции, которая будет использоваться вместо get_values?

+1

'SELECT names FROM users', а затем выберите первый столбец. –

ответ

0

Используйте функцию ниже.

function get_values($q,$c) 
    { 
     $arr = array(); 
     while($row = mysql_fetch_array($q)) 
     { 
      $arr[] = $row[$c]; 
     } 
     return $arr; // return all names value. 
    } 
+0

Нет, я имею в виду ... спасибо, это отвечает на вопрос, но я ищу официальную реализацию (или что-то, что можно было бы использовать на месте, например, функцию фильтра). – MaiaVictor

+0

@Dokkat Вам нужно выполнить итерацию результата mysql, чтобы получить результат. :) –

0

Попробуйте это:

$query = mysql_query("SELECT names FROM users"); 

if (!$query) { 
    echo "Could not successfully run query from DB: " . mysql_error(); 
    exit; 
} 

if (mysql_num_rows($query) == 0) { 
    echo "No rows found, nothing to print so am exiting"; 
    exit; 
} 

// While a row of data exists, put that row in $row as an associative array 
// Note: If you're expecting just one row, no need to use a loop 
// Note: If you put extract($row); inside the following loop, you'll 
//  then create $names 

while ($row = mysql_fetch_assoc($query)) { 
    echo $row["names"]; 

} 
1

Если предположить, что имя поля в Databse это "имена"

$query = mysql_query("SELECT names FROM users"); 

while($row = mysql_fetch_assoc($query)){ 
    echo $row['names']; 
    echo "<br>"; 
} 

Примечание: mysql_ * функции устарели в новой версии PHP, использование mysqli_ * или PDO

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