View Single Post
Join Date: Jan 2005
Posts: 70
Reputation: Diode is on a distinguished road 
Solved Threads: 0
Diode's Avatar
Diode Diode is offline Offline
Junior Poster in Training

2 questions involving scripts, select tag, and loading pages

 
0
  #1
May 30th, 2008
Hi,

I'm making a website for a friend who sells sports memorabilia and I'm using a LAMP setup. I am making a menu that utilizes AJAX. The menu consists of a SELECT tag, we'll call this SELECT1, where the user clicks it, it drops down a list of leagues such as MLB, NCAA, NFL, etc., which are pulled out from a league MySQL table.

After the league is selected, a SELECT2 appears, where the user selects the conference such as National League/American League, NFC/AFC, etc.

When that is chosen, a list of that conference's teams shows up below.

It works great. Except when the page is refreshed. In that case, the page is re-loaded and the league selection stays there, but it doesn't show the conference SELECT2 tag. And then even if I click on it, nothing happens unless I change the selection, because I have the script that takes care of the conference to be executed during the onchange event in SELECT1.

How do I make it so that even if the page is refreshed, it still knows the value in SELECT1? There isn't any onload event that I know of for it; I tried it.

Here is my code so far:
  1. <?php
  2.  
  3. include('connect.php');
  4. include('htmlheader.php');
  5.  
  6. $menuleagueno = $_SESSION['mleagueno'];
  7. $menuteamno = $_SESSION['mteamno'];
  8.  
  9. //
  10. // echo "<html><body background='bricks2.jpg'>";
  11.  
  12. echo "
  13. <table border=0 cellspacing=0 cellpadding=0>
  14. <tr>
  15. <td background='bricks6.jpg' height=700 valign=top font style: color=white>
  16. <form>
  17. <font color=white>
  18. Select a sports league:<br />";
  19. echo "<select name='league' onload='leagues(this.value)'>";
  20.  
  21. echo "
  22. <option value=0>Select a sports league:
  23. <option value=0>--------------------------";
  24.  
  25. $sql = "select * from leagues";
  26. $result = mysql_query($sql);
  27.  
  28. while($row = mysql_fetch_array($result))
  29. {
  30. $leagueno = $row['leagueno'];
  31. $leaguedesc = $row['leaguedesc'];
  32.  
  33. echo "<option value=$leagueno>$leaguedesc";
  34. }
  35.  
  36. echo " </select></p>
  37. </font>
  38. </form>
  39.  
  40. <span id='results'></span>
  41. </td>
  42. </tr>
  43. </table> ";
  44.  
  45. echo "</body></html>";
  46.  
  47. // include('htmlfooter.php');
  48. ?>

This file is called menu.php. I include this in the main pages, and position it on the left.

My next question is how do I (without using frames) retain the value of what's in the SELECT tags in menu.php? I tried doing
  1. $menuleagueno = $_GET['leagueno'];
  2. $menuteamno = $_GET['teamno'];
  3.  
  4. include('menu.php?leagueno=$menuleagueno');

to test to see if this method would work, and it didn't. It gave me a syntax error, and treated the whole line as a filename, it said it couldn't find the file. So without putting menu.php in its own frame, how would I keep the menu intact, going from page to page? Constantly having to go through it and select your team would get very annoying to a user.

I hope I described this in sufficient detail, if not, I apologize in advance, and will do my best to do so if you need further clarification.

Thanks,
Diode
Reply With Quote