Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyszukiwanie poprzez formularz php i html z mysql
ptrebacz
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.01.2007

Ostrzeżenie: (0%)
-----


Mam przykładową baze danych:

rok | miesiac | dzien|
2005 | 01 | 01 |
2005 | 02 | 21 |
2005 | 02 | 28 |
2006 | 03 | 16 |
2006 | 05 | 10 |
2007 | 05 | 11 |

no i teraz chce aby w formularzu były 3 pola wyboru typu select i wypełniały się one automatycznie pobierając dane z mysql z tym że nie wiem jak zrobić 1) aby w select pokazywał tylko po jednym unikalnym ciągu czyli ma wyświetlić 2005 2006 i 2007
po drugie aby jak wybiorę rok 2005 to w kolejnym select odpowiedzialnym za miesiąc wyświetlił tylko te miesiące związane z rokiem np. 2005 czyli 01 i 01 i tak samo z trzecim select odpowiedzialnym za dzień ma on wyświetlić dla wybranego miesiąca 02 dni 21 i 28

Jeżeli ktoś robił już podobny skrypt formularza lub jest wstanie taki skrypt wykonać prosiłbym o odpowiedź na tym poście.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ptrebacz
post
Post #2





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.01.2007

Ostrzeżenie: (0%)
-----


Divy?? powiedz jak to zrobić a póki co to znalazłem to co potrzebuje ale na 2 selekty a nie na 3 kto wie jak to przerobić

źródło:

  1. <FORM NAME="person_select" ACTION="whatever.php" METHOD="GET">
  2. <?php
  3.  
  4.  $alphabet = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
  5.  $mysql_username = "****";
  6.  $mysql_password = "****";
  7.  $db_name = "****";
  8.  
  9. ?>
  10. <P><B>Author:</B><BR>
  11. <SELECT NAME="firstletter" SIZE="1" ONCHANGE="redirect(this.options.selectedIndex)" CLASS="input" ONFOCUS="this.className='inputOn'" ONBLUR="this.className='inputOff'">
  12. <OPTION SELECTED="SELECTED">Select letter:</OPTION>
  13. <?php
  14.  
  15.  
  16.  while (list ($key, $value) = each ($alphabet))
  17.  {
  18.  
  19.  $value = trim ($value);
  20.  
  21.  echo " <OPTION VALUE="">$value</OPTION>n";
  22.  
  23.  }
  24.  
  25. ?>
  26. </SELECT>
  27. <SELECT NAME="person" SIZE="1">
  28. <OPTION SELECTED="SELECTED" VALUE=""><--Select first letter of surname</OPTION>
  29. </SELECT>
  30.  
  31. <script>
  32. <!--
  33.  
  34. /*
  35. Double Combo Script Credit
  36. By Website Abstraction (www.wsabstract.com)
  37. Over 200+ free JavaScripts here!
  38. */
  39.  
  40. var groups=document.person_select.firstletter.options.length
  41. var group=new Array(groups)
  42. for (i=0; i<groups; i++)
  43. group[i]=new Array()
  44.  
  45. group[0][0]=new Option("<--Select first letter of surname","")
  46.  
  47. <?php
  48.  
  49.  reset ($alphabet);
  50.  
  51.  $db = mysql_connect("localhost", "$mysql_username", "$mysql_password") or die ("Couldn't connect to server");
  52.  mysql_select_db ("$db_name",$db) or die ("Couldn't select database");
  53.  
  54.  while (list ($key, $value) = each ($alphabet)) {
  55.  
  56.  $value = trim ($value);
  57.  $ar1 = $key + "1";
  58.  $lc_value = strtolower($value);
  59.  
  60.  $sql = "SELECT person_id, surname, initials FROM person WHERE surname LIKE '$value%' OR surname LIKE '$lc_value%' ORDER BY surname, initials, main_name";
  61.  $result = mysql_query ($sql) or die ("Couldn't execute query");
  62.  
  63.  if (mysql_num_rows ($result) <= 0) {
  64.  echo "group[$ar1][0]=new Option("No entries for this letter","")n";
  65.  }
  66.  else {
  67.  
  68.  echo "group[$ar1][0]=new Option("Now select author:","")n";
  69.  
  70.  $ar2 = 1;
  71.  
  72.  while ($row = mysql_fetch_array ($result)) {
  73.  
  74. echo "group[$ar1][$ar2]=new Option("$row[surname], $row[initials]","$row[person_id]")n";
  75.  
  76.  $ar2++;
  77.  
  78.  }
  79.  }
  80.  echo "n";
  81.  }
  82.  
  83. ?>
  84. var temp=document.person_select.person
  85.  
  86. function redirect(x){
  87. for (m=temp.options.length-1;m>0;m--)
  88. temp.options[m]=null
  89. for (i=0;i<group[x].length;i++){
  90. temp.options[i]=new Option(group[x][i].text,group[x][i].value)
  91. }
  92. temp.options[0].selected=true
  93. }
  94.  
  95. //-->
  96. </SCRIPT>
  97. <INPUT TYPE="SUBMIT" NAME="submit_person" VALUE="Submit" 
  98. </FORM>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 03:15