php - 查询结果显示间距

标签 php mysql echo spacing

我是 php 和 MySQL 的新手。

我正在我的网站上制作一个处理移动下载的脚本。

我在这里设置了 3 个表。

  1. 下载(包含有关特定下载的信息,每个都有自己的 ID)。
  2. models(包含一个可能的设备型号列表(型号名称),每个型号都有自己的 ID)。
  3. downloads_models(链接表说明 download_id = model_id,例如 (1,2) (1,3) (2,1))。

我有一个简单的查询来显示支持每个特定下载的模型。它是这样的:

    $dlDetailsQuery = 'SELECT models.model
    FROM models,downloads_models
    WHERE downloads_models.modId = models.model_id
    AND downloads_models.downId = "'.$pageId.'"
    ORDER BY models.model ASC; 
    ';

显示哪些机型支持下载,这一行是echod:

    $dpModSupport .= stripslashes($row['model']);

现在举个例子,我的页面有一个 $pageId 为“1”的下载“example1”,“example1”支持模型 1(model1)、2(model2) 和 3(model3)。当$dpModSupportechod 时,它作为"model1model2model3" 回显。

我的问题是:如何获得结果之间的间距或逗号?

我的目标是“model1、model2、model3”的输出。

我正在寻找一种通过 php 执行此操作的方法。我不知道查询是否可以构造为输出结果之间的间距,所以我猜 php 是那里唯一的解决方案。

我不想在模型名称字段中添加空格或逗号,也不想创建一个包含空格或逗号以及模型名称的新字段。

最佳答案

问题

通过循环编写:

$dpModSupport .= stripslashes($row['model']);

你正在构建这样一个字符串:

$dpModSupport .= stripslashes(<MODEL1>);
$dpModSupport .= stripslashes(<MODEL2>);
$dpModSupport .= stripslashes(<MODEL3>);

因此以一个字符串结束,该字符串只是散布在彼此旁边的每一行的内容。


解决方案

相反,您可以在循环之前编写:

$dpModSupport = Array();

然后,在它里面,不是用 .= 构建字符串,而是构建数组:

$dpModSupport[] = stripslashes($row['model']);

最后,要获得由所述数组的每个元素组成的输出,用逗号连接:

echo implode(', ', $dpModSupport);

我将留给读者在 PHP 手册中查找这些函数和语言特性作为练习。

关于php - 查询结果显示间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6601613/

相关文章:

mysql - 从两行中选择唯一的 id

BASH echo 与 sed

windows - CMD Echo 命令只保留最后一行文本

batch-file - 从 Windows 批处理 (.bat) 脚本中回显带有 Unix 行结尾的文本

php - 插入mysql问题

javascript - 如何制作从日期 1 到 31 具有不同值的条形图?

php - .href.replace 给我双域 (http ://localhosthttp://mydomain. com)

php - 为什么我的 SQL 脚本停止了?

php - 比较每行数据的表字段并采取一些措施 (PHP)

javascript - 第一次加载 html 页面时播放声音