$sql23 = "SELECT * FROM map1pokemon ORDER BY RAND() LIMIT 1;";
$result23 = mysql_query($sql23) or die(mysql_error());
$battle_get23 = mysql_fetch_array($result23);
$sql2 = "SELECT * FROM pokemon WHERE name='".$battle_get23['pokemon']."'";
$result2 = mysql_query($sql2) or die(mysql_error());
$battle_get2 = mysql_fetch_array($result2);
$filler = "SELECT * FROM pokemon WHERE name='Charmander'";
$filler2 = mysql_query($filler) or die(mysql_error());
$filler3 = mysql_fetch_array($filler2);
$pokemon1 = array_fill(1,10,"".$filler3."");
$pokemon2 = array_fill(1,2,"".$battle_get2."");
$pokemon3 = array_merge($pokemon1, $pokemon2);
shuffle($pokemon3);
$pokemon4 = array_shift($pokemon3);
$pic2= mysql_real_escape_string($pokemon4['pic']);
$pic = strip_tags($pic2);
echo "<center>";
echo '<img src="pokemon/'.$pic.'" border=0><p></p>' ;
顶部的查询抓取关于每个口袋妖怪的信息,然后我想使用array_fill和array_merge使其中一个结果更难出现,但现在它没有显示混合口袋妖怪后的口袋妖怪的结果,我相信我正在做的口袋妖怪混合错误,但不知道为什么?
有人看到我在这里做错了吗?
这一行似乎没什么用:
$pic2= mysql_real_escape_string($pokemon4['pic']);
那么,不显示你想要的东西是合乎逻辑的,因为你不存储你想要的东西。让我们回顾一下你的代码:
$filler = "SELECT * FROM pokemon WHERE name='Charmander'"; $filler2 = mysql_query($filler) or die(mysql_error()); $filler3 = mysql_fetch_array($filler2);
$filter3
显然是一个包含所有表列的数组。
$pokemon1 = array_fill(1,10,"".$filler3."");
什么?你连接了一个数组和一个字符串?不要用这种伎俩,它不会给你带来好的效果。$pokemon1 = array_fill(1,10,$filler3);
没问题。有点贪心,不过还好。
你可以做的一件事是使用随机生成器,它将更容易使用,更少贪婪和更快。
$rand = rand(12);
if($rand <=10){
$result = $filler3;
}else{
$result = $battle;
}
echo $result['name'];