2014-12-05 2 views
-1

У меня есть таблица: -Как проверить, является ли имя столбца «имя» или нет?

|----------|-----------------------------------------|------------------| 
| id |  name        | desc   | 
|----------------------------------------- ----------|------------------| 
| 123 | Empire : Kill (Kill everybody now) | desc 1  | 
|----------------------------------------------------|------------------| 
| 243 | Witch : Show (Bloodthirst part 2)  | desc 2  | 
|----------------------------------------------------|------------------| 

Я пишу следующий код для извлечения данных из таблицы: -

$columns_total = mysql_num_fields($result); 

while ($row = mysql_fetch_array($result)) //retrieving each row 
    { 
     for ($i = 0; $i < $columns_total; $i++) 
     { 
      /*appending each column data into the row of the data 
       encapsulated within double quotes and separated by a comma */ 
      $output .='"'.$row["$i"].'",'; 
     } 
    } 

Я должен проверить $row[$i] ли значение name столбца или desc столбца? ?

Если name столбца, то текст под скобкой будет удален, иначе не

Как я могу добиться этого?

+0

И что?? я могу использовать 'desc' .... не могу я? Я имею в виду инкапсуляцию desc в back-tilt – Saswat

+0

, которую вы можете правильно процитировать. Просто нужно всегда помнить, его обычно избегали по этой причине. – exussum

+0

Хотя он прежде всего спрашивал о поиске строк, ваш предыдущий вопрос [Удалить весь текст, который находится под "(" и ")"] (http://stackoverflow.com/ вопросы/27317352/remove-out-all-text-that-are-under-and), похоже, уже получили ответ на это? – halfer

ответ

1

Я бы рекомендовал использовать associative массив .. также цикл по каждому элементу, например, так:

while ($row = mysql_fetch_assoc($result)) //retrieving each row's ASSOCIATIVE ARRAY 
    { 
     foreach ($row as $key => $value) // $key will hold the name of the field 
     { 
      // now you can go like this: 
      if($key != 'name') 
       $output .= '"'.$value.'",'; 
      else 
       // whatever you want 

     } 
    } 

Так же, как примечание стороны, mysql_ функции устарели. Вместо этого вы должны использовать mysqli_ или PDO.

0

Используйте mysql_fetch_array ($ result, MYSQL_ASSOC)). Таким образом, ваши результаты возвращаются:

array (
    'id'=>123, 
    'name'=>"Whatever the name is", 
    'desc'=>"desc 1" 
); 
foreach ($row as $name=>$value) 
    ... 
0

Попробуйте использовать foreach

foreach($row as $key => $value) 
{ 
    if($key == 'name') 
    { 
     ... 
    } 
} 

$key будет ключевой индекс массива и $value это значение, что так

'key' => 'value'

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