我在用户输入内容的页面上有一个表单,然后返回结果并显示在页面上.我是否可以使用同时清除搜索结果和表单的按钮?
我知道您可以使用<input type="reset" value="Reset"/>表单上的按钮重置表单,并使用以下代码重新加载页面.
<input type="button" value="Clear Results" onClick="window.location.reload()">
是否可以让按钮执行这两项操作,即清除搜索结果并重置表单?是否可以使用JavaScript完成,如果是这样的话?
谢谢
我想将PDO INSERT和UPDATE准备好的语句切换到INSERT和ON DUPLICATE KEY UPDATE,因为我认为它比我目前正在做的更有效率,但是我在找出正确的语法时遇到了麻烦.与命名占位符和bindParam一起使用.
我在SO上发现了几个类似的问题,但我是PDO的新手,无法根据我的标准成功调整代码.这是我尝试过的,但它不起作用(它不插入或更新):
try {
$stmt = $conn->prepare('INSERT INTO customer_info (user_id, fname, lname) VALUES(:user_id, :fname, :lname)'
'ON DUPLICATE KEY UPDATE customer_info SET fname= :fname,
lname= :lname
WHERE user_id = :user_id');
$stmt->bindParam(':user_id', $user_id);
$stmt->bindParam(':fname', $_POST['fname'], PDO::PARAM_STR);
$stmt->bindParam(':lname', $_POST['lname'], PDO::PARAM_STR);
$stmt->execute();
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码的简化版本(我有几个查询,每个查询有20-50个字段).我当前正在更新并检查更新的行数是否大于0,如果没有则运行Insert,并且每个查询都有自己的bindParam语句集.
php pdo prepared-statement sqlbindparameter on-duplicate-key
我正在切换到PDO预处理语句,我在获取和使用会话ID方面遇到了问题.
当客户注册时,session_id被设置为等于user_id(自动递增),并且当用户返回时,session_id以相同的方式设置.这在切换到PDO之前正常工作,但是现在session_id在任何后续页面上都没有被识别(它将'user_id'视为null)
我是否需要切换到使用PDO会话处理程序,还是有办法继续使用我熟悉的方法?
mysql - 这是我用来设置会话ID的代码(这个工作正常):
// Statements defining $user_name, $password and $hashedPassword (as shown below), and mysql_real_escape_string
// Insert statement
if($result) {
$qry="SELECT * FROM customer_info WHERE user_name='$user_name' AND password='".sha1($salt + $_POST['password'])."'";
$result=mysql_query($qry);
if($result) {
if(mysql_num_rows($result) == 1) {
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_USER_ID'] = $member['user_id'];
session_write_close();
exit();
} } }
Run Code Online (Sandbox Code Playgroud)
PDO - 这是我尝试的代码(会话ID未设置):
$user_name = $_POST['user_name'];
$password = $_POST['password'];
$hashedPassword = sha1($salt . $password);
$stmt = $conn->prepare('INSERT INTO customer_info (...) VALUES(...)');
$stmt->bindParam(':user_id', $user_id);
...
$insertResult = $stmt->execute();
if …Run Code Online (Sandbox Code Playgroud) 我正在使用基于jquery ui 工具提示小部件“自定义样式”演示的语音气泡样式工具提示,但是当我需要将箭头显示在工具提示的左侧而不是顶部或底部时,我无法正确显示箭头。
有人可以帮我修复此代码(它切断了尖端并显示了太大的箭头部分)吗?
<style type="text/css">
.ui-tooltip.menu_info {
max-width: 200px;
}
* html .ui-tooltip {
background-image: none;
}
body .ui-tooltip { border-width: 1px; }
.ui-tooltip, .arrow:after, .arrow_left_side:after {
background: white;
border: 1px solid #999;
}
.ui-tooltip {
padding: 10px 12px;
color: Black;
font: 8pt "Helvetica Neue", Sans-Serif;
max-width: 150px;
border: 1px solid #999;
position: absolute;
}
.arrow_left_side {
height: 70px;
width: 8px;
overflow: hidden;
position: absolute;
top: 0px;
margin-top: 5px;
left: -8px;
}
.arrow_left_side:after {
content: "";
position: …Run Code Online (Sandbox Code Playgroud) 我正在转换到PDO预处理语句,并且我在使用语句进行基本SELECT查询的语法时遇到问题WHILE.
foreach下面的陈述PDO::FETCH_ASSOC回应了正确的结果,但查询正在跳过返回的第一个结果(因此它总是回显一个比它应该的结果少的结果).
PDO :: FETCH_ASSOC
$stmt = $conn->prepare("SELECT * FROM products");
$stmt->execute();
$row = $stmt->fetch();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['product_name'].' '.$row['price'].' '.$row['color'], "<br />";
}
Run Code Online (Sandbox Code Playgroud)
的foreach
foreach($conn->query('SELECT * FROM products') as $row) {
echo $row['product_name'].' '.$row['price'].' '.$row['color'], "<br />";
}
Run Code Online (Sandbox Code Playgroud) 如何更改此功能以使用该jQuery.contains()方法而不是find()?
我正在使用该功能通过各种属性(即颜色,产品类别,场合等)过滤服装,并且该功能目前仅返回完全匹配.由于项目通常具有多个属性值(即多于一种颜色),我想使用contains()而不是find(),但我无法找出contains()与数据属性一起使用的正确语法
我在这里发布了一个函数的简单例子:http://jsfiddle.net/chayacooper/WZpMh/5/
$('#filterStyleOptions li a').click(function () {
var attrStyle = $(this).data('style');
$('#filterStyleOptions li').removeClass('active');
$(this).parent().addClass('active');
if (attrStyle == 'All') {
$('#content').find('li').show();
} else {
// $('#content').find('li').hide();
$('#content').find('li:not([data-style="' + attrStyle + '"])').hide();
$('#content').find('li[data-style="' + attrStyle + '"]').show();
}
return false;
});
Run Code Online (Sandbox Code Playgroud) 这个prepend函数添加了一个div"colorBox"类,但是我在设置新创建的css方面遇到了麻烦div.我不知道我的语法是否正确,但我正在尝试使用data-backgroundparent (li)标记中的值.
我正在使用它来添加颜色框multiselect options,并且我正在使用的插件将每个转换option为一个<li>结构类似于我在下面包含的HTML.
JS
$(function(){
$("li span").prepend('<div class="colorBox"></div>').css('background-color', $(this).parent().attr("data-background"));
});
Run Code Online (Sandbox Code Playgroud)
HTML
<ul>
<li data-background="#C11B17">
<input type="checkbox" name="color[]" value="Brick_Red">
<span>Brick Red</span>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud) 我正在尝试从 mySql 语句切换到 PDO 准备好的语句,但是我无法确定插入成功时必须使用的 if/else 语句的正确语法(以前是if($result) {...})。
我知道 $stmt->execute(); 成功时返回 true 或失败时返回 false,但我一直无法确定如何设置语句来对此采取行动。
新代码(PDO 准备语句)
$gender = $_POST['gender'];
if ($gender==="female" ) {
try {
$stmt = $conn->prepare('INSERT INTO customer_info (fname...) VALUES(:fname...)');
$stmt->bindParam(':fname', $_POST['fname'], PDO::PARAM_STR);
$stmt->execute();
} catch(PDOException $e) {
echo $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)
这是原始if ($gender==="female")函数的其余部分
$result = @mysql_query($qry);
if($result) {
$qry="SELECT * FROM customer_info WHERE user_name='$_POST['user_name']' AND password='$_POST['password']'";
$result=mysql_query($qry);
if($result) {
if(mysql_num_rows($result) == 1) {
//user_name Successful
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_USER_ID'] = $member['user_id'];
session_write_close();
header("location: …Run Code Online (Sandbox Code Playgroud) 我想打开文档中的错误报告,而不是托管公司服务器上的php.ini文件.根据手册,这些函数在运行时设置error_reporting指令,因此插入其中任何一个都应该有效,但我只是得到一个空白页面.有什么建议?
error_reporting(E_ALL);
error_reporting(-1);
ini_set('error_reporting', E_ALL);
Run Code Online (Sandbox Code Playgroud) 有没有办法根据用户点击的链接指定标题位置?如果可能的话,我宁愿在PHP中这样做.
我想在用户点击几个按钮(即下一个,后退,保存等)中的任何一个时提交表单,并且每个表单提交后都需要以不同的方式重定向用户.
例
HTML - form2.html
<form name="form2" id="form2" method="post" action="form2-exec.php">
<!-- Form Elements -->
<a href="form1.php"><input type="submit" value="BACK" /></a>
<a href="form3.php"><input type="submit" value="SUBMIT" /></a>
</form>
Run Code Online (Sandbox Code Playgroud)
PHP - form2-exec.php
// Connect to database
// Insert & ON DUPLICATE KEY UPDATE Statements
header("location: form3.php");
Run Code Online (Sandbox Code Playgroud) 我想通过数据属性而不是类来使用这个show/hide函数,但是我很难获得正确的语法.
我知道它是这样的,$("li[data-color=" + this.value + "]").show();但我无法让它工作和/或修改功能,以便它的工作原理.
我正在使用该功能通过各种属性(即颜色,产品类别,场合等)过滤服装,我在这里发布了一个简单示例的小提琴:http://jsfiddle.net/chayacooper/WZpMh/4 /
$('#filterOptions li a').click(function () {
var ourClass = $(this).attr('class');
$('#filterOptions li').removeClass('active');
$(this).parent().addClass('active');
if (ourClass == 'all') {
$('#content').find('.item').show();
} else {
$('#content').find('.item:not(.' + ourClass + ')').hide();
$('#content').find('.item.' + ourClass).show();
}
return false;
});
Run Code Online (Sandbox Code Playgroud) 当我添加用于样式选择或多选元素的插件/小部件时,此更改功能停止工作(Dropkick - http://jamielottering.github.com/DropKick/和jQuery UI MultiSelect Widget http:// www. erichynds.com/jquery/jquery-ui-multiselect-widget/):-(
知道怎么解决这个问题吗?
将插件添加到小提琴中时遇到了一些麻烦,所以我创建了单独的小提琴:http: //jsfiddle.net/chayanyc/Dhaat/201/ - 功能有效 http://jsfiddle.net/chayanyc/vWLEn/89/ -使用由Dropkick设计的Select元素的功能(不起作用) http://jsfiddle.net/chayanyc/3jr2v/69/ - 由UI MultiSelect Widget设置的多选元素的功能(不起作用)
var $increase_priority1 = $(".increase_priority1");
$(".trigger_rank1, .complaint select").change(function () {
var name = $(this).data("name");
if ($("#Shoulders select").val() === "Too_small" && $(this).val() == 1 && !$(this).data("increase_priority1")) {
$("<option>", {
text: name,
val: name
}).appendTo($increase_priority1);
$(this).data("increase_priority1", true);
}
if ($(this).data("increase_priority1") && $(this).val() != 1) {
$("option[value=" + name + "]", $increase_priority1).remove();
$(this).removeData("increase_priority1");
}
});
Run Code Online (Sandbox Code Playgroud) 我想知道为什么这个数组中的第一个元素是空的?
$first_names[] = array();
foreach ($rows as $row) {
$first_names[] = $row['first_name'];
}
Run Code Online (Sandbox Code Playgroud)
结果var_dump($first_names);是:
array(15) { [0]=> array(0) { } [1]=> string(5) "Johny" [2]=> string(5) "Jacob" ...}
Run Code Online (Sandbox Code Playgroud)