我有一张桌子: -
|----------|-----------------------------------------|------------------|
| 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 :(得分:1)
我建议使用associative数组..也是foreach循环,如下所示:
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
代替。
答案 1 :(得分:0)
使用mysql_fetch_array($ result,MYSQL_ASSOC))。这样,您的结果就会回来:
array (
'id'=>123,
'name'=>"Whatever the name is",
'desc'=>"desc 1"
);
foreach ($row as $name=>$value)
...
答案 2 :(得分:0)
尝试使用foreach
foreach($row as $key => $value)
{
if($key == 'name')
{
...
}
}
$key
将是数组的索引键,$value
是其值
'key' => 'value'