【问题标题】:How to replace ID with Town names?如何用城镇名称替换 ID?
【发布时间】:2019-07-18 17:15:50
【问题描述】:

如何替换类别 ID?现在是 1,2,3,4,5,6,7 等等。我想用城镇名称替换它们。例如。 1=东京,2=布达佩斯,3=哥本哈根。

$sql = "SELECT pic, title, address, category FROM wp_23444423 WHERE COALESCE(pic, '') != '' ORDER BY id DESC";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo '<br> <img src="'.$row['pic'].'"><br>Name: '. $row['title']. '<br>Coordinates: ' . $row['address'] . '<br>Category: ' . $row['category'] . '<br>';
    }
} else {
    echo "0 results";
}

$conn->close();
?> 

【问题讨论】:

  • 你有一些包含这些城镇的 id 和名称的表吗?
  • 您应该添加您正在使用的语言,因为它不是纯粹的 SQL(它看起来像 PHP)。还有您正在使用的 SQL 版本(例如 MySQL)。但是,如果您对数据库有任何控制权,那么这应该是加入的问题,正如@barbsan 已经暗示的那样...
  • @Noceo 我添加了 sql 标签,因为我认为它可以通过加入某些表来解决,这似乎不是 php 相关的问题(当然,OP 使用 php 但最可能查询必须被改变),而且它似乎也不依赖于数据库类型
  • 大家好,不,我只想添加 PHP 代码来替换类别列中的所有数据,例如 1 应替换为东京,2 应替换为布达佩斯等等。@barbsan 否
  • @Noceo 检查我上面的答案。我只是想用PHP来替换所有的id。

标签: php sql replace


【解决方案1】:

根据您的 cmets,我会说您正在寻找 switch statement。创建一个城市名称变量并设置它,具体取决于开关输入(将是类别 ID)。像这样的:

switch (categoryId) {
    case 1:
        $cityName = "Tokyo";
        break;
    case label2:
        $cityName = "Budapest";
        break;
    case label3:
        $cityName = "Copenhagen";
        break;
    ...
    default:
        $cityName = "Unknown city";
}

不过,我仍然建议考虑加入 SQL,因为这样会更干净、更快...

此外,这种方法是基于您没有大量城市名称的假设。如果您有很多城市,最好创建一个数组或字典(我不太确定 php 中的选项)并通过它进行查找。当然也可以在数据库中建一个表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    相关资源
    最近更新 更多