Привет Я создаю сайт, используя html, css, php, mysql и javascript с небольшими бит jquery. на данный момент у меня есть 3 раскрывающиеся окна, которые динамически показывают вам варианты для примера, если я нажму английский, затем в следующем раскрывающемся списке показаны все разделы для английского языка, такие как чтение, а затем следующий будет связан с чтением, это все отлично работает ,
То, что я пытаюсь сделать, это использовать значения для каждого из этих выпадающих ящиков в запросе sql для возврата конкретных видеороликов, связанных с этими раскрывающимися списками.
Какой тип массива мне нужно использовать для $ _Post и как будет структурирован SQL-запрос, чтобы я мог вытащить всю информацию для видео.
Это код, который я в настоящее время, используя для выпадающего меню
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("select#type").attr("disabled","disabled");
$("select#category").change(function(){
$("select#type").attr("disabled","disabled");
$("select#type").html("<option>wait...</option>");
var id = $("select#category option:selected").attr('value');
$.post("select_type.php", {id:id}, function(data){
$("select#type").removeAttr("disabled");
$("select#type").html(data);
});
});
$("select#principle").attr("disabled","disabled");
$("select#type").change(function(){
$("select#principle").attr("disabled","disabled");
$("select#principle").html("<option>wait...</option>");
var id = $("select#type option:selected").attr('value');
$.post("select_principle.php", {id:id}, function(data){
$("select#principle").removeAttr("disabled");
$("select#principle").html(data);
});
});
$("form#select_form").submit(function(){
var cat = $("select#category option:selected").attr('value');
var type = $("select#type option:selected").attr('value');
var princ = $("select#principle option:selected").attr('value');
if(cat>0 && type>0 && princ>0)
{
var result = $("select#principle option:selected").html();
$("#result").html('your choice: '+result);
}
else
{
$("#result").html("you must choose two options!");
}
return false;
});
});
</script>
</head>
<body>
<?php include "select.class.php"; ?>
<form id="select_form">
Choose a category:<br />
<select id="category">
<?php echo $opt->ShowCategory(); ?>
</select>
<br /><br />
Choose a type:<br />
<select id="type">
<option value="%">any...</option>
</select>
<br /><br />
Choose a principle:<br />
<select id="principle">
<option value="%">any...</option>
</select>
<br /><br />
<input type="submit" value="confirm" />
</form>
<div id="result"></div>
</body>
</html>
это раздел, который работает SQL-запросов
<?php
class SelectList
{
protected $conn;
public function __construct()
{
$this->DbConnect();
}
protected function DbConnect()
{
include "db_config.php";
$this->conn = mysql_connect($host,$user,$password) OR die("Unable to connect to the database");
mysql_select_db($db,$this->conn) OR die("can not select the database $db");
return TRUE;
}
public function ShowCategory()
{
$sql = "SELECT * FROM subject";
$res = mysql_query($sql,$this->conn);
$category = '<option value="0">choose...</option>';
while($row = mysql_fetch_array($res))
{
$category .= '<option value="' . $row['subject_id'] . '">' . $row['description'] . '</option>';
}
return $category;
}
public function ShowType()
{
$sql = "SELECT * FROM section WHERE subject_id=$_POST[id]";
$res = mysql_query($sql,$this->conn);
$type = '<option value="0">choose...</option>';
while($row = mysql_fetch_array($res))
{
$type .= '<option value="' . $row['section_id'] . '">' . $row['description'] . '</option>';
}
return $type;
}
public function ShowPrinciple()
{
$sql = "SELECT * FROM principle WHERE section_id=$_POST[id]";
$res = mysql_query($sql,$this->conn);
$principle = '<option value="0">choose...</option>';
while($row = mysql_fetch_array($res))
{
$principle .= '<option value="' . $row['principle_id'] . '">' . $row['description'] . '</option>';
}
return $principle;
}
}
$opt = new SelectList();
?>
Почему голосование? – WhySoSerious
Я предполагаю, что кто-то проголосовал, потому что вы не предоставили никакого кода, чтобы проиллюстрировать ваш вопрос/проблему. – Brice
1) Примите варианты и получите доступ к ним с суперглобальным массивом '$ _POST', 2) Уберите все входные данные пользователя, 3) Создайте запрос, 4) Выполните его. С какой именно стороны вы сталкиваетесь? –