我正在尝试使用PHP
将HTML表单数据传递给MySQL
db并将数据返回给浏览器。通过提交已检查的权限(M1
,M2
,MN1
..)我想显示具有这些权限的教师的姓名。现在,请告诉我代码有什么问题:
<!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>Untitled Document</title>
</head><body>
<form action="akcja.php" method="post">
<br /><br /><br />
<table>
<tr><th><br/><input type="checkbox" id="check" name="M1" value="M1,">m1</th>
<th><br/><center><input type="checkbox" id="check" name="M2" value="M2,">m2</center></th>
<th><br/><center><input type="checkbox" id="check" name="MN1" value="MN1,"> mn1 </center></th> </tr></table>
<input type="submit" name="submit" value="Search Database" />
</form>
</body>
</html>
<?php
$query = mysql_query("SELECT * FROM permissions WHERE m LIKE '".$_POST['M1']."' OR m LIKE '".$_POST['M2']."' OR mn LIKE '".$_POST['MN1']."' ");
if($query)
while($permissions = mysql_fetch_assoc($query)){
$query2 = mysql_query("SELECT name_surname FROM instruktorzy WHERE instruktor_id='".$permissions['instruktor_id']."'");
while($Mdwa = mysql_fetch_assoc($query2)){
echo "<p style=\"font-size: 14px; font-family: Helvetica; background-color: #FFFFFF\"> ".$Mdwa['name_surname']."<br />" ; "</p>" ;
}
}
?>
下面的代码是一种更干净的做事方式。我已经很久没有这样使用它了,但它可能会帮助您解决问题,因为这可能是因为您在queryloop中使用了queryloop。(不确定,但如果你像我那样做,也不会有什么坏处。
$permissions = Array();
$query = mysql_query("SELECT * FROM permissions WHERE m LIKE '" . $_POST['M1'] . "' OR m LIKE '" . $_POST['M2'] . "' OR mn LIKE '" . $_POST['MN1'] . "' ");
if ($query) {
while ($row = mysql_fetch_assoc($query)) {
array_push($permissions, $row);
}
}
foreach ($permissions AS $key => $permission) {
$query = mysql_query("SELECT name_surname FROM instruktorzy WHERE instruktor_id='" . $permission['instruktor_id'] . "'");
if ($query) {
while ($row = mysql_fetch_assoc($query2)) {
echo "<p style=\"font-size: 14px; font-family: Helvetica; background-color: #FFFFFF\"> ".$Mdwa['name_surname']."<br />" ; "</p>" ;
}
}
}
这就是我看到的一种更清晰的代码定位方法。我应该注意到,这只是快速拍打在一起没有任何工具,所以不要复制和粘贴。
$connection = new PDO('mysql:host=localhost;dbname=db', 'awesome_user', 'love123',
array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
$query_obj = $connection->prepare("SELECT permissions.*, instruktorzy.name_surname
FROM permissions
LEFT JOIN instruktorzy ON instruktorzy.instruktor_id = permissions.instruktor_id
WHERE permissions.m IN (:m1, :m2) OR permissions.mn LIKE :mn1 LIMIT 100");
$query_obj->setFetchMode(PDO::FETCH_ASSOC);
// You will need something a little more complex here to deal with missing data,
// I am just putting in what is required to get it working if the
// entire $_POST is set
$query_obj->bindValue(':m1', isset($_POST['M1']) ? $_POST['M1'] : null);
$query_obj->bindValue(':m2', isset($_POST['M2']) ? $_POST['M2'] : null);
$query_obj->bindValue(':mn1', isset($_POST['MN1']) ? $_POST['MN1'] : null);
$query_obj->execute();
foreach($query_obj as $k => $row){
echo '<p style="font-size: 14px; font-family: Helvetica;
background-color: #FFFFFF"> '.$row['name_surname'].'<br /></p>' ;
}
这将帮助您进入编写更好代码的正确轨道;希望如此。
问题内容: 我有3个文件main.php,action.js和ajax.php,我在javascript文件中通过ajax调用成功地将某些div单击的内容从main.php更改为ajax.php的内容。看起来像这样: 现在,我需要从action.js中的ajax.php中的函数返回值,因为我想迭代直到该值(请参见上面的代码)。如何将此值从ajax.php传递到action.js。我很困惑我需要什么
我有Rest WS和帕帕仑,比如 或者可能有数组列表或位置字符串为[]的列表 我正在尝试从浏览器调用此 WS。当我在数组中使用 1 个参数调用它时,它工作正常。WS 调用类似于 /。但是当我想在数组中使用 2 个或更多参数调用它时,它不起作用。响应为空数组,但它必须返回填充数组。我用许多参数调用 WS,例如 /myService/type1,type2 并且它不起作用,我也尝试了 type2} 和
因此,在我的Javascript中,我使用的是表单序列化,输出是正确的 (issubmit=1) 当我试图将其传递给我的控制器时,我什么也得不到,。我做错了什么? Jquery: 控制器:
问题内容: 如何将参数传递给表单? 根据以下答案进行编辑: 问题答案: 你应该定义表单的方法,如下所示: 没有意义。创建表单后,必须将属性添加到窗口小部件。尝试这样的事情:
问题内容: 如果这个解释不清楚,我很抱歉,我也很难理解。 如何使用PHP和Ajax将数组发送到Javascript? 我正在使用Ajax来获取照片阵列,然后希望将其追加到页面上的空白处。 jQuery如下所示: PHP函数getPhotos如下所示: 如果仅将数据发送到成功回调,但它似乎不是可用的格式。 如果我在PHP中执行,结果将类似于: 我已经尝试过诸如此类的各种组合,但实际上我在猜测并且不确