2017-07-03 73 views
-2

我试图插入一个数据库中的37名不同的用户37张不同的图片。它的作品,但我总是在括号之间获得相同的价值。插入不同的值为每个不同的行的MySQL

$qty=37; 
for($i=1;$i < $qty;$i++){ 
$avatar = array('avatar ('.$i.').jpg'); 
} 
$target_file = 'uploads/'.$avatar[0]; 
$imageFileType='jpg'; 

while($user=mysqli_fetch_array($selectususers)){ 
      $IsPrimary = 1; 
      $userid=$user['UserID']; 
      $userimage1Q = $db->prepare("INSERT INTO avatars 
      (UserID,PhotoPath,PhotoExtension,IsPrimaryPhoto) 
      VALUES (?,?,?,?)"); 
      $userimage1Q->bind_param("issi",$userid,$target_file,$imageFileType,$IsPrimary); 
      $userimage1Q->execute() or die(mysqli_error($db)); 
} 

此给出以下结果37次

uploads/avatar (36).jpg 

回答

1

替换此

for ($i=1;$i < $qty;$i++) { 
$avatar = array('avatar ('.$i.').jpg'); 
} 

随着

$avatar = array(); 
for ($i = 1; $i < $qty; $i++) { 
$avatar[] = 'avatar(' . $i . ').jpg'; 
$targetFile = 'uploads/' . $avatar[$i]; 
// this array store all names 
} 
print_r($avatar); 
+0

但愿你不是一个给我下投票,因为t将其不工作。我得到相同样的结果做时'$ TARGET_FILE =“上传/'.$化身[0];'我得到'上传/化身(1).jpg' 37倍。 –

+0

让我试试我的自我。 –

+0

@SebastianFarham我的答案更新,现在尝试以前我是里面印刷的for循环 –

0

它完全我忘了,但for循环是不必要的。一切都可以在这个时候处理。

$i=1; 
while($user=mysqli_fetch_array($selectususers)){$i++ 
$avatar = array('avatar ('.$i.').jpg'); 
$target_file = 'uploads/'.$avatar; 
$imageFileType='jpg'; 
      $IsPrimary = 1; 
      $userid=$user['UserID']; 
      $userimage1Q = $db->prepare("INSERT INTO avatars 
      (UserID,PhotoPath,PhotoExtension,IsPrimaryPhoto) 
      VALUES (?,?,?,?)"); 
      $userimage1Q->bind_param("issi",$userid,$target_file,$imageFileType,$IsPrimary); 
      $userimage1Q->execute() or die(mysqli_error($db)); 
} 
相关问题