所以我有一个输入字段,如果它是空白的,我希望它的值是"空"字,但是如果输入了任何值,我希望该值是输入值.我想使用javascript,任何想法如何做到这一点?
更新:对不起,我认为我没有解释得太清楚.我不是指占位符文本.我指的是它的捕获价值.所以如果它是空白的,那么捕获的val()应该是"空",如果它被填充,捕获的val()应该是val()
我在SO上找到了这个代码,这对于一起使用PDO和IN()语句非常有用.
$values = explode(',', $values) ; # 1,4,7
$placeholders = rtrim(str_repeat('?, ', count($values)), ', ') ;
$query = "SELECT * FROM table WHERE id IN ($placeholders)";
$stm = $db->prepare($query) ;
$stm->execute($values) ;
Run Code Online (Sandbox Code Playgroud)
但是,我如何混合查询的另一个添加,以便查询如下所示:
$query = "SELECT * FROM table WHERE id IN ($placeholders) AND product=?";
$stm = $db->prepare($query) ;
$stm->execute(array($values,$product)) ; //error happens when adding product placeholder
Run Code Online (Sandbox Code Playgroud)
我认为这会起作用,但我得到:
警告: PDOStatement :: execute()[pdostatement.execute]:SQLSTATE [HY093]:参数号无效:绑定变量数与第3行中的标记数不匹配($ stm行)
知道如何让它按预期运行吗?
UPDATED执行到数组,仍然无法正常工作..
是否可以通过单击"禁用/启用CSS"按钮检测当前页面上的所有样式表,并在第一次单击时禁用它们以便不应用任何样式,然后在第二次单击时再次还原它们?知道jQuery会是什么样子,如果可能的话?
我可以将2个宠物插入表中,并获取它们的lastInsertId()以便一次进行一次处理(2个查询).
我想知道如果我在1个查询中插入2行,是否有办法获取两个lastInsertIds()并将它们分配给变量:
$query = "INSERT INTO pets (pet_name) VALUES (':coco'),(':jojo')";
$pet_insert = $dbh->prepare($query);
$pet_insert->execute(array(':coco' => $coco,':jojo' => $jojo));
$New_PetID = $dbh->lastInsertId();
Run Code Online (Sandbox Code Playgroud)
是否可以为coco和jojo获取lastInsertId()?所以类似于:
$New_PetID1 = $dbh->lastInsertId();//coco
$New_PetID2 = $dbh->lastInsertId();//jojo
Run Code Online (Sandbox Code Playgroud)
这将提供相同的ID,以获得2个ID的任何方式?仅供参考,这是一个try块.
这里是这个问题背后原因的链接: NOW()为DATETIME InnoDB交易保证了吗?
因此,为了确保与任意数量的查询(一个单一的交易20+查询例如)具有100%的准确和一致的NOW()翻过多个表的价值,什么是PHP的方式来分配使用NOW DATETIME的变量相当于()(不是当前的TIMESTAMP).
在单个InnoDB事务中在2+个查询中使用NOW()是否保证插入的datetime值在数据库中是准确的?
换句话说,就是NOW(),即使你在单个事务中有超过20个查询使用它总是会相同,还是会改变?
在Python中,使用此函数(使用东部标准时间(EST)与am/pm,应以3种时间格式输出.中央时间(CT),山地时间(MT)和太平洋时间(PT)都在正确的上午/下午):
def time_in_24h(time,time_day): #time is eastern time
''' (number, str)--> number
This function converts a 12-hour time, represented by am/pm,to its equivalent 24-hour time.
Returns time in the 24-hour format.
'''
cCentral = 'Central Time(CT)' #-1 hour offset
mMountain = 'Mountain Time(MT)'#-2 hours offset
pPacific = 'Pacific Time(PT)'#-3 hours offset
eEst = 'EST is'
if time_day!='pm' and time_day!='am':
print('Input is not in the right format') #this is where input is not in the right format
return 0
else:
print(time, time_day, …Run Code Online (Sandbox Code Playgroud) 所以我想要一个输入字段,我可以在其中输入任何字符,但然后将输入的值小写,删除任何非字母数字字符,留下"." 而不是空格.
例如,如果我输入:
地球是70%的水, - !*#$ ^^&30%LAnd
输出应该是:
earth.is.70.water.30.land
知道如何在不使用jQuery掩盖的情况下完成这项工作吗?
mkdir ("dir1/{dir1-1,dir1-2}",0755,TRUE);
Run Code Online (Sandbox Code Playgroud)
此命令使用名为"{dir1-1,dir1-2}"的单个子文件夹创建文件夹dir1,而不是将dir1-1和dir1-2创建为dir1的两个子文件夹.
任何想法如何从上面的单个mkdir命令工作?
我有一条路径,我试图弹出最后一个 / 之后的所有内容,因此在本例中为“文件夹”,将新路径保留为 C://local/drive/folder/。
我尝试使用 pop() 弹出最后一个 / ,但无法将路径的第一部分作为新路径:
var path = C://local/drive/folder/folder
var newpath = path.split("/").pop();
var newpath = newpath[0]; //should be C://local/drive/folder/
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
如果设备宽度太长,我试图让一个标题符合省略号,因此下面红色的优先级始终可以显示:
以上是它应该是什么样子.它的标题很短,但现在看起来像这样:
我在这里建立了一个工作示例:https://rnplay.org/apps/heKkoQ
尝试一个简短的标题,你会看到它看起来是如何正确,但使用长标题,它不符合优先级.
有人可以使用有效的解决方案吗?
如果我点击数字div,我应该收到警报.如果我单击clicker,则会将一个less类添加到数字div中,之后在数字div上的任何单击都不应显示警报,因为它现在具有较少的类.相反,我仍然得到警报,好像较少的班级不在那里.我究竟做错了什么?
<div id="clicker">Clicker</div>
<div class="numbers">123456789</div>
$('.numbers').not('.less').on('click',function(){
alert('should not alert if has class less after clicker');
});
$('#clicker').on('click',function(){
$('.numbers').addClass('less');
});
Run Code Online (Sandbox Code Playgroud)
感谢帮助人员,我最终得到了这个:
$('body').on('click', '.numbers:not(".less")', function(){
alert('should not alert if has class less after clicker');
});
Run Code Online (Sandbox Code Playgroud) 所以有2个InnoDB表,员工和公司.我使用try/catch块在事务中插入2个查询.然而,当我做出明确的错误在第一个查询(我把一个不正确的表名员工,而不是雇员),数据库不插入的当然是查询中的行,但第二个查询运行,并得到承诺的数据库而不是回滚(因为第一个查询未能插入).
结果是一个emply员工表,但公司表与新记录.我在这里错过了什么?它不应该回滚,因为没有插入第一个查询?
$employee_id = 2;
$employee_name = 'Marky Mark';
try {
$dbh->beginTransaction();
$query = "INSERT INTO employee (employee_name) VALUES (:employee_name)";
$insert_emp = $dbh->prepare($query);
$insert_emp->execute(array(':employee_name' => $employee_name));
$Employee_id = $dbh->lastInsertId();
$query = "INSERT INTO companies (company_name,employee_id) VALUES ('SO',:Employee_id)";
$insert_emp_comp = $dbh->prepare($query);
$insert_emp_comp->execute(array(':Employee_id' => $Employee_id));
$dbh->commit();
} catch (Exception $e) {
$dbh->rollBack();
echo "Failed: " . $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud) mysql ×5
php ×4
innodb ×3
jquery ×3
pdo ×3
transactions ×3
datetime ×2
javascript ×2
alphanumeric ×1
apache ×1
arrays ×1
character ×1
commit ×1
css ×1
flexbox ×1
forms ×1
input ×1
lastinsertid ×1
linux ×1
mkdir ×1
python ×1
react-native ×1
regex ×1
split ×1
stylesheet ×1
trim ×1
warnings ×1