我有一张桌子
|----------|-----------------------------------------|------------------|
| 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)
$data = preg_replace('/\(.*\)/','',$data);
摆脱空间
$data = trim($data);
答案 1 :(得分:1)
通过使用方法mysql_num_fields
,您将获得编号数组中的行。这意味着当您访问$ row数组时指定的索引将确定您要访问的列。要实现这一目标,您有两个解决方案:
您可以生成静态对应column_name - &gt;根据您正在使用的查询索引。如果$ result变量包含select * from table
之类的内容,则索引将为数字1。
您可以使用mysql_list_fields
http://php.net/manual/en/function.mysql-list-fields.php
所以一旦你的男人有哪个索引,你就必须做一个简单的条件,比如if ($row == 1) {trim();}
,你已经完成了!
答案 2 :(得分:1)
使用mysql_fetch_assoc而不是mysql_fetch_array。
答案 3 :(得分:0)
你可以通过以下方式爆炸:
$format_array = explode(":",$data);
$format_data = $format_array[0];
echo $format_data.':';
答案 4 :(得分:-1)
您可以在&#34;(&#34;字符后)中删除代码,然后使用&#34; trim&#34;函数删除最后的空格:
$input = "Empire : (Kill everybody now)";
$input2 = explode("(",$input);
$input3 = trim($input2[0]);
现在$input3
变量正在保存您要查找的结果。