Autor Zpráva
Chroptík
Profil *
Zdravím Vás všechny přítomné.

Udělal jsem si podle scriptu z jednoho webu dva selecty závislé na sobě pomocí ajaxu.
Od Vás bych potřeboval a zároveň moc prosím, menší (asi menší) úpravu ve scriptech.
Jedná se mi o to že bych potřeboval ještě před vybráním v prvním selectu vybrat tabulku z které se budou data načítat.
Asi nejlépe udělat dva inputy typu radia s name zahranicni a druhý domaci.
Inputy udělat zvládnu, ale co nezvládnu, je upravit ajax, protože o ajaxu vůbec nic nevím na tož abych ho upravil.

Přikládám dva soubory které budou potřeba upravit.
Budu opravdu velmi vděčný za jakoukoliv pomoc.
Index.php:
<?php 
  include('func.php');
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Editace skladeb</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function() {
    $('#wait_1').hide();
    $('#drop_1').change(function(){
      $('#wait_1').show();
      $('#result_1').hide();
      $.get("func.php", {
        func: "drop_1",
        drop_var: $('#drop_1').val()
      }, function(response){
        $('#result_1').fadeOut();
        setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400);
      });
        return false;
    });
});

function finishAjax(id, response) {
  $('#wait_1').hide();
  $('#'+id).html(unescape(response));
  $('#'+id).fadeIn();
}
</script>
</head>

<body>
<p>
<form action="" method="post">
  
    <select name="drop_1" id="drop_1">
    
      <option value="" selected="selected" disabled="disabled">Vyber interpreta</option>
      
      <?php getTierOne(); ?>
    
    </select> 
    
    <span id="wait_1" style="display: none;">
    <img alt="Please Wait" src="ajax-loader.gif"/>
    </span>
    <span id="result_1" style="display: none;"></span> 
  
</form>
</p>

func.php:
//**************************************
//     Page load dropdown results     //
//**************************************
function getTierOne()
{
    $result = mysql_query("SELECT DISTINCT Contentgroup FROM zahranicni ORDER BY Contentgroup ASC") 
    or die(mysql_error());

      while($tier = mysql_fetch_array( $result )) 
  
        {
           echo '<option value="'.$tier['Contentgroup'].'">'.$tier['Contentgroup'].'</option>';
        }

}

//**************************************
//     First selection results     //
//**************************************
if($_GET['func'] == "drop_1" && isset($_GET['func'])) { 
   drop_1($_GET['drop_var']); 
}

function drop_1($drop_var)
{  
    include_once('../settings.php');
    $result = mysql_query("SELECT DISTINCT Album FROM zahranicni WHERE Contentgroup='$drop_var' ORDER BY Year,Album ASC") 
    or die(mysql_error());
    
    echo '<select name="tier_two" id="tier_two">
          <option value=" " disabled="disabled" selected="selected">Album</option>';

           while($drop_2 = mysql_fetch_array( $result )) 
            {
              echo '<option value="'.htmlSpecialChars($drop_2['Album'],ENT_QUOTES).'">'.htmlSpecialChars($drop_2['Album'],ENT_QUOTES).'</option>';
            }
    
    echo '</select> ';
    echo '<input type="submit" name="submit" value="Submit" />';
}

řekl bych že místo názvu tabulky v souboru func.php bude nějaká proměnná ale nevím jak tu proměnnou dostat přes ajax do toho souboru.
Ještě jednou moc děkuji za případnou pomoc.
Str4wberry
Profil
Proměnnou tam dostanete zavoláním toho souboru:

$.get("func.php", {
        func: "drop_1",
        drop_var: $('#drop_1').val()
      }

Už tam máte proměnné func a drop_var, podobně si tam můžete poslat cokoliv.
Chroptík
Profil *
[#2] Str4wberry

Díky za odpověď,

snažím se s tím vypořádat.
Zatím stále neúspěšně.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0