У меня есть 2 mysql таблицы, которые выглядят следующим образом:
users: usr fname lname email news wres SWAGLeaders
campaigns: usr subject value
таблицы связаны через usr. Для каждой кампании usr содержится 4 различных предмета (очистка, газ, cca и опылители).
Я выполняю базовые c запросы к базе данных:
$users = query("select * from users");
$camps = query("select distinct usr from campaigns");
каждый пользователь в $ camp будет также может быть в $ users, но каждый usr в $ users может не входить в $ camp. И $ camp, и $ users отсортированы в порядке возрастания usr.
Я хочу построить полностью независимый объект, имеющий следующую форму:
{
abc@gmail.com:[
usr:130,
fname:'bob',
lname:'henry',
news:1,
wres:1,
SWAGLeader:1,
cleanup:1,
gas:0,
cca:0,
pollinators:1
}
Я начинаю следующим образом:
$icnt = count($users);
$ccnt = count($camp);
$all = [];
for($int i = 0;$i<$cnt;$i++){
$obj = new stdClass();
$obj->{$user[i]['email']}=['usr'=>$user[0]['usr']];
$iusr = $user[i]['usr'];
// so at this point I have the the start of my first obj
// how do I add in usr,fname,lanme,news,wres and SWAGLeaders into the array?
for($k= 0;$k <6;$k++){
???????
}
for($j=0;$j<$ccnt;$j++){
$cusr = $camp[$j]['usr'];
if($cusr === $iusr){
$usrCamp = query("select * from camp where usr = ?",$cusr);
//so now I need to add in the 4 campaigns with values from $usrCamp
for($k=0;$k<4;$k++){
????
}
}else{
// and here I need to add in the 4 campaigns with no data (nulls)
for($k=0;$k<4;$k++){
????
}
}
}
array_push($obj,$all);
}
Наконец, во вложенном l oop, как мне получить доступ к каждому элементу в $ all, в основном для каждого адреса электронной почты, как мне получить доступ к элементам в массиве? Как назначить их другим переменным по значению (не по ссылке)