Переменные ajax в php

djnick

Новичок
Доброго времени суток, встала задача написать скрипт каталога запчастей, с использованием ajax, php + mysql

Код index.php:
PHP:
<?php require_once ("carcat/db.php");?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="carcat/jquery.js"></script>
<script type="text/javascript" src="carcat/valid.js"></script>
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td> 
    <form action="" id="forma">
	<div id="Container">
		<div>
            <label>Марка машины:</label><br/>
            <select id="markdropdown">
				<option value="">Выберете марку...</option>
				<?php 
					$array = mysql_query ("SELECT * FROM car_mark");
					while ($my = mysql_fetch_array ($array)) {
						echo "<option value=\"".$my["mark_id"]."\">".$my["mark_name"]."</option>";
					}
				?>
            </select>
          </div>
          <div style="display:none" id="seriesdiv">
            <label>Серия:</label><br/>
            <select id="seriesdropdown" disabled="disabled"></select>
          </div>
          <div style="display:none" id="yeardiv">
            <label>Год выпуска:</label><br/>
            <select id="yeardropdown" disabled="disabled"></select>
          </div>
          <div style="display:none" id="kuzovtypediv">
            <label>Тип кузова:</label><br/>
            <select id="kuzovtypedropdown" disabled="disabled"></select>
          </div>
		  
		   <div style="display:none" id="enginetypediv">
            <label>Тип двигателя:</label><br/>
            <select id="enginetypedropdown" disabled="disabled"></select>
          </div>
		  
		   <div style="display:none" id="enginepowerdiv">
            <label>Мощность двигателя:</label><br/>
            <select id="enginepowerdropdown" disabled="disabled"></select>
          </div>
		  
		  <div style="display:none" id="modeldiv">
            <label l>Модель:</label><br/>
            <select id="modeldropdown" disabled="disabled"></select>
          </div>
	</div>
    
    </td>
    <td><div style="display:none" id="groupdiv"><img id="groupimg" src="default.jpg" alt="группа 1"/></div></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>



</body>
</html>
Код valid.js:
PHP:
$(document).ready(function() {
	$("#markdropdown").change(function() {
		var markvalue = $("#markdropdown option:selected").val();
		if (markvalue == '') {clearlist();}
		getseries();
	})
	$("#seriesdropdown").change(function() {
	getyear();
	
		
		
	})
	$("#yeardropdown").change(function() {
		getkuzovtype();
		
	})
	$("#kuzovtypedropdown").change(function() {
		getenginetype();
		
	})
	$("#enginetypedropdown").change(function() {
		getenginepower();
		
	})
	$("#enginepowerdropdown").change(function() {
		getmodel();
		
	})
	
	$("#modeldropdown").change(function() {
		
	getgroup();	
	})
}

);

function getseries() {
	var markvalue = $("#markdropdown option:selected").val();
	var series = $("#seriesdropdown");
	var seriesdiv = document.getElementById("seriesdiv");
	if (markvalue == 0) {
		series.attr("disabled",true);
		seriesdiv.style.display = "none";
		getyear();
	} else {
        seriesdiv.style.display = "block";
		series.attr("disabled",false);
		series.load('/carcat/getseries.php',{mark : markvalue});
	}
	{clearlist2();}	
}
function getyear() {
	var markvalue = $("#markdropdown option:selected").val();
	var seriesvalue = $("#seriesdropdown option:selected").val();
	var yeardiv = document.getElementById("yeardiv");
	var year = $("#yeardropdown");
	if (markvalue == 0) {
		year.attr("disabled",true);
		yeardiv.style.display = "none";
		getkuzovtype();
	} else {
		year.attr("disabled",false);
		yeardiv.style.display = "block";
		year.load('/carcat/getyear.php',{series : seriesvalue});
	}
	if (seriesvalue == '') {clearlist2();}
}

function getkuzovtype() {
	var markvalue = $("#markdropdown option:selected").val();
	var seriesvalue = $("#seriesdropdown option:selected").val();
	var yearvalue = $("#yeardropdown option:selected").val();
	var kuzovtype = $("#kuzovtypedropdown");
	var kuzovtypediv = document.getElementById("kuzovtypediv");
	if (markvalue == 0) {
		kuzovtype.attr("disabled",true);
		kuzovtypediv.style.display = "none";
		getenginetype();
	} else {
		kuzovtype.attr("disabled",false);
		kuzovtypediv.style.display = "block";
		kuzovtype.load('/carcat/getkuzovtype.php',{year : yearvalue});
	}
	if (yearvalue == '') {clearlist3();}
}

function getenginetype() {
	var markvalue = $("#markdropdown option:selected").val();
	var seriesvalue = $("#seriesdropdown option:selected").val();
	var yearvalue = $("#yeardropdown option:selected").val();
	var kuzovtypevalue = $("#kuzovtypedropdown option:selected").val();
	var enginetype = $("#enginetypedropdown");
	var enginetypediv = document.getElementById("enginetypediv");
	if (markvalue == 0) {
		enginetype.attr("disabled",true);
		enginetypediv.style.display = "none";
		getenginepower();
	} else {
		enginetype.attr("disabled",false);
		enginetypediv.style.display = "block";
		enginetype.load('/carcat/getenginetype.php',{kuzovtype : kuzovtypevalue});
	}
    if (kuzovtypevalue == '') {clearlist4();}
}

function getenginepower() {
	var markvalue = $("#markdropdown option:selected").val();
	var seriesvalue = $("#seriesdropdown option:selected").val();
	var yearvalue = $("#yeardropdown option:selected").val();
	var kuzovtypevalue = $("#kuzovtypedropdown option:selected").val();
	var enginetypevalue = $("#enginetypedropdown option:selected").val();
	var enginepower = $("#enginepowerdropdown");
	var enginepowerdiv = document.getElementById("enginepowerdiv");
	if (markvalue == 0) {
		enginepower.attr("disabled",true);
		enginepowerdiv.style.display = "none";
		getmodel();
	} else {
		enginepower.attr("disabled",false);
		enginepowerdiv.style.display = "block";
		enginepower.load('/carcat/getenginepower.php',{enginetype : enginetypevalue});
	}
    if (enginetypevalue == '') {clearlist5();}
}

function getmodel() {
	var markvalue = $("#markdropdown option:selected").val();
	var seriesvalue = $("#seriesdropdown option:selected").val();
	var yearvalue = $("#yeardropdown option:selected").val();
	var kuzovtypevalue = $("#kuzovtypedropdown option:selected").val();
	var enginetypevalue = $("#enginetypedropdown option:selected").val();
	var enginepowervalue = $("#enginepowerdropdown option:selected").val();
	var modelvalue = $("#modeldropdown option:selected").val();
	var model = $("#modeldropdown");
	
	if (markvalue == 0) {
		model.attr("disabled",true);
		modeldiv.style.display = "none";
	} else {
		model.attr("disabled",false);
		modeldiv.style.display = "block";
		model.load('/carcat/getmodel.php',{enginepower : enginepowervalue});
		
	}
	    if (enginepowervalue == '') {clearlist6();}
}

function getgroup() {
	var markvalue = $("#markdropdown option:selected").val();
	var seriesvalue = $("#seriesdropdown option:selected").val();
	var yearvalue = $("#yeardropdown option:selected").val();
	var kuzovtypevalue = $("#kuzovtypedropdown option:selected").val();
	var enginetypevalue = $("#enginetypedropdown option:selected").val();
	var enginepowervalue = $("#enginepowerdropdown option:selected").val();
	var modelvalue = $("#modeldropdown option:selected").val();
	var group = $("#groupimg");
	
	if (markvalue == 0) {
		groupdiv.style.display = "none";
	} else {
		groupdiv.style.display = "block";
		group.load('/carcat/getgroup.php',{model : modelvalue});
		
	}
	    if (modelvalue == '') {clearlist6();}
}
Код getseries.php (аналогичен getmodel, getenginepower...):
PHP:
<?php

require_once ("db.php");

$mark = $_POST["mark"];

$cararray = mysql_query ("SELECT * FROM car_series WHERE mark_id = $mark");
	echo "<option value=\"\">Выберете серию</option>";
while ($mcar = mysql_fetch_array ($cararray)) {
	echo "<option value=\"".$mcar["series_id"]."\">".$mcar["series_name"]."</option>";
}
Код getgroup.php:
PHP:
<?php

require_once ("db.php");

$model = $_POST["model"]; 

$array = mysql_query ("SELECT * FROM car_group WHERE model_id = $model");
	while ($m = mysql_fetch_array ($array)) {
    echo "<img src=\"".$m["group_icon"]."\"alt=\"".$m["group_name"]."\"/>" ;
	
}
Почему-то не переменная $model пустая и из-за этого выдаёт ошибку MySql...

Никак не могу передать значение model в переменную $model...

Нужно чтобы при выборе модели строился див с рисунками групп деталей...

Пробовал подгружать getgroup в див ajax-ом, вставлять код в тело index.php, ничего не помогает... Подскажите, что почитать. (ajax только начал осваивать...)
 

djnick

Новичок
Всё - разобрался, я в тэг img слал массив оказывается, невнимательно прописал сами переменные в js)
 
Сверху