我是php和MySQL的新手。
我正在我的网站上制作一个处理移动下载的脚本。
我设置了3个表,我在这里处理。
我有一个简单的查询来显示支持每个特定下载的模型。它如下:
$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;
';
要显示哪些型号支持下载,此行为echo
d:
$dpModSupport .= stripslashes($row['model']);
现在作为示例,我的页面的$ pageId为“1”,即下载“example1”,“example1”支持模型1(model1),2(model2)和3(model3)。当$dpModSupport
为echo
d时,它会回显为"model1model2model3"
。
我的问题是:如何获得间距或结果之间的逗号?
我的目标是“model1,model2,model3”的输出。
我正在寻找通过php实现此目的的方法。我不知道是否可以构造一个查询来输出结果之间的间距,所以我猜测php是唯一的解决方案。
我不想在模型名称字段中添加间距或逗号,或者创建一个包含间距或逗号以及模型名称的新字段。
答案 0 :(得分:1)
通过循环编写:
$dpModSupport .= stripslashes($row['model']);
你正在构建一个这样的字符串:
$dpModSupport .= stripslashes(<MODEL1>);
$dpModSupport .= stripslashes(<MODEL2>);
$dpModSupport .= stripslashes(<MODEL3>);
因此以一个字符串结尾,这个字符串只是彼此相邻的每一行的内容。
相反,你可以在循环之前写这个:
$dpModSupport = Array();
然后,在其中,而不是使用.=
构建字符串的行,构建数组:
$dpModSupport[] = stripslashes($row['model']);
最后,要获得由所述数组的每个元素组成的输出,用逗号连接:
echo implode(', ', $dpModSupport);
我将把它作为练习留给读者在PHP手册中查找这些功能和语言功能。
答案 1 :(得分:0)
将名称存储在数组中,然后在最后加入它们。
$dpModSupport = array();
$dpModSupport[] = stripslashes($row['model']);
echo implode(', ', $dpModSupport);