Я пытаюсь добавить знаки астрологии каждому пользователю в моей базе данных. У меня уже есть дни рождения, и у меня есть цикл while, который помещает необходимую мне информацию в массив, но я не могу заставить оператор foreach работать, чтобы я мог использовать каждое значение в массиве для вычисления того, что мне нужно, и вставьте новую информацию обратно в базу данных. Это то, что я до сих пор:использовать php foreach для обновления базы данных
while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
$update = array(
'user' => $row['username'],
'day' => $row['bday'],
'month' => $row['bmon']
);
}
print_r($update);
print_r ($ обновление) успешно печатает последнюю запись в базе данных, как это:
Array ([user] => johnsmith [day] => 30 [month] => 6)
Я пытался как 100 различных вещей, но это не так работая для меня. Это то, что я пытаюсь сделать:
foreach($update) {
$astrology = "";
if(($month==1 && $day>19)||($month==2 && $day<19)){
$astrology = 'Aquarius';
}else if(($month==2 && $day>18)||($month==3 && $day<21)){
$astrology = 'Pisces';
}else if(($month==3 && $day>20)||($month==4 && $day<20)){
$astrology = 'Aries';
}else if(($month==4 && $day>19)||($month==5 && $day<21)){
$astrology = 'Taurus';
}else if(($month==5 && $day>20)||($month==6 && $day<21)){
$astrology = 'Gemini';
}else if(($month==6 && $day>20)||($month==7 && $day<23)){
$astrology = 'Cancer';
}else if(($month==7 && $day>22)||($month==8 && $day<23)){
$astrology = 'Leo';
}else if(($month==8 && $day>22)||($month==9 && $day<23)){
$astrology = 'Virgo';
}else if(($month==9 && $day>22)||($month==10 && $day<23)){
$astrology = 'Libra';
}else if(($month==10 && $day>22)||($month==11 && $day<22)){
$astrology = 'Scorpio';
}else if(($month==11 && $day>21)||($month==12 && $day<22)){
$astrology = 'Sagittarius';
}else if(($month==12 && $day>21)||($month==1 && $day<20)){
$astrology = 'Capricorn';
}
$query = "UPDATE useroptions SET astrology='$astrology' WHERE username='$user'" ;
$db_conx->query($query);
}
Почему бы вам не добавить вычисляемое поле в базу данных? Вот для чего нужны взгляды (если это даже необходимо). – Blindy
Что происходит? Выполняется ли этот код успешно? Есть ли ошибки? – klugerama
@klugerama yes 'foreach ($ update) {' определенно работает. не говоря уже о пустых переменных и '$ update', 1-мерном массиве. – Peter