将字符串附加到自身,'X'次(其中'x'是变量)

时间:2016-05-11 12:26:33

标签: php mysql

我有一个HTML页面,用户可以在清单中选择多个值。根据所选项目的数量,这是我想将变量附加到自身的次数,用逗号分隔(如果有意义的话)

例如,如果我的字符串是$string = "'$apple'"(是的,我的字符串意图以这种方式格式化,你会明白为什么)并且用户从清单中选择了3个项目,我的字符串最终会被:

'$apple', '$apple', '$apple'

当用户提交页面时,这是PHP:

$category = mysql_real_escape_string($_POST['category']);
$string = 'test';

if (count($category) === 1) {
//donothing
}
else{
$category = implode(",",$category);
}
$numcat = count($category);  //count number of items in $category, save value to $numcat
$query = mysql_query("INSERT INTO table (". $category .") VALUES ('$string')");

作为参考,如果用户从HTML表单中选择了“apple,banana,grape”,我希望查询基本上如下所示:

$query = mysql_query("INSERT INTO table (apple, banana, grape) VALUES ('$string', '$string', '$string')");

另一个例子,如果用户从HTML表单中选择了“apple,grape”,我希望它最终看起来像这样:

$query = mysql_query("INSERT INTO table (apple, grape) VALUES ('$string', '$string')");

INSERT INTO table (apple, grape)已经通过INSERT INTO table (". $category .")解决了,因为我已经将其破坏并用逗号分隔,但我还需要字符串在{{1}中显示'X'次},取决于VALUES的结果?

我该怎么做?

1 个答案:

答案 0 :(得分:1)

在我看来,你想要一个变量和一个计数并从中创建一个字符串。如果是这样的话,这会有效吗?

ARGV.shift

然后,$ str将包含“'x','x','x'”。

您可以问我为什么不使用$value = "'x'"; $count = 3; $a = array_fill(0, $count, $value); $str = implode(',', $a); 。我还没有看到使用胶水的方法。 str_repeat函数允许我使用,作为粘合剂。我只需要先把它变成一个数组。