我在MYSQL数据库中有一些类别(数字),我试图回应并与类别名称匹配。例如。 (1 =山地自行车,2 =道路,3 = Cyclocross)
我想我需要制作一个数组或函数,以便在我回复 $ event_type 时让自己变得更容易,你们有什么想法?
if ($row_Recordset1['event_type'] == '1') echo 'Mountain Bike';
else if ($row_Recordset1['event_type'] == '2') echo 'Road';
else if ($row_Recordset1['event_type'] == '3') echo 'Cyclocross';
提前致谢!
答案 0 :(得分:3)
尝试这样的事情
$event_types = array(1 => 'Mountain Bike', 2 => 'Road', 3 => 'Cyclocross');
echo $event_types[$row_Recordset1['event_type']];
答案 1 :(得分:2)
纯粹的PHP解决方案是将类别放入数组中,然后在输出时解除引用:
$categories = array(
1 => 'Mountain Bike',
2 => 'Road',
3 => 'Cyclocross'
);
echo $categories[$row_Recordset1['event_type']];
更好的解决方案是将这些类别放入数据库中。然后,您可以连接该类别表,并在查询时提取类别名称以及类别ID:
SELECT ..., categories.name
FROM sometable
LEFT JOIN your_categories ON sometable.categoryID = categories.ID
答案 2 :(得分:2)
为此修改此代码:
$array = array('Mountain Bike', 'Road', 'Cyclocross');
echo $array[(int) $row_Recordset1['event_type'] -1];
答案 3 :(得分:1)
根据您在数据库中存储的内容,它可能会更高效,也可能不会更高效。
如果您在每行中都有类别(例如1)和类别标签(例如山地自行车):
$categories = array();
$result = mysql_query( "SELECT * FROM yourTable" );
while( $row = mysql_fetch_assoc( $result )
$categories[$row['event_type']] = $row['CategoryName'];
使用该方法,您的结束数组将如下所示:
array(1 =>“Mountain Bike”,2 =>“Road”,3 =>“Cyclocross”);
你可以这样做:
echo( $categories[$row_Recordsset1['event_type']] ); // Outputs key value in array
<强>可替换地,强>
您可以自己填充数组:
$categories = array( 1 => "Mountain Bike", 2 => "Road", 3 => "Cyclocross" );
然后使用我在上面发布的相同回声方法。