surf5502
-
Posts
10 -
Joined
-
Last visited
Never
Posts posted by surf5502
-
-
So I need to create 3 drop downs. each one feeds off the one above it. so the first dropdown is for a department, when you select that I need every class in that department to come up in the next dropdown. when you select a class i need ever professor for that class to appear in the third dropdown. so i had it working for a solid 10 min... now it doesnt work...
HTML
<script type="text/javascript" src="../../js/upload.js"></script> <form action="" method="post" enctype="multipart/form-data"> <?php if (($_POST['title']!="")&&(!validateForm())) echo "<center><b>Form Invalid</b></center>"; ?> <?php if (isset($error)) echo "<center><b>Error during file upload</b></center>"; ?> <table width="550" align="center" cellpadding="0" cellspacing="0"> <tr><td><b>Department:</b></td><td><select name="dept" onchange="showClass(this.value)"> <option value="">-- Select Deptartment --</option> <?php $query = "SELECT * FROM `categ_dept` ORDER BY `name` ASC"; $result = mysql_query($query); $rows = mysql_num_rows($result); $i = 0; while ($i < $rows){ $name = mysql_result($result, $i, "name"); $id = mysql_result($result, $i, "id"); echo "<option value=\"$id|$name\""; if ($_POST['dept'] == $id) echo " selected"; echo ">$name</option> "; $i++; } ?> </select></td></tr> <tr><td><b>Class:</b><br/><br/></td><td><div id="txtClass"><select name="class" onchange="showProf(this.value)"> <option value="">-- Select Deptartment First --</option> </select></div><br/><br/></td></tr> <tr><td colspan="2" style="border:1px solid #CCCCCC; border-bottom:none; text-align:center; padding-top:10px;"><b><i>If your class is not listed please use this box</i></b></td></tr> <tr><td style="border-left:1px solid #CCCCCC; padding:10px;"><b>Class Name:</b></td><td style="border-right:1px solid #CCCCCC;"><input type="text" name="class_name" value="<?php echo $_POST['class_name']; ?>" /></td></tr> <tr><td style="border-left:1px solid #CCCCCC; padding:10px;"><b>Call Number:</b><br/><i>ex: W3256</i></td><td style="border-right:1px solid #CCCCCC;"><input type="text" name="class_call" value="<?php echo $_POST['class_call']; ?>" /></td></tr> <tr><td style="border-left:1px solid #CCCCCC; padding:10px;"><b>Keywords:</b><br/><i>Seperate by spaces</i></td><td style="border-right:1px solid #CCCCCC;" valign="middle"><input type="text" name="class_keywords" value="<?php echo $_POST['class_keywords']; ?>" /></td></tr> <tr><td style="border:1px solid #CCCCCC; border-top:none; border-right:none; padding:10px;"><b>Description:</b></td><td style="border:1px solid #CCCCCC; border-top:none; border-left:none;"><textarea name="class_des" rows="4"><?php echo $_POST['class_des']; ?></textarea></td></tr> <tr><td><br/><b>Professor:</b><br/><br/></td><td><br/><div id="txtProf"><select name="professor"> <option value="">-- Select Class First --</option> </select></div><br/><br/></td></tr> <tr><td colspan="2" style="border:1px solid #CCCCCC; border-bottom:none; text-align:center; padding-top:10px;"><b><i>If your professor is not listed please use this box</i></b></td></tr> <tr><td style="border:1px solid #CCCCCC; border-top:none; border-right:none; padding:10px;"><b>Professor Name:</b></td><td style="border:1px solid #CCCCCC; border-top:none; border-left:none;"><input type="text" name="prof_name" value="<?php echo $_POST['prof_name']; ?>" /></td></tr> <tr><td colspan="2" align="center" style="padding-top:30px;"><input type="submit" value="Upload" /></td></tr> </table> </form>
JAVASCRIPT - upload.js
var xmlHttp; var showID = 0; function showClass(str){ xmlHttp=GetXmlHttpObject(); if (xmlHttp==null){ alert ("Browser does not support HTTP Request"); return; } showID = 1; var url="../../includes/getDropdown.php"; url=url+"?q="+str; url=url+"&sid="+showID; xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); } function showProf(str){ xmlHttp=GetXmlHttpObject(); if (xmlHttp==null){ alert ("Browser does not support HTTP Request"); return; } showID = 2; var url="../../getDropdown.php"; url=url+"?q="+str; url=url+"&sid="+showID; xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); } function stateChanged(){ if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ if (showID==1){ document.getElementById("txtClass").innerHTML=xmlHttp.responseText; }else{ document.getElementById("txtProf").innerHTML=xmlHttp.responseText; } } } function GetXmlHttpObject(){ var xmlHttp=null; try{ // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/html'); } }catch (e){ //Internet Explorer try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch (e){ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; }
PHP - getDropdown.php
<?php @session_start(); $q = $_GET['q']; $sid = $_GET['sid']; include ("config.php"); mysql_connect($hostaddr,$username,$password); @mysql_select_db($database) or die("Error: Database not available. Please try again later."); if ($sid == 1){ // q is a department id // return classes for that department echo "<select name=\"class\" onchange=\"showProf(this.value)\"> "; $dept = explode("|",$q); $query = "SELECT * FROM `categ_class` WHERE `dept_id`='".$dept[0]."' AND `school_id`='".$_SESSION['school']."' ORDER BY `name` ASC"; $result = mysql_query($query); $rows = mysql_num_rows($result); $i = 0; if ($rows == 0){ echo "<option value=\"\">No Classes Listed</option>"; }else{ echo "<option value=\"\">-- Select a Class --</option> "; while ($i < $rows){ $name = mysql_result($result, $i, "name"); $call = mysql_result($result,$i,"call_num"); $id = mysql_result($result, $i, "id"); echo "<option value=\"$id\""; if ($_POST['class'] == $id) echo " selected"; echo ">$name ($call)</option> "; $i++; } } echo "</select>"; }else{ // q is a class id // return professors for that class echo "<select name=\"professor\"> "; $query = "SELECT * FROM `categ_prof` WHERE `class_id`='".mysql_real_escape_string($q)."' ORDER BY `name` ASC"; $result = mysql_query($query); $rows = mysql_num_rows($result); $i = 0; if ($rows == 0){ echo "<option value=\"\">No Professors Listed</option>"; }else{ echo "<option value=\"\">-- Select a Professor --</option> "; while ($i < $rows){ $name = mysql_result($result, $i, "name"); $id = mysql_result($result, $i, "id"); echo "<option value=\"$id\""; if ($_POST['professor'] == $id) echo " selected"; echo ">$name</option> "; $i++; } } echo "</select>"; } ?>
Any help is greatly appreciated (quicker the better, gotta finish this thing this week)...
-
So I need to create 3 drop downs. each one feeds off the one above it. so the first dropdown is for a department, when you select that I need every class in that department to come up in the next dropdown. when you select a class i need ever professor for that class to appear in the third dropdown. so i had it working for a solid 10 min... now it doesnt work... (ive been programming php forever, but i am an intermediate with ajax so i feel the error somewhere in the javascript?)
HTML
<script type="text/javascript" src="../../js/upload.js"></script> <form action="" method="post" enctype="multipart/form-data"> <?php if (($_POST['title']!="")&&(!validateForm())) echo "<center><b>Form Invalid</b></center>"; ?> <?php if (isset($error)) echo "<center><b>Error during file upload</b></center>"; ?> <table width="550" align="center" cellpadding="0" cellspacing="0"> <tr><td><b>Department:</b></td><td><select name="dept" onchange="showClass(this.value)"> <option value="">-- Select Deptartment --</option> <?php $query = "SELECT * FROM `categ_dept` ORDER BY `name` ASC"; $result = mysql_query($query); $rows = mysql_num_rows($result); $i = 0; while ($i < $rows){ $name = mysql_result($result, $i, "name"); $id = mysql_result($result, $i, "id"); echo "<option value=\"$id|$name\""; if ($_POST['dept'] == $id) echo " selected"; echo ">$name</option> "; $i++; } ?> </select></td></tr> <tr><td><b>Class:</b><br/><br/></td><td><div id="txtClass"><select name="class" onchange="showProf(this.value)"> <option value="">-- Select Deptartment First --</option> </select></div><br/><br/></td></tr> <tr><td colspan="2" style="border:1px solid #CCCCCC; border-bottom:none; text-align:center; padding-top:10px;"><b><i>If your class is not listed please use this box</i></b></td></tr> <tr><td style="border-left:1px solid #CCCCCC; padding:10px;"><b>Class Name:</b></td><td style="border-right:1px solid #CCCCCC;"><input type="text" name="class_name" value="<?php echo $_POST['class_name']; ?>" /></td></tr> <tr><td style="border-left:1px solid #CCCCCC; padding:10px;"><b>Call Number:</b><br/><i>ex: W3256</i></td><td style="border-right:1px solid #CCCCCC;"><input type="text" name="class_call" value="<?php echo $_POST['class_call']; ?>" /></td></tr> <tr><td style="border-left:1px solid #CCCCCC; padding:10px;"><b>Keywords:</b><br/><i>Seperate by spaces</i></td><td style="border-right:1px solid #CCCCCC;" valign="middle"><input type="text" name="class_keywords" value="<?php echo $_POST['class_keywords']; ?>" /></td></tr> <tr><td style="border:1px solid #CCCCCC; border-top:none; border-right:none; padding:10px;"><b>Description:</b></td><td style="border:1px solid #CCCCCC; border-top:none; border-left:none;"><textarea name="class_des" rows="4"><?php echo $_POST['class_des']; ?></textarea></td></tr> <tr><td><br/><b>Professor:</b><br/><br/></td><td><br/><div id="txtProf"><select name="professor"> <option value="">-- Select Class First --</option> </select></div><br/><br/></td></tr> <tr><td colspan="2" style="border:1px solid #CCCCCC; border-bottom:none; text-align:center; padding-top:10px;"><b><i>If your professor is not listed please use this box</i></b></td></tr> <tr><td style="border:1px solid #CCCCCC; border-top:none; border-right:none; padding:10px;"><b>Professor Name:</b></td><td style="border:1px solid #CCCCCC; border-top:none; border-left:none;"><input type="text" name="prof_name" value="<?php echo $_POST['prof_name']; ?>" /></td></tr> <tr><td colspan="2" align="center" style="padding-top:30px;"><input type="submit" value="Upload" /></td></tr> </table> </form>
JAVASCRIPT - upload.js
var xmlHttp; var showID = 0; function showClass(str){ xmlHttp=GetXmlHttpObject(); if (xmlHttp==null){ alert ("Browser does not support HTTP Request"); return; } showID = 1; var url="../../includes/getDropdown.php"; url=url+"?q="+str; url=url+"&sid="+showID; xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); } function showProf(str){ xmlHttp=GetXmlHttpObject(); if (xmlHttp==null){ alert ("Browser does not support HTTP Request"); return; } showID = 2; var url="../../getDropdown.php"; url=url+"?q="+str; url=url+"&sid="+showID; xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); } function stateChanged(){ if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ if (showID==1){ document.getElementById("txtClass").innerHTML=xmlHttp.responseText; }else{ document.getElementById("txtProf").innerHTML=xmlHttp.responseText; } } } function GetXmlHttpObject(){ var xmlHttp=null; try{ // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/html'); } }catch (e){ //Internet Explorer try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch (e){ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; }
PHP - getDropdown.php
<?php @session_start(); $q = $_GET['q']; $sid = $_GET['sid']; include ("config.php"); mysql_connect($hostaddr,$username,$password); @mysql_select_db($database) or die("Error: Database not available. Please try again later."); if ($sid == 1){ // q is a department id // return classes for that department echo "<select name=\"class\" onchange=\"showProf(this.value)\"> "; $dept = explode("|",$q); $query = "SELECT * FROM `categ_class` WHERE `dept_id`='".$dept[0]."' AND `school_id`='".$_SESSION['school']."' ORDER BY `name` ASC"; $result = mysql_query($query); $rows = mysql_num_rows($result); $i = 0; if ($rows == 0){ echo "<option value=\"\">No Classes Listed</option>"; }else{ echo "<option value=\"\">-- Select a Class --</option> "; while ($i < $rows){ $name = mysql_result($result, $i, "name"); $call = mysql_result($result,$i,"call_num"); $id = mysql_result($result, $i, "id"); echo "<option value=\"$id\""; if ($_POST['class'] == $id) echo " selected"; echo ">$name ($call)</option> "; $i++; } } echo "</select>"; }else{ // q is a class id // return professors for that class echo "<select name=\"professor\"> "; $query = "SELECT * FROM `categ_prof` WHERE `class_id`='".mysql_real_escape_string($q)."' ORDER BY `name` ASC"; $result = mysql_query($query); $rows = mysql_num_rows($result); $i = 0; if ($rows == 0){ echo "<option value=\"\">No Professors Listed</option>"; }else{ echo "<option value=\"\">-- Select a Professor --</option> "; while ($i < $rows){ $name = mysql_result($result, $i, "name"); $id = mysql_result($result, $i, "id"); echo "<option value=\"$id\""; if ($_POST['professor'] == $id) echo " selected"; echo ">$name</option> "; $i++; } } echo "</select>"; } ?>
Any help is greatly appreciated (quicker the better, gotta finish this thing this week)...
-
oh ya i fixed it....
ignore this thread -
going backwards...
[color=red]
Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in /home/bchs/bchs-web/data/survey/finalize.php on line 10
Error: Database not available. Please try again later.[/color] -
ok so i got bored and re-coded it to MySQLi:
[color=blue]//connect to MySQL Database and add information into it
$username = "bchs";
$password = "mattward";
$database = "bchssurvey";
$hostaddr = "db4free.net:3306";
$connection = mysqli_connect($hostaddr,$username,$password,$database) or die("Error: Database not available. Please try again later.");
$query = "INSERT INTO survey VALUES('','$type','$isHomePage','$vstAthlet','$vstLinks','$vstEdline','$vstFacul','$vstLaptop','$vstPres','$vstPrinc','$vstCal','$eForms','$sMap','$bRSS','$facWS','$facClub','$facClubWS','$facCon','$facPic','$facEdline1','$facEdline2','$facEdline3','$facEdline4','$facEdline5','$aEdline','$chEdline','$announce','$eFac','$eFindFac','$stuHandouts','$stuWebteam','$stuWebteamN','$stuWebteamH','$otherWB','$conceptHP','$conceptCP','$conceptLike','$conceptNoLike','$comments')";
$result = mysqli_query($connection,$query);
mysqli_free_result($result);
mysqli_close($connection);[/color]
ok still doesnt work but different error now!
[color=red]
Fatal error: Call to undefined function mysqli_connect() in /home/bchs/bchs-web/data/survey/finalize.php on line 10[/color] -
this server runs it on both actually... i dont know i tried both and neither worked
will the mysqli make a difference? or is it like the same thing? -
might this have anything to do with it?
[color=blue]Used PHP extensions: mysqli[/color]
it was on my PHPMyAdmin page... -
well besides the fact that the loading.... thing goes on for like 10 minutes... it then goes:
[color=blue]Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'db4free.net' (36) in /home/bchs/bchs-web/data/survey/finalize.php on line 10
Error: Database not available. Please try again later.[/color]
and thats my error for ya -
i just started using MySQL and this is my frist program... i ve read numerous things on how to connect and i think i followed them all... and this is what i ended up with:
[color=orange]//connect to MySQL Database and add information into it[/color]
[color=blue]$username = "bchs";
$password = "mattward";
$database = "bchssurvey";
$hostaddr = "db4free.net:3307";
mysql_connect($hostaddr,$username,$password);
@mysql_select_db($database) or die("Error: Database not available. Please try again later.");
$query = "INSERT INTO survey VALUES('','$type','$isHomePage','$vstAthlet','$vstLinks','$vstEdline','$vstFacul','$vstLaptop','$vstPres','$vstPrinc','$vstCal','$eForms','$sMap','$bRSS','$facWS','$facClub','$facClubWS','$facCon','$facPic','$facEdline1','$facEdline2','$facEdline3','$facEdline4','$facEdline5','$aEdline','$chEdline','$announce','$eFac','$eFindFac','$stuHandouts','$stuWebteam','$stuWebteamN','$stuWebteamH','$otherWB','$conceptHP','$conceptCP','$conceptLike','$conceptNoLike','$comments')";
mysql_query($query);
mysql_close();
[/color]
any ideas of what i did wrong? i am actually programming an online survey for my school website (i am the new webmaster)... any questions about what i am trying to do please ask
i really need this thing to work asap
thanks everyone
[SOLVED] Dynamic Drop-Down Menu Question
in PHP Coding Help
Posted
yea i forgot i did a mod_rewrite... new hierarchy errors came into play