【问题标题】:UPDATE TIME TO SQL DBSQL 数据库的更新时间
【发布时间】:2018-08-20 12:03:39
【问题描述】:

我有带有 contenteditable 的表 td,在单元格 td 中我想以格式更新时间,例如。 1230 而不是 12:30。那么如何在不编辑两个点“:”的情况下设置新时间

这是我的代码:

 <table>
<?php foreach($data as $k => $v){;?>

$id = $v['id_flight'];

 <tr id="<?= $id;?>">
 <td name="arrivalTime" conteneditable="true" onblur="save(this, <?= $id;?>)"> <?= $v['time'];?> </td>

<!-- JQUERY AJAX -->
function save(t, id){
var id = $(t).closest('tr').attr('id')
var text = $(t).text()
var name = $(t).attr('name')

$.ajax({
url : 'DB/ops_update_text.php',
type: 'POST',
data: 'text=' + text + '&id=' + id + '&name=' + name,
success: function(data){
console.log(data)
}
})

<!-- PHP UPDATE -->
$host = '';  // MY DB CONNECTION
$user = '';
$pwd = '';
$dbapt = "";

$conn =  mysqli_connect($host, $user, $pwd, $dbapt);
if(!$conn){
die("Connection failed: " . mysqli_error($conn));
}

$id = $_POST['id'];
$name = $_POST['name'];
$text = $_POST['text'];



 $sql = "UPDATE flights SET $name = '$text' WHERE id_flight=$id";
 if (mysqli_query($conn, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error($conn);
 }

此代码块仅在 td contenteditable 中我输入:12:30 但我只想插入 1230 时才有效。我该怎么做?

请帮忙!!!! 谢了

【问题讨论】:

  • 无关,但您有sql injection的风险
  • 这将是一个准备好的语句,我只测试代码
  • 请您不要使用大写字母(作为标题)并把它们改成小写好吗?这被认为是大喊大叫(对我们)。 @scunja 谢谢
  • foreach($data as $k =&gt; $v){; 该循环将不起作用,因为分号会停止循环。
  • 什么是数据库结构?为什么不现在使用准备好的语句?

标签: php jquery html sql


【解决方案1】:

你可以把字符串解析成你可以使用的东西:

$id = $_POST['id'];
$name = $_POST['name'];
$text = $_POST['text'];

if(($name == "arrivalTime") && (substr($text,2,1) != ":")) {
  $text = substr($text,0,2).":".substr($text,2,2);
}

【讨论】:

  • 这是我的拼写错误,但现在工作正常 :)
猜你喜欢
  • 2015-06-14
  • 2017-09-19
  • 2015-06-22
  • 1970-01-01
  • 2015-09-05
  • 1970-01-01
  • 2017-04-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多