0
我做了一個簡單的(非常規)表單,它將每個答案存儲爲一個變量(我這樣做是因爲某些問題不會被回答,因爲出現的問題取決於您在上一個問題上回答的問題)。如何通過php將這些JQuery變量傳遞給Mysql?
我想將它發送給一個php文件,該文件將搜索Mysql數據庫中是否存在匹配項,並以xml格式返回。
下面是變量:
- 正確答案爲:如果填寫,必須等於什麼是在MySQL
- Checkbox1/2/3/3:如果一個或多個將檢索數據這些被檢查。例如,如果選中「咖啡」和「果汁」,則將返回咖啡或果汁設爲真的行。
- Dropdown1/2:二是從/到指定範圍的
這裏的變量是我的代碼:) http://jsfiddle.net/pufamuf/S6smg/1/
HTML:
<div id="que1">Question One:
<input id="inp1" type="text">
<input type="button" value="Next Question" id="but1"></div>
<div id="que2" class="hiddendiv">Question Two:<br>
<input type="checkbox" id="checkbox1" value="coffee">Coffee<br>
<input type="checkbox" id="checkbox2" value="tea">Tea<br>
<input type="checkbox" id="checkbox3" value="latte">Latte<br>
<input type="checkbox" id="checkbox4" value="juice">Juice<br>
<input type="button" value="Next Question" id="but2"></div>
<div id="que3" class="hiddendiv">Question Three:
From:
<select id="dropdown1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
To:
<select id="dropdown2">
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<input type="button" value="Finish" id="but3"></div>
<br><br><br>
<b>Variables</b><br>
Answer1:<div id="answer1"></div>
Checkbox1:<div id="answer2a"></div>
Checkbox2:<div id="answer2b"></div>
Checkbox3:<div id="answer2c"></div>
Checkbox4:<div id="answer2d"></div>
Dropdown1:<div id="answer3a"></div>
Dropdown2:<div id="answer3b"></div>
的Jquery:
$("input[type='button']").click(function() {
var question1 = '';
var question2a = '';
var question2b = '';
var question2c = '';
var question2d = '';
var question3a = '';
var question3b = '';
switch (this.id) {
case 'but1':
question1 = $("#inp1").val();
$("#answer1").html(question1);
$('#que1').addClass('hiddendiv');
$('#que2').removeClass('hiddendiv');
break;
case 'but2':
if($('#checkbox1').is(':checked')){
question2a = '1';
}
if($('#checkbox2').is(':checked')){
question2b = '1';
}
if($('#checkbox3').is(':checked')){
question2c = '1';
}
if($('#checkbox4').is(':checked')){
question2d = '1';
}
$("#answer2a").html(question2a);
$("#answer2b").html(question2b);
$("#answer2c").html(question2c);
$("#answer2d").html(question2d);
$('#que2').addClass('hiddendiv');
$('#que3').removeClass('hiddendiv');
break;
case 'but3':
question3a = $("#dropdown1").val();
question3b = $("#dropdown2").val();
$('#que3').addClass('hiddendiv');
$("#answer3a").html(question3a);
$("#answer3b").html(question3b);
break;
}
});
非常感謝大家:)))!
這裏是PHP文件看起來像現在我的舊的HTML表單:
<?php
require("db_access.php");
function parseToXML($htmlStr)
{
$xmlStr=str_replace('<','<',$htmlStr);
$xmlStr=str_replace('>','>',$xmlStr);
$xmlStr=str_replace('"','"',$xmlStr);
$xmlStr=str_replace("'",''',$xmlStr);
$xmlStr=str_replace("&",'&',$xmlStr);
return $xmlStr;
}
$name=$_POST['name'];
$address=$_POST['address'];
$type=$_POST['type'];
// Opens a connection to a MySQL server
$connection=mysql_connect (localhost, $username, $password);
if (!$connection) {
die('Not connected : ' . mysql_error());
}
// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}
// Select all the rows in the markers table
$inputs = array('name', 'address', 'type');
$where = array();
foreach($inputs as $input)
{
if(!empty($_POST[$input])) {
$where[] = "{$input} = '" . mysql_real_escape_string($_POST[$input]) . "'";
}
}
if ($where) {
$query = 'SELECT * FROM markers WHERE ' . implode(' AND ', $where);
} else {
user_error("No rows returned by:<br />\n$query");
}
$result = mysql_query($query);
if($result == false) {
die(mysql_error() . "<br />\n$query");
}
if(mysql_num_rows($result) == 0) {
user_error("No rows returned by:<br />\n$query");
}
header("Content-type: text/xml");
// Start XML file, echo parent node
echo '<markers>';
// Iterate through the rows, printing XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
echo '<marker ';
echo 'name="' . parseToXML($row['name']) . '" ';
echo 'address="' . parseToXML($row['address']) . '" ';
echo 'type="' . parseToXML($row['type']) . '" ';
echo 'lat="' . $row['lat'] . '" ';
echo 'lng="' . $row['lng'] . '" ';
echo '/>';
}
// End XML file
echo '</markers>';
?>
嗨,尼克,我發佈了一個PHP源代碼,我現在使用一個簡單的3問題表單。但是,我不知道如何將這些變量移入該文件 – pufAmuf
啊,所以我甚至不需要使用變量呢?然而,我只是意識到,我有一個問題,四個按鈕決定下一個問題將是什麼 - 這就是爲什麼我決定使用變量。我能以某種方式將某個按鈕點擊轉移到名稱值嗎? – pufAmuf
沒有冒犯,但你應該考慮寫一本關於PHP/JavaScript的書。這是非常基本的東西。你可以在jQuery中使用'$ .bind'綁定click事件。 –