我是PHP新手(我正在研究android)。我的页面包含一个表,它根据数据库的变化而变化。我的表包含下拉选项,如果我在拖拽选项中更改任何内容,我们必须将这些输入到datebase中。我正在调用脚本函数“updatePrepStatus()” 。它不起作用,请帮助我。
<script >
function updatePrepStatus(itemName) {
alert(itemName);
<?php
echo " updatePrepStatus-- ";
?> ;
}
</script>
<?php
//$Order_no=$_GET['OrderId'];
$result = mysql_query("select Menu_Item_Name, Menu_Item_quantity,Menu_Item_Price,PreparationStatus from order_details where order_id='$Order_no' && status!='C' ");
$rows_count = mysql_num_rows($result);
$i=0;
$ItemName="";
while( $row=mysql_fetch_array($result) )
{
if($i==0)
{
echo "<table id='table1' style='WIDTH: 400px;' border='3' cellSpacing=0 cellPadding=3 width=693 align=center>
<tbody>";
echo "<tr><td><font color='#0000e' size='2'><strong>Item
Name</strong></font></td>
<td><font color='#0000e'
size=2><strong>Quantity</strong></font></td>
<td><font color='#0000e'
size=2><strong>Price</strong></font></td>
<td><font color='#0000e'
size=2><strong>Status</strong></font></td></tr>";
}
if($row['PreparationStatus']=='NEW')
$ps2='READY';
else
$ps2='NEW';
$ItemName=$row['Menu_Item_Name'];
echo $ItemName;
echo"<tr>
<td><font color='#0000e' size='2'>".$row['Menu_Item_Name']."</font></td>
<td><font color='#0000e' size='2'>".$row['Menu_Item_quantity']."</font></td>
<td><font color='#0000e' size='2'>".$row['Menu_Item_Price']."</font></td>
<td><SELECT NAME='Select[]' id='PrepStatus' onChange=updatePrepStatus($ItemName)><OPTION VALUE='NEW'><font color='#0000e' size='2'>".$row['PreparationStatus']."
</OPTION><OPTION VALUE='READY'><font color='#0000e' size='2'>$ps2</OPTION></SELECT> </font></td></tr>";
$i++;
}
if($i==0)
{
echo "<p align='center'>NO RECORDS<strong><font color='white' size='3'>";
}
else
{
echo "</tbody></table></p>
<p> </p>
<p>
<p></p>
<input value='Submit' type='submit' name='submit'>";
}
?>
请帮帮我。
答案 0 :(得分:1)
看起来好像是在混淆PHP(在作为网络服务器的计算机上运行)与javascript(在浏览器中运行,网站的访问者正在运行)。他们无法直接互动。
但是,它们可以使用通常称为AJAX的机制进行交互。这需要您编写将接收请求并发送响应的服务器端脚本,以及发送请求并处理来自服务器的响应的客户端JavaScript。使用PHP和jQuery的快速示例:
如果您编写服务器脚本并将其安装在http://www.exampler.com/ajaxserver.php:
<?php
echo (json_encode (array (
'response' => $_GET ['message'],
'luckynumber' => mt_rand ())));
?>
在客户端:
$.ajax ({
url: 'http://www.example.com/ajaxserver.php',
datatype: 'json',
method: 'GET',
data: {
message: 'Hello, this is the message that will be returned by AJAX!'
},
success: functioon (data, status, xhr)
{
alert (data.response);
alert ('Your lucky number is: ' + data.luckynumber);
}
});
答案 1 :(得分:1)
您误解了服务器端代码(例如PHP)和客户端代码(即Javascript)之间的区别。
无法从您的Javascript调用PHP函数。您可以 ,如果需要,可以使用AJAX调用来响应Javascript事件来调用您的服务器,并且可以将AJAX调用输入到您必须专门创建的新PHP页面中。但是,你不清楚你需要这样的东西,因为要确定你想要做什么有点困难 - 如果它不是需要对服务器进行新调用的东西,那么你就不需要这个。
我建议您需要了解更多关于Web开发的知识,以便了解客户端和服务器端代码之间的区别,以便您在此时正确理解为什么这不起作用。我们可以推荐任意数量的复杂解决方案,我们会为您提供大量代码,但您需要根据Web应用程序的工作原理了解某些内容有效或无效的原因。
Here's one article和another只是为了让您入门。
答案 2 :(得分:0)
<?php
include 'db_config.php';
$query = "SELECT * FROM Category ORDER BY c_id ASC";
// Execute it, or return the error message if there's a problem.
$result = mysql_query($query) or die(mysql_error());?>
<select id='cat' name='cat' class='input2' onselect="function myfunction()"> <option value='Select '>Select Category</option>;
<?php while($row = mysql_fetch_assoc($result)) {
$dropdown .= "\r\n<option value='{$row['c_id']}'>{$row['c_name']}</option>";
}
$dropdown .= "\r\n</select>";
echo $dropdown;
?>