Ben oldukça zor bir hata var. Aşağıdaki fonksiyon navigasyon katmanları almak için tasarlanmış bir recusive betik.
//recusive function to set higher level navigation tree
function subLevels ($part_tree) {
// print_r($part_tree);//set new layer if initive if (empty ($part_tree['tree_name'])) { $grandchild_array = explode ("|", $part_tree['children'][0]); //populate the main array with the correct children for the new layer foreach ($grandchild_array as $key => $array) { if (is_array($array)) { foreach ($array as $inner_key => $current_id) { $result = mysql_query("SELECT children FROM
".PRE."navigation WHERE id = '$current_id'");
$row = mysql_fetch_array($result); $new_child[$current_id] = $row['children']; } foreach ($new_child as $new_id => $row) { $part_tree['children'][$new_id] = $row['children']; } } else { // echo $array; $result = mysql_query("SELECT children FROM ".PRE."navigation WHERE
id = '$ dizi' ");
$row = mysql_fetch_array($result); $part_tree['children'][$array] = $row['children']; } } }
/ / Geçerli katmanı oluşturun
foreach (=> $ child_string as $ anahtar $ part_tree ['çocuk']) {
if (!empty ($child_string)) { $temp_array = explode ("|", $child_string); $part_tree['children'][$key] = $temp_array; } }
//see if a new layer is required for each child foreach ($part_tree['children'] as $key => $array) {
if (!empty ($array)) { $temp_string = implode ("|", $array); $part_tree['children'][$key]['children'][]
= $temp_string; $part_tree = $this -> subLevels ($part_tree['children'][$key]);
}
}
$ part_tree dönmek;
}//function
ve ben bu adamcağız bölümü oldukça eminim
//set new layer if initive if (empty ($part_tree['tree_name'])) { $grandchild_array = explode ("|", $part_tree['children'][0]);
//populate the main array with the correct children for the new layer foreach ($grandchild_array as $key => $array) { if (is_array($array)) { foreach ($array as $inner_key => $current_id) { $result = mysql_query("SELECT children FROM
".PRE."navigation WHERE id = '$current_id'"); $row = mysql_fetch_array($result); $new_child[$current_id] = $row['children']; }
foreach ($new_child as $new_id => $row) { $part_tree['children'][$new_id] =
$row['children']; }
} else { // echo $array; $result = mysql_query("SELECT children FROM ".PRE."navigation WHERE
id = '$ dizi' "); $row = mysql_fetch_array($result);
$part_tree['children'][$array] = $row['children']; } } }
Sorunun niteliği şudur: en kısa sürede ben yukarıdaki bölümü bitmiş olarak, sunucu hatası 500 dönen başladı Özellikle, bir zamanlar ben hemen sorunu bulunanlar $ part_tree ['çocuk'] [$ deðiþken_adý] doldurur kodunu bitirdi..
Bu fonksiyonun geri kalanı çalışacaktır ayarlamanız dizi elemanıyla sadece. İlk interation üzerinde doğru biçimde sağlanır ve navigasyon her subsquent tabakası için burada yeniden doldurulur.
Bir çözüm için benim tek düşünce ben çok derin recusing ve sunucu gibi değildi oldu. Bu nedenle herhangi bir kök düzey 3 kez çalışan işlevini meanig, 3 diğer bir Maxium yol açar, ancak bu başarılı olmamıştır ben navigasyon tablosunu azalır. Bundan önce ben özgür recusion sorunun sınırsız seviyeleri ile test edilmiştir.
Herkes bu 500 hata için alternatif bir sebep sunabilir eğer ben bütün kulaklar değilim.
EDIT: So after activating the error flagging the site returned these messages:
Uyarı: Undefined index: 32 hattı tarihinde sona in / mnt/sw/2028751/web_applications/web/project_site/secure_includes/modules/users/index.php
Notice: Undefined özellik: Satır 153 / mnt/sw/2028751/web_applications/web/project_site/secure_includes/modules/users/class.php yapman kullanıcı :: $
Notice: Undefined özellik: Satır 153 / mnt/sw/2028751/web_applications/web/project_site/secure_includes/modules/users/class.php yapman kullanıcı :: $
Notice: Undefined index: hattında 29 / mnt/sw/2028751/web_applications/web/project_site/secure_includes/modules/preprocessor/index.php içinde expire_flag
Notice: Undefined variable: hattında 36 / mnt/sw/2028751/web_applications/web/project_site/secure_includes/modules/preprocessor/index.php içinde error404
ve tekrar bu
Uyarı: hat 91 üzerinde / mnt/sw/2028751/web_applications/web/project_site/secure_includes/modules/navigation/class.php dize dönüştürme Array
Ben üzerinde çalışıyor olması tek dosya olarak bu bizzar bulmak navigasyon / class.php olduğunu