Jump to content

Need Help with Triple Drop Down Box - A Newbie Question


TheGodWings

Recommended Posts

Hi.,

I am new to php, please help me.

I was trying to create a multiple drop down box which populates the data from mysql. (I don't have knowledge in PHP, but I got this from online source, and tried editing according to my need.)

 

I have attached the complete code. So far it was working perfectly. But I need to add a button, which upon clicking, opens a new window with the given url. The targeted URL is a field from my database table. I tried some other tutorials and nothing was useful to me.

 

Here is my code for front end:

<?php    
     echo "<form name=dropdown>\n";
     echo "Main Category: <font id=main_category><select>\n";
     echo "<option value='0'>Please Select Main Category</option> \n" ;
     echo "</select></font>\n";
 echo "<br><br>";
     
     echo "Sub Category: <font id=sub_category><select>\n";
     echo "<option value='0'>Please Select Main Category First</option> \n" ;
     echo "</select></font>\n";
 echo "<br><br>";

     echo "Product Name: <font id=product_name><select>\n";
     echo "<option value='0'>Please Select Sub Category First</option> \n" ;
     echo "</select></font>\n";
 echo "<br><br>";


?>

<script language=Javascript>
function Inint_AJAX() {
   try { return new ActiveXObject("Msxml2.XMLHTTP");  } catch(e) {} //IE
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
   try { return new XMLHttpRequest();          } catch(e) {} //Native Javascript
   alert("XMLHttpRequest not supported");
   return null;
};

function dochange(src, val) {
     var req = Inint_AJAX();
     req.onreadystatechange = function () { 
          if (req.readyState==4) {
               if (req.status==200) {
                    document.getElementById(src).innerHTML=req.responseText; 
               } 
          }
     };
     req.open("GET", "manual.php?data="+src+"&val="+val);
     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=tis-620"); // set Header
     req.send(null);
}

window.onLoad=dochange('main_category', -1);     
</script>

 

Here is the code for PHP backend which populates the data.

 

<?php
     header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
     header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
     header ("Cache-Control: no-cache, must-revalidate");
     header ("Pragma: no-cache");
     
     header("content-type: application/x-javascript; charset=tis-620");
     
     $data=$_GET['data'];
     $val=$_GET['val'];
$dbhost = "localhost";
$dbuser = "testdb";
$dbpass = "testdb";
$dbname    = "testdb";
mysql_pconnect($dbhost,$dbuser,$dbpass) or die ("Unable to connect to MySQL server");  

     if ($data=='main_category') { 
          echo "<select name='main_category' onChange=\"dochange('sub_category', this.value)\">\n";
          echo "<option value='0'>Select Main Category</option>\n";
          $result=mysql_db_query($dbname,"select main_category_id, main_category_name from manual_main_category_list order by main_category_name");
          while(list($id, $name)=mysql_fetch_array($result)){
               echo "<option value=\"$id\" >$name</option> \n" ;
          }
     } else if ($data=='sub_category') {
          echo "<select name='sub_category' onChange=\"dochange('product_name', this.value)\">\n";
          echo "<option value='0'>Please Select Sub Category</option>\n";
          $val2=$val;
          $val = substr($val,0,2);                                 
          $result=mysql_db_query($dbname,"SELECT sub_category_id, sub_catetory_name FROM manual_sub_category_list WHERE under_main_category_id = $val2 ORDER BY sub_catetory_name");
          while(list($id, $name)=mysql_fetch_array($result)){       
               echo "<option value=\"$id\" >$name</option> \n" ;
          }
     } else if ($data=='product_name') {
          echo "<select  name='product_name' onChange=\"jump(this.form.jumpMenu)\">\n";
          echo "<option value='0'>Please Select Product Name</option>\n";
          $val2=$val;
          $val = substr($val,0,4);
          $result=mysql_db_query($dbname,"SELECT product_id, product_name, product_manual_link FROM manual_product_links WHERE under_sub_category_id = $val2 ORDER BY product_name");
          while(list($id, $name, $link)=mysql_fetch_array($result)){
             echo "<option value=\"$id\" >$name</option> \n" ;
		  /// 	echo "<option selected value=\"$link\" >$name</option> \n";	   
          }
     }

     echo "</select>\n";  

?>

 

This is the dump of my database:

-- phpMyAdmin SQL Dump
-- version 3.2.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Feb 09, 2010 at 11:30 AM
-- Server version: 5.1.41
-- PHP Version: 5.3.1

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `testdb`
--

-- --------------------------------------------------------

--
-- Table structure for table `manual_main_category_list`
--

CREATE TABLE IF NOT EXISTS `manual_main_category_list` (
  `main_category_id` int(11) NOT NULL AUTO_INCREMENT,
  `main_category_name` varchar(60) NOT NULL,
  PRIMARY KEY (`main_category_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Dumping data for table `manual_main_category_list`
--

INSERT INTO `manual_main_category_list` (`main_category_id`, `main_category_name`) VALUES
(1, 'main product category 1'),
(2, 'main product category 2'),
(3, 'main product category 3'),
(4, 'main product category 4');

-- --------------------------------------------------------

--
-- Table structure for table `manual_product_links`
--

CREATE TABLE IF NOT EXISTS `manual_product_links` (
  `product_id` int(11) NOT NULL AUTO_INCREMENT,
  `under_sub_category_id` int(11) NOT NULL,
  `product_name` varchar(150) NOT NULL,
  `product_manual_link` text NOT NULL,
  PRIMARY KEY (`product_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 ;

--
-- Dumping data for table `manual_product_links`
--

INSERT INTO `manual_product_links` (`product_id`, `under_sub_category_id`, `product_name`, `product_manual_link`) VALUES
(1, 1, 'product 1', 'http://downloadcenter.samsung.com/content/UM/200505/20050516180517343_SH-D162C_Eng.pdf'),
(2, 1, 'product 2', 'http://downloadcenter.samsung.com/content/UM/200710/20071015085725796_SH-D163B_Eng.pdf'),
(3, 2, 'product 3', 'http://downloadcenter.samsung.com/content/UM/200902/20090210141848437/NV100HD_English.pdf'),
(4, 2, 'product 4', 'http://downloadcenter.samsung.com/content/UM/200904/20090430182924937/BN59-00718D-02Eng.pdf'),
(5, 3, 'product 5', 'http://downloadcenter.samsung.com/content/UM/200910/20091008110855234/YPP3-COMMON-ENGLISH4.0.pdf'),
(6, 3, 'product 6', 'http://downloadcenter.samsung.com/content/UM/200910/20091006141719953/WB1000_English.pdf'),
(7, 4, 'product 7', 'http://downloadcenter.samsung.com/content/UM/200910/20091008110855234/YPP3-COMMON-ENGLISH4.0.pdf'),
(8, 4, 'product 8', 'http://downloadcenter.samsung.com/content/UM/200910/20091006141719953/WB1000_English.pdf'),
(9, 5, 'product 9', 'http://downloadcenter.samsung.com/content/UM/200910/20091008110855234/YPP3-COMMON-ENGLISH4.0.pdf'),
(10, 5, 'product 10', 'http://downloadcenter.samsung.com/content/UM/200910/20091008110855234/YPP3-COMMON-ENGLISH4.0.pdf'),
(11, 6, 'product 11', 'http://downloadcenter.samsung.com/content/UM/200910/20091008110855234/YPP3-COMMON-ENGLISH4.0.pdf'),
(12, 6, 'product 12', 'http://downloadcenter.samsung.com/content/UM/200910/20091008110855234/YPP3-COMMON-ENGLISH4.0.pdf'),
(13, 7, 'product 13', 'http://downloadcenter.samsung.com/content/UM/200910/20091008110855234/YPP3-COMMON-ENGLISH4.0.pdf'),
(14, 7, 'product 14', 'http://downloadcenter.samsung.com/content/UM/200910/20091008110855234/YPP3-COMMON-ENGLISH4.0.pdf'),
(15, 8, 'product 15', 'http://downloadcenter.samsung.com/content/UM/200910/20091008110855234/YPP3-COMMON-ENGLISH4.0.pdf'),
(16, 8, 'product 16', 'http://downloadcenter.samsung.com/content/UM/200910/20091008110855234/YPP3-COMMON-ENGLISH4.0.pdf'),
(17, 9, 'product 17', 'http://downloadcenter.samsung.com/content/UM/200910/20091008110855234/YPP3-COMMON-ENGLISH4.0.pdf'),
(18, 9, 'product 18', 'http://downloadcenter.samsung.com/content/UM/200910/20091008110855234/YPP3-COMMON-ENGLISH4.0.pdf');

-- --------------------------------------------------------

--
-- Table structure for table `manual_sub_category_list`
--

CREATE TABLE IF NOT EXISTS `manual_sub_category_list` (
  `sub_category_id` int(11) NOT NULL AUTO_INCREMENT,
  `under_main_category_id` int(11) NOT NULL,
  `sub_catetory_name` varchar(60) NOT NULL,
  PRIMARY KEY (`sub_category_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;

--
-- Dumping data for table `manual_sub_category_list`
--

INSERT INTO `manual_sub_category_list` (`sub_category_id`, `under_main_category_id`, `sub_catetory_name`) VALUES
(1, 1, 'sub product category 1'),
(2, 1, 'sub product category 2'),
(3, 1, 'sub product category 3'),
(4, 2, 'sub product category 4'),
(5, 2, 'sub product category 5'),
(6, 3, 'sub product category 6'),
(7, 3, 'sub product category 7'),
(8, 4, 'sub product category 8'),
(9, 4, 'sub product category 9');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

 

Could some one please tell me how to add a button. By clicking this button, a new window will pop-up with the url from database for the selected option.

 

Thank You in Advance. :D :D

 

 

[attachment deleted by admin]

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.