Я пытаюсь динамически построить многомерный массив в PHP. У меня есть структура с категориями, подкатегориями, подкатегориями и так далее. Я сохраняю в MariaDB для каждой записи строку, которая дает мне путь к этим подподкатегориям, и сохраняю массив в другой таблице, сериализующей этот массив.
Я построил push в массиве команду динамически, но она не выполняет ее как команду.
Я хочу динамически создать команду $arr[key1][key2][key3] и т. д. и вставить значение (это не независимо от значения, меня тоже интересует только ключ) в этот массив
Спасибо
$sel_arr="SELECT * FROM arr_categ WHERE is_activ=1";
$res_arr=mysqli_query($conn,$sel_arr);
$rez_arr=mysqli_fetch_object($res_arr);
$id_arr=$rez_arr->id;
if($rez_arr->nume=='xxx'){
$arr=array();
} else {
$arr=unserialize($rez_arr->nume);
}
if(isset($_POST["save_c"])){
$id_categ=mysqli_real_escape_string($conn, $_POST["id_categ"]);
$nume_c=mysqli_real_escape_string($conn,$_POST["nume_c"]);
if($id_categ==0){
$ins="INSERT INTO categ (nume, id_ordine, id_parinte, string) VALUES ('$nume_c', '1', '0', '0')";
mysqli_query($conn,$ins);
$id_c=mysqli_insert_id($conn);
$arr[$id_c]=array();
print_r($arr);
$arr_ser=serialize($arr);
$upd_arr="UPDATE arr_categ SET nume='$arr_ser' WHERE id='$id_arr'";
mysqli_query($conn,$upd_arr);
} else {
$sel_cat="SELECT * FROM categ WHERE id='$id_categ'";
$res_cat=mysqli_query($conn,$sel_cat);
$nr_cat=mysqli_num_rows($res_cat);
if($nr_cat==1){
$rez_cat=mysqli_fetch_object($res_cat);
$id_ordine=$rez_cat->id_ordine+1;
$id_parinte=$rez_cat->id_parinte+1;
if($rez_cat->string==0){
$string=$id_categ;
} else {
$string=$rez_cat->string.','.$rez_cat->id;
}
$ins_cat="INSERT INTO categ (nume, id_ordine, id_parinte, string) VALUES ('$nume_c', '$id_ordine', '$id_parinte', '$string')";
mysqli_query($conn,$ins_cat);
$id_cat=mysqli_insert_id($conn);
$arr_string=explode(",",$string);
$c=count($arr_string);
foreach($arr_string as $item){
$str.='['.$item.']';
}
$new_str='arr'.$str.'['.$id_cat.']';
"$".$new_str=50;
//$arr_ser=serialize($arr);
//$upd_arr="UPDATE arr_categ SET nume='$arr_ser' WHERE id='$id_arr'";
//echo $upd_arr.'
';
//mysqli_query($conn,$upd_arr);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/773 ... ray-in-php
Построение динамического многомерного массива в PHP [дубликат] ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1727415473
Anonymous
Я пытаюсь динамически построить многомерный массив в PHP. У меня есть структура с категориями, подкатегориями, подкатегориями и так далее. Я сохраняю в MariaDB для каждой записи строку, которая дает мне путь к этим подподкатегориям, и сохраняю массив в другой таблице, сериализующей этот массив.
Я построил push в массиве команду динамически, но она не выполняет ее как команду.
Я хочу динамически создать команду $arr[key1][key2][key3] и т. д. и вставить значение (это не независимо от значения, меня тоже интересует только ключ) в этот массив
Спасибо
$sel_arr="SELECT * FROM arr_categ WHERE is_activ=1";
$res_arr=mysqli_query($conn,$sel_arr);
$rez_arr=mysqli_fetch_object($res_arr);
$id_arr=$rez_arr->id;
if($rez_arr->nume=='xxx'){
$arr=array();
} else {
$arr=unserialize($rez_arr->nume);
}
if(isset($_POST["save_c"])){
$id_categ=mysqli_real_escape_string($conn, $_POST["id_categ"]);
$nume_c=mysqli_real_escape_string($conn,$_POST["nume_c"]);
if($id_categ==0){
$ins="INSERT INTO categ (nume, id_ordine, id_parinte, string) VALUES ('$nume_c', '1', '0', '0')";
mysqli_query($conn,$ins);
$id_c=mysqli_insert_id($conn);
$arr[$id_c]=array();
print_r($arr);
$arr_ser=serialize($arr);
$upd_arr="UPDATE arr_categ SET nume='$arr_ser' WHERE id='$id_arr'";
mysqli_query($conn,$upd_arr);
} else {
$sel_cat="SELECT * FROM categ WHERE id='$id_categ'";
$res_cat=mysqli_query($conn,$sel_cat);
$nr_cat=mysqli_num_rows($res_cat);
if($nr_cat==1){
$rez_cat=mysqli_fetch_object($res_cat);
$id_ordine=$rez_cat->id_ordine+1;
$id_parinte=$rez_cat->id_parinte+1;
if($rez_cat->string==0){
$string=$id_categ;
} else {
$string=$rez_cat->string.','.$rez_cat->id;
}
$ins_cat="INSERT INTO categ (nume, id_ordine, id_parinte, string) VALUES ('$nume_c', '$id_ordine', '$id_parinte', '$string')";
mysqli_query($conn,$ins_cat);
$id_cat=mysqli_insert_id($conn);
$arr_string=explode(",",$string);
$c=count($arr_string);
foreach($arr_string as $item){
$str.='['.$item.']';
}
$new_str='arr'.$str.'['.$id_cat.']';
"$".$new_str=50;
//$arr_ser=serialize($arr);
//$upd_arr="UPDATE arr_categ SET nume='$arr_ser' WHERE id='$id_arr'";
//echo $upd_arr.'
';
//mysqli_query($conn,$upd_arr);
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/77364377/building-dynamically-multidimensional-array-in-php[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия