[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

populate drop down from file listing

Posted on 2009-07-15
4
Medium Priority
?
163 Views
Last Modified: 2012-05-07
I am having issues connecting the dots here.  I have a bit of php that will list each file in a folder.  I want to take that data and populate a pulldown.  Here is the code I have.  I know it is something simple, but I just can't piece it together.

Thanks
<?
$path = "../media";
$dh = opendir($path);
$i=1;
while (($file = readdir($dh)) !== false) {
    if($file != "." && $file != "..") {
        echo "$i. <a href='$path/$file'>$file</a><br />";
?>
		<script="javascript">
		var objDropdown = document.getElementById('files');
		var objOption = new Option(<? $file ?>,<? $file ?>);
		document.write(objOption.value);
		objDropdown.options[objDropdown.length] = objOption;
		</script>
<?
        $i++;
    }
}
closedir($dh);
?>

Open in new window

0
Comment
Question by:prostang
  • 2
  • 2
4 Comments
 
LVL 36

Expert Comment

by:gr8gonzo
ID: 24865347
What is the surrounding code? Can you post the whole page?
0
 

Author Comment

by:prostang
ID: 24865525
Here is most of the code for the page (I also included the original code).  above this is database connection and behaviors in PHP.
<?
$path = "../media";
$dh = opendir($path);
$i=1;
while (($file = readdir($dh)) !== false) {
    if($file != "." && $file != "..") {
        echo "$i. <a href='$path/$file'>$file</a><br />";
?>
		<script="javascript">
		var objDropdown = document.getElementById('files');
		var objOption = new Option(<? $file ?>,<? $file ?>);
		document.write(objOption.value);
		objDropdown.options[objDropdown.length] = objOption;
		</script>
<?
        $i++;
    }
}
closedir($dh);
?>
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Award Winning Sausage</title>
<link href="../NewSite/css/JSS_styles.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
 
 
#MainDiv {
	height: 500px;
	width: 900px;
	border: medium solid #FFFFFF;
	margin-right: auto;
	margin-left: auto;
	background-color: #8CC63F;
}
 
/* CSS Document */
 
#header {
	height: 200px;
	width: 900px;
	background-image: url(../images/JoeSHeaderDatabase.png);
	margin-right: auto;
	margin-left: auto;
}
body {
	background-repeat: no-repeat;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	background-color: #FDB200;
}
-->
</style>
<script src="../NewSite/Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<link href="../css/JSS_styles.css" rel="stylesheet" type="text/css" />
</head>
 
<body>
<div class="header" id="header"></div>
<div class="MenuDiv" id="MenuDiv"><a name="Menu" id="Menu"></a>
  <table width="900" border="0" align="center">
    <tr>
      <td width="100">&nbsp;</td>
      <td width="300"><div align="center"><a href="../NewSite" target="_blank">Main Site</a></div></td>
      <td width="300"><div align="center"><a href="./">Admin Home</a></div></td>
      <td width="100">&nbsp;</td>
    </tr>
  </table>
</div>
<div class="MainDiv" id="MainDiv">
  <p>&nbsp;</p>
    <p>&nbsp;</p>
 
    
    <form action="<?php echo $editFormAction; ?>" method="POST" enctype="multipart/form-data" name="form1" id="form1">
      <table width="500" border="0" align="center">
        <tr>
          <td width="410"><div align="right">Date:</div></td>
          <td width="19">&nbsp;</td>
          <td width="57"><input type="text" name="date" id="date" /></td>
        </tr>
        <tr>
          <td><div align="right">Message:</div></td>
          <td>&nbsp;</td>
          <td><textarea name="message" cols="50" rows="3" id="message"></textarea></td>
        </tr>
        <tr>
          <td><div align="right">Permanent:</div></td>
          <td>&nbsp;</td>
          <td><input type="checkbox" name="permanent" id="permanent" /></td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
            <select name="files" id="files">
            </select>
            </div></td>
        </tr>
        <tr>
          <td colspan="3">&nbsp;</td>
        </tr>
        <tr>
          <td colspan="3"><div align="center">
            <input type="submit" name="sumit" id="sumit" value="Submit" />
            <input type="reset" name="cancel" id="cancel" value="Cancel" />
</div></td>
        </tr>
      </table>
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <input type="hidden" name="MM_insert" value="form1" />
    </form>
    <script>
var mydate=new Date()
var theyear=mydate.getYear()
if (theyear < 1000)
theyear+=1900
var theday=mydate.getDay()
var themonth=mydate.getMonth()+1
if (themonth<10)
themonth="0"+themonth
var theday=mydate.getDate()
if (theday<10)
theday="0"+theday
 
//////EDIT below three variable to customize the format of the date/////
 
var displayfirst=theyear
var displaysecond=themonth
var displaythird=theday
 
////////////////////////////////////
 
document.form1.date.value=displayfirst+"-"+displaysecond+"-"+displaythird
</script>
    </div>
<div id="Footer"> <a name="FooterAnchor" id="FooterAnchor"></a>Copyright &copy; 2009 Joe S. Sausage | All Rights Reserved | Website Designed by: <a href="http://www.mjm-consulting.com" target="_blank">MJM Consulting, LLC</a></div>
</body>
</html>
<?php
mysql_free_result($messages);
?>

Open in new window

0
 
LVL 36

Accepted Solution

by:
gr8gonzo earned 1000 total points
ID: 24865858
Try:

$selectOptions = "";
$dh = opendir($path);
$i=1;
while (($file = readdir($dh)) !== false) {
    if($file != "." && $file != "..") {
        echo "$i. <a href='$path/$file'>$file</a><br />";
        $selectOptions .= "<option value='{$file}'>{$file}</option>\n";
        $i++;
    }
}
closedir($dh);

then go down the page to your <select> tag and use $selectOptions:
            <select name="files" id="files">
            <? print $selectOptions; ?>
            </select>
0
 

Author Closing Comment

by:prostang
ID: 31604047
That was it.  Thanks!
0

Featured Post

Take Control of Web Hosting For Your Clients

As a web developer or IT admin, successfully managing multiple client accounts can be challenging. In this webinar we will look at the tools provided by Media Temple and Plesk to make managing your clients’ hosting easier.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
The title says it all. Writing any type of PHP Application or API code that provides high throughput, while under a heavy load, seems to be an arcane art form (Black Magic). This article aims to provide some general guidelines for producing this typ…
Learn the basics of lists in Python. Lists, as their name suggests, are a means for ordering and storing values. : Lists are declared using brackets; for example: t = [1, 2, 3]: Lists may contain a mix of data types; for example: t = ['string', 1, T…
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Suggested Courses

612 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question