Я пытаюсь цикл один раз с $cat_id
, чтобы захватить его id
и category
значения для значения $url
, а затем добавить значения id
и category
к $parent_cat_id
и $sub_cat_name
массивам, а затем мертвая $parent_cat_id
значения только добавлен в массив, чтобы найти его значения id
и category
и добавить их в массивы до тех пор, пока все значения $url
не будут зациклированы. Но я могу получить только первое значение $url
в цикле, а не остальные значения $url
для цикла. Может кто-нибудь поможет мне исправить эту проблему?PHP и MySQL зацикливание проблемы
PHP-код.
$parent_cat_id = array();
$sub_cat_name = array();
$cat_id = 23;
for ($i = 1; isset($_GET['sub'.$i]); ++$i) {
$url[$i] = '&sub' . $i . '=' . $_GET['sub'.$i];
if(isset($cat_id)){
$dbc = mysqli_query($mysqli, "SELECT id, category FROM categories WHERE url = '" . $url[$i] . "' AND parent_id = '" . $cat_id . "'");
if (!$dbc) {
print mysqli_error($mysqli);
} else {
while($row = mysqli_fetch_array($dbc)){
$parent_cat_id[] = $row['id'];
$sub_cat_name[] = $row['category'];
}
}
} else {
$dbc = mysqli_query($mysqli, "SELECT id, category FROM categories WHERE url = '" . $url[$i] . "' AND parent_id = '" . $parent_cat_id[$i] . "'");
if (!$dbc) {
print mysqli_error($mysqli);
} else {
while($row = mysqli_fetch_array($dbc)){
$parent_cat_id[] = $row['id'];
$sub_cat_name[] = $row['category'];
}
}
}
}
Текущий выход.
$parent_cat_id Array ([0] => 77)
$sub_cat_name Array ([0] => A1)
Ожидаемый результат.
$parent_cat_id Array ([0] => 77 [1] => 78 [2] => 97 [3] => 100)
$sub_cat_name Array ([0] => A1 [1] => A2 [2] => B4 [3] => CD)
Что именно вы пытаетесь выполнить с помощью 'i
Cam
, так как я не знаю, сколько подкатегорий есть 'PHP_INT_MAX', только петли так много раз подкатегорий, что и его префект. – g4tv
Кроме того, можете ли вы отредактировать этот код таким образом, чтобы он был как можно более простым, все еще демонстрируя проблемы, которые вы испытываете? Я не думаю, что какой-либо из этих материалов базы данных имеет отношение к вашей проблеме. – Cam