php - while loop not ending as expected -
php - while loop not ending as expected -
i might crazy here, pretty confused why while
loop seems never end, causes page continuously load , chokes server several min afterwords.
basically have table of photo albums
+----+--------+--------+ | id | title | parent | +----+--------+--------+ | 1 | album1 | 0 | +----+--------+--------+ | 2 | album2 | 0 | +----+--------+--------+ | 3 | album3 | 2 | +----+--------+--------+ | 4 | album4 | 3 | +----+--------+--------+ | 5 | album5 | 4 | +----+--------+--------+ | 6 | album6 | 1 | +----+--------+--------+
so have here hierarchy of albums this
- album1 ^- album6 - album2 ^- album3 ^- album4 ^- album5
i have table of photos themselves
+----+--------+-------+--------+ | id | title | album | master | +----+--------+-------+--------+ | 1 | photo1 | 1 | 1 | +----+--------+-------+--------+ | 2 | photo2 | 2 | 2 | +----+--------+-------+--------+ | 3 | photo3 | 6 | 1 | +----+--------+-------+--------+ | 4 | photo4 | 4 | 2 | +----+--------+-------+--------+ | 5 | photo5 | 5 | 2 | +----+--------+-------+--------+ | 6 | photo6 | 3 | 2 | +----+--------+-------+--------+
so can see have photos , belong each album, want able see master album belong to, or lowest perchance album.
i not want add together col photo albums table says album master album. if must can seek , without doing so.
to figured while loop.
so when add together album via form current album id via hidden input field , tie $parent
$parent = $_post['album'];
and since cannot add together photos in root directory album id greater 1, if adding album 1, right $parent
equal 1
so introduce while tag
while ($parent>0) {
then album info $parent
album database, yes have class setup , working, not believe issue works on own without while loop.
$item = $mysql->get_data("photos_albums", $parent);
then check see if parent of $parent
album greater 0, not beingness root album
if ($item['parent']>0) {
if alter $parent
previous albums $parent
, run 1 time again until album whos parent 0
$parent = item['parent'];
if not greater 0, know 0 , $parent
album lowest possible album , master album one
} else { $master = $item['id']; } }
all of combines code, me not work, causes page continuously load.
$parent = $_post['album']; $master = 0; while ($parent>0) $item = $mysql->get_data("photos_albums", $parent); if ($item['parent']>0) { $parent = $item['parent']; } else { $master = $item['id']; } }
am missing something?
parent reset when parent higher 0
if ($item['parent']>0) { $parent = $item['parent']; } else { $master = $item['id']; $parent = 0; }
should fix
php while-loop
Comments
Post a Comment