高分 求php 批量写入mysql表,简化源代码。不要复制粘贴别人的。
<?phpif(isset($_POST["tijiao"])){$str='1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';$i=rand(...
<?php
if (isset($_POST["tijiao"])){
$str='1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$i=rand(0,35);
$a1=
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].'-'.
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].'-'.
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].'-'.
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)];
$a2=
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].'-'.
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].'-'.
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].'-'.
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)];
//首先我生成了有100条ETMQ-8Z5N-QWMO-ELBM这种格式的激活码,
----------------------------------------------
$sql = "insert into jihuoma (number,time)values($a1x,now())";
$sql = "insert into jihuoma (number,time)values($a2x,now())";
//一共有$a1x到$a100x 一百条。。。。上面的随机数我也就生成了100遍,
//也求能帮简化一下,不用这种笨方法怎么才能生成100条不重复的。
mysql_query($sql,$conn);//$conn已经设置好了
//我知道我上面的写法是不对的,
//我是个非常菜的菜鸟。没去正经的地方学过,基础不好不要笑话。
//200分求简化随机数那里和批量写入数据库的现成的代码,只能做伸手党了。谢谢了。
//另外我有个想法,因为我是想生成这些激活码到数据库里面,当我点击生成新的随机码的时候,我也想同时生成一个TXT文本下载到本地
//里面包含刚刚生成并写入数据库的那些激活码,一行一个激活码,自动换行的格式。
//如果能一起帮把代码写出来,再追加200分。
//一定会采纳的,请放心。好人一生平安。
}
?>
<form method="post">
<input name="tijiao" type="button" id="tijiao" value="点击生成100条激活码并下载TXT">
</form>
下面是补充问题:
$sql = "insert into jihuoma (number,time)values($a1 ,now())";
$sql = "insert into jihuoma (number,time)values($a2,now())";
//一共有$a1到$a100 一百条。。。。上面的随机数我也就生成了100遍,
这里写错了,没有x。
----------------
另外有一点漏掉了,生成的激活码,不能重复,也不能和数据库中number重复。如果重复的话不添加。这里要做个判断。 展开
if (isset($_POST["tijiao"])){
$str='1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$i=rand(0,35);
$a1=
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].'-'.
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].'-'.
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].'-'.
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)];
$a2=
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].'-'.
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].'-'.
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].'-'.
$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)].$str[rand(0,35)];
//首先我生成了有100条ETMQ-8Z5N-QWMO-ELBM这种格式的激活码,
----------------------------------------------
$sql = "insert into jihuoma (number,time)values($a1x,now())";
$sql = "insert into jihuoma (number,time)values($a2x,now())";
//一共有$a1x到$a100x 一百条。。。。上面的随机数我也就生成了100遍,
//也求能帮简化一下,不用这种笨方法怎么才能生成100条不重复的。
mysql_query($sql,$conn);//$conn已经设置好了
//我知道我上面的写法是不对的,
//我是个非常菜的菜鸟。没去正经的地方学过,基础不好不要笑话。
//200分求简化随机数那里和批量写入数据库的现成的代码,只能做伸手党了。谢谢了。
//另外我有个想法,因为我是想生成这些激活码到数据库里面,当我点击生成新的随机码的时候,我也想同时生成一个TXT文本下载到本地
//里面包含刚刚生成并写入数据库的那些激活码,一行一个激活码,自动换行的格式。
//如果能一起帮把代码写出来,再追加200分。
//一定会采纳的,请放心。好人一生平安。
}
?>
<form method="post">
<input name="tijiao" type="button" id="tijiao" value="点击生成100条激活码并下载TXT">
</form>
下面是补充问题:
$sql = "insert into jihuoma (number,time)values($a1 ,now())";
$sql = "insert into jihuoma (number,time)values($a2,now())";
//一共有$a1到$a100 一百条。。。。上面的随机数我也就生成了100遍,
这里写错了,没有x。
----------------
另外有一点漏掉了,生成的激活码,不能重复,也不能和数据库中number重复。如果重复的话不添加。这里要做个判断。 展开
1个回答
2017-04-15 · 知道合伙人软件行家
关注
展开全部
1、批量生成注册码的示例代码如下:
<?php
$Codes = GenCode(100);
echo '<pre>';
print_r($Codes);
echo '</pre>';
function GenCode($GenCount)
{
$CodeArr = array();
$KeyStr = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';
for ($d = 1; $d <= $GenCount; $d++) {
$CodeStr = '';
for ($i = 1; $i < 5; $i++) {
$Keys = str_shuffle($KeyStr);
$CodeStr = $CodeStr . '-' . substr($Keys,1,4);
}
$CodeArr[] = substr($CodeStr,1);
}
array_unique($Codes);
return $CodeArr;
}
代码运行截图:
2、将上面的数据保存到 txt 文件,代码示例:
<?php
$Codes = GenCode(100);
SaveToTxt('./test.txt',$Codes);
function SaveToTxt($FileName, $CodeArray)
{
$fp = fopen($FileName, "w+") or die("打开 $FileName 失败。");
fwrite($fp, implode("\r\n", $CodeArray)) or die("写入 $FileName 数据失败。");
fclose($fp);
}
更多追问追答
追问
追答
假设,数据库名为 test,表的结构如下:
则,写入数据库代码示例:
<?php
$Codes = GenCode(100);
SaveToDbf($Codes, 'keycode');
function SaveToDbf($CodeArray, $TableName)
{
$sql = 'INSERT IGNORE INTO ' . $TableName . '(keynum) VALUES ';
$temp = '';
for ($i = 0; $i < count($CodeArray); $i++)
{
$temp = $temp . "('$CodeArray[$i]'),";
}
$sql = rtrim($sql . $temp,',');
$mysqli = new mysqli("localhost", "用户名", "密码", "数据库名称");
if (mysqli_connect_errno()) {
printf("连接数据库错误: %s\n", mysqli_connect_error());
exit();
}
if ($mysqli->query($sql) === TRUE) {
printf("写入成功。\n");
} else
echo '写入到数据库出现错误:' . $mysqli->error;
$mysqli->close();
}
运行截图:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询