kochier
07-16-2008, 03:13 AM
I created some PHP code to display my site map, with directories on a lower level than their parents. Map is the place where the directory exists, and all of it's siblings share the same number. Now this is the code I created: <?php
include 'library/opendb.php';
$result = mysql_query("SELECT * FROM map WHERE Map = '1' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
}
$result = mysql_query("SELECT * FROM map WHERE Map = '2' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result)){
$path = $row['Pathname'];
if ($path == 'absurdity.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result2 = mysql_query("SELECT * FROM map WHERE Map = '3' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result2)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result3 = mysql_query("SELECT * FROM map WHERE Map = '4' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result3)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
}
echo '</ul>';
echo '</li>';
echo '</ul>';
echo '</li>';
}
if ($path == 'misc.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result4 = mysql_query("SELECT * FROM map WHERE Map = '5' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result4)){
$path2 = $row['Pathname'];
if ($path2 == 'sitemap.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a> (You Are Here)</li>';
}
else
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
}
echo '</ul>';
echo '</li>';
}
if ($path == 'reviews.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result5 = mysql_query("SELECT * FROM map WHERE Map = '6' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result5)){
$path2 = $row['Pathname'];
if ($path2 == 'events.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result6 = mysql_query("SELECT * FROM map WHERE Map = '7' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result6)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
echo '</ul>';
echo '</li>';
}
else
{
if ($path2 == 'movies.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result6 = mysql_query("SELECT * FROM map WHERE Map = '8' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result6)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
echo '</ul>';
echo '</li>';
echo '</ul>';
echo '</li>';
}
}
}
}
if ($path == 'stories.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result8 = mysql_query("SELECT * FROM map WHERE Map = '9' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result8)){
$path4 = $row['Pathname'];
if ($path4 == 'fetish.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result9 = mysql_query("SELECT * FROM map WHERE Map = '10' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result9)){
$path5 = $row['Pathname'];
if ($path5 == 'michael.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a> (Directory)<ul>';
$result10 = mysql_query("SELECT * FROM map WHERE Map = '11' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result10)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
echo '</ul>';
echo '</li>';
}
else
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
}
echo '</ul>';
echo '</li>';
}
if ($path4 == 'fiction.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result11 = mysql_query("SELECT * FROM map WHERE Map = '12' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result11)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
echo '</ul>';
echo '</li>';
}
if ($path4 == 'miscstories.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result12 = mysql_query("SELECT * FROM map WHERE Map = '13' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result12)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
echo '</ul>';
echo '</li>';
}
if ($path4 == 'poems.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result12 = mysql_query("SELECT * FROM map WHERE Map = '15' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result12)){
$path6 = $row['Pathname'];
if ($path6 == 'lovepoems.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a> (Directory)<ul>';
$result13 = mysql_query("SELECT * FROM map WHERE Map = '16' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result13)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
echo '</ul>';
echo '</li>';
}
else
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
}
echo '</ul>';
echo '</li>';
}
if ($path4 == 'shout.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result13 = mysql_query("SELECT * FROM map WHERE Map = '17' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result13)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
}
}
echo '</ul>';
echo '</li>';
echo '</ul>';
echo '</li>';
echo '</ul>';
echo '</li>';
echo '</ul>';
}
}
include 'library/closedb.php';
?>
It works perfectly, however the code looks like it should be simplified, especially if I ever need to update it.
include 'library/opendb.php';
$result = mysql_query("SELECT * FROM map WHERE Map = '1' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
}
$result = mysql_query("SELECT * FROM map WHERE Map = '2' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result)){
$path = $row['Pathname'];
if ($path == 'absurdity.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result2 = mysql_query("SELECT * FROM map WHERE Map = '3' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result2)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result3 = mysql_query("SELECT * FROM map WHERE Map = '4' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result3)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
}
echo '</ul>';
echo '</li>';
echo '</ul>';
echo '</li>';
}
if ($path == 'misc.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result4 = mysql_query("SELECT * FROM map WHERE Map = '5' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result4)){
$path2 = $row['Pathname'];
if ($path2 == 'sitemap.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a> (You Are Here)</li>';
}
else
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
}
echo '</ul>';
echo '</li>';
}
if ($path == 'reviews.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result5 = mysql_query("SELECT * FROM map WHERE Map = '6' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result5)){
$path2 = $row['Pathname'];
if ($path2 == 'events.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result6 = mysql_query("SELECT * FROM map WHERE Map = '7' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result6)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
echo '</ul>';
echo '</li>';
}
else
{
if ($path2 == 'movies.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result6 = mysql_query("SELECT * FROM map WHERE Map = '8' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result6)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
echo '</ul>';
echo '</li>';
echo '</ul>';
echo '</li>';
}
}
}
}
if ($path == 'stories.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result8 = mysql_query("SELECT * FROM map WHERE Map = '9' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result8)){
$path4 = $row['Pathname'];
if ($path4 == 'fetish.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result9 = mysql_query("SELECT * FROM map WHERE Map = '10' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result9)){
$path5 = $row['Pathname'];
if ($path5 == 'michael.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a> (Directory)<ul>';
$result10 = mysql_query("SELECT * FROM map WHERE Map = '11' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result10)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
echo '</ul>';
echo '</li>';
}
else
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
}
echo '</ul>';
echo '</li>';
}
if ($path4 == 'fiction.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result11 = mysql_query("SELECT * FROM map WHERE Map = '12' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result11)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
echo '</ul>';
echo '</li>';
}
if ($path4 == 'miscstories.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result12 = mysql_query("SELECT * FROM map WHERE Map = '13' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result12)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
echo '</ul>';
echo '</li>';
}
if ($path4 == 'poems.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result12 = mysql_query("SELECT * FROM map WHERE Map = '15' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result12)){
$path6 = $row['Pathname'];
if ($path6 == 'lovepoems.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a> (Directory)<ul>';
$result13 = mysql_query("SELECT * FROM map WHERE Map = '16' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result13)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
echo '</ul>';
echo '</li>';
}
else
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
}
echo '</ul>';
echo '</li>';
}
if ($path4 == 'shout.php')
{
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a><ul>';
$result13 = mysql_query("SELECT * FROM map WHERE Map = '17' ORDER BY Name ASC") or die(mysql_error());
while($row = mysql_fetch_array($result13)){
echo '<li><a href="';
echo $row['Pathname'];
echo '">';
echo $row['Name'];
echo '</a></li>';
}
}
}
echo '</ul>';
echo '</li>';
echo '</ul>';
echo '</li>';
echo '</ul>';
echo '</li>';
echo '</ul>';
}
}
include 'library/closedb.php';
?>
It works perfectly, however the code looks like it should be simplified, especially if I ever need to update it.