Hello all,
I am pretty new to plugin programming for WordPress.
I am looking for help to make a plugin that shows with a short-code on a page
two Dynamic populating dropdown lists from a MySQL table.
I have found the following example with html, php and javascript.
Can anyone help to make this work as an WordPress plugin?
Thanks for the help.
Hans.
main.html
------------------------------------------------------
<!doctype html public "-//w3c//dtd html 3.2//en">
<html>
<head>
<title>(Type a title for your page here)</title>
<script language="javascript" src="list.php"></script>
</head>
<FORM name="drop_list" action="yourpage.php" method="POST" >
<SELECT NAME="Category" onChange="SelectSubCat();" >
<Option value="">Category</option>
</SELECT>
<SELECT id="SubCat" NAME="SubCat">
<Option value="">SubCat</option>
</SELECT>
</form>
</body>
</html>
list.php
-------------------------------------------------------
<?php
require "config.php"; // database connection details
echo "
function fillCategory(){
// this function is used to fill the category list on load
";
$q1=mysql_query("select * from category");
echo mysql_error();
while($nt1=mysql_fetch_array($q1)){
echo "addOption(document.drop_list.Category, '$nt1[cat_id]', '$nt1[category]');";
}// end of while
?>
} // end of JS function
function SelectSubCat(){
// ON or after selection of category this function will work
removeAllOptions(document.drop_list.SubCat);
addOption(document.drop_list.SubCat, "", "SubCat", "");
// Collect all element of subcategory for various cat_id
<?
// let us collect all cat_id and then collect all subcategory for each cat_id
$q2=mysql_query("select distinct(cat_id) from subcategory");
while($nt2=mysql_fetch_array($q2)){
//echo "$nt2[cat_id]";
echo "if(document.drop_list.Category.value == '$nt2[cat_id]'){";
$q3=mysql_query("select subcategory from subcategory where cat_id='$nt2[cat_id]'");
while($nt3=mysql_fetch_array($q3)){
echo "addOption(document.drop_list.SubCat,'$nt3[subcategory]', '$nt3[subcategory]');";
} // end of while loop
echo "}"; // end of JS if condition
}
?>
} //////////////////
function removeAllOptions(selectbox)
{
var i;
for(i=selectbox.options.length-1;i>=0;i--)
{
//selectbox.options.remove(i);
selectbox.remove(i);
}
}
function addOption(selectbox, value, text )
{
var optn = document.createElement("OPTION");
optn.text = text;
optn.value = value;
selectbox.options.add(optn);
}
Dump.txt (to create the MySQL tables)
--------------------------------------------------------
CREATE TABLE category (
cat_id int(2) NOT NULL auto_increment,
category varchar(25) NOT NULL default '',
PRIMARY KEY (cat_id)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
--
-- Dumping data for table category
--
INSERT INTO category VALUES (1, 'Fruits');
INSERT INTO category VALUES (2, 'Colors');
INSERT INTO category VALUES (3, 'Games');
INSERT INTO category VALUES (4, 'Vehicles');
-- --------------------------------------------------------
--
-- Table structure for table subcategory
--
CREATE TABLE subcategory (
cat_id int(2) NOT NULL default '0',
subcategory varchar(25) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table subcategory
--
INSERT INTO subcategory VALUES (1, 'Mango');
INSERT INTO subcategory VALUES (1, 'Banana');
INSERT INTO subcategory VALUES (1, 'Orange');
INSERT INTO subcategory VALUES (1, 'Apple');
INSERT INTO subcategory VALUES (2, 'Red');
INSERT INTO subcategory VALUES (2, 'Blue');
INSERT INTO subcategory VALUES (2, 'Green');
INSERT INTO subcategory VALUES (2, 'Yellow');
INSERT INTO subcategory VALUES (3, 'Cricket');
INSERT INTO subcategory VALUES (3, 'Football');
INSERT INTO subcategory VALUES (3, 'Baseball');
INSERT INTO subcategory VALUES (3, 'Tennis');
INSERT INTO subcategory VALUES (4, 'Cars');
INSERT INTO subcategory VALUES (4, 'Trucks');
INSERT INTO subcategory VALUES (4, 'Blkes');
INSERT INTO subcategory VALUES (4, 'Train');