Solved

Convert PHP script to C# or Javascript

Posted on 2008-10-23
4
785 Views
Last Modified: 2012-05-05
The attached code snippet happens on load of the web page. Can anyone tell me how to convert it to Javascript or C#? Bascially, what I have done is loaded some list items in an array. Then, based on the current page, the HTML is created when the page loads.
// maybe you need to add the directory name(s) too
      $items = array(
          array("link"=>"php.html", "label"=>"PHP scripts"),
          array("link"=>"tut.html", "label"=>"Tutorial"),
          array("link"=>"css.html", "label"=>"CSS template"),
          array("link"=>"code.html", "label"=>"Code examples"));
           
      $menu = '';
      foreach ($items as $val) {
          if  ($_SERVER['SCRIPT_NAME'] == $val['link']) {
          $menu .= '<li><span>' .$val['label'].'</span></li>';
 
	  } else {
	  $menu .= '<li><a href="'.$val['link'].'" >'.$val	   ['label'].'</a></li>';
	  }
      }
      echo $menu;

Open in new window

0
Comment
Question by:computerstreber
  • 2
4 Comments
 
LVL 50

Accepted Solution

by:
Ryan Chong earned 300 total points
ID: 22794014
I saw your pages are in .html, so I decided to use javascript to generate the menu.
<script language="javascript">
	//Ver 1.0
	function getFileName(fpath, removeQueryingString, delimiter) {
		if (fpath==null) fpath = window.location.href;
		if (delimiter==null) delimiter = "/";
		var tmp = fpath;
		if (tmp.lastIndexOf("?") > -1) {
			tmp = tmp.substring(0,tmp.lastIndexOf("?"));		
		}
		tmp = tmp.substring(tmp.lastIndexOf(delimiter)+1);
		if (removeQueryingString != null) {
			if (removeQueryingString) {
				var tmpArr = tmp.split("?");
				tmp = tmpArr[0];
			}
		}
		return tmp;
	}
 
	function generateMenu() {
		var arrlink = new Array(3);
		var arrlabel = new Array(3);
		arrlink[0] = "php.html";
		arrlabel[0] = "PHP scripts";
		arrlink[1] = "tut.html";
		arrlabel[1] = "Tutorial";
		arrlink[2] = "css.html";
		arrlabel[2] = "CSS template";
		arrlink[3] = "code.html";
		arrlabel[3] = "Code examples";
		
		var menu = "";
		for (var i=0;i<arrlink.length;i++) {
			if  (getFileName() == arrlink[i]) {
				menu += "<li><span>" + arrlabel[i] + "</span></li>";
			} else {
				menu += "<li><a href='" + arrlink[i] + "'><span>" + arrlabel[i] + "</span></a></li>";
			}
		}
		return menu;
	}
	
	document.write(generateMenu());
</script>

Open in new window

0
 
LVL 21

Assisted Solution

by:naspinski
naspinski earned 200 total points
ID: 22795230
asp.net/c#
<!--asp.net-->
<asp:DropDownList ID="ddl" runat="server" />
 
// C# -- put this in your page_load
if (!IsPostBack)
{
    Dictionary<string, string> items = new Dictionary<string, string>();
    items.Add("php.html", "PHP scripts");
    items.Add("tut.html", "Tutorial");
    items.Add("css.html", "CSS template");
    items.Add("code.html", "Code examples");
 
    foreach (var item in items)
        ddl.Items.Add(new ListItem(item.Value, item.Key));
}

Open in new window

0
 
LVL 21

Assisted Solution

by:naspinski
naspinski earned 200 total points
ID: 22795283
actually, I made that more complicated than I needed to, keep the same asp.net of:

<asp:DropDownList ID="ddl" runat="server" />

and put this in your codebehind:
if(!IsPostBack)
{
    ddl.Items.Add(new ListItem("php.html", "PHP scripts"));
    ddl.Items.Add(new ListItem("tut.html", "Tutorial"));
    ddl.Items.Add(new ListItem("css.html", "CSS template"));
    ddl.Items.Add(new ListItem("code.html", "Code examples"));
}

Open in new window

0
 
LVL 3

Author Closing Comment

by:computerstreber
ID: 31509541
both of these were awesome examples. However, I found the javascript to render much better.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Introduction HTML checkboxes provide the perfect way for a web developer to receive client input when the client's options might be none, one or many.  But the PHP code for processing the checkboxes can be confusing at first.  What if a checkbox is…
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
The viewer will learn the basics of jQuery, including how to invoke it on a web page. 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.: (CODE)
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…

856 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