Puxar variavel datetime de sql e adicionar tempo

Bernardo78

Power Member
Boas malta, surgiu me uma duvida no troço de codigo que estava fazer hoje...

A minha pergunta é o seguinte:

Na minha aplicação eu possso selecionar de uma tabela uma entrada DATETIME para lhe adicionar tempo (A função é estender o tempo de duraçao da auction).

Tenho o ficheiro php em baixo para mostrar o que tenciono fazer .


include("db.php");//Establishing connection with our database


$error ="";//Variable for storing our errors.
$datesql ="";
if(isset($_POST["changeitems"]))
{
$item_id = $_POST['enterid'];
$info = $_POST["picked"];
$datesql ="SELECT data_fim FROM artigos WHERE item_id='$item_id'";
$datequery = mysqli_query($db,$datesql)ordie(mysqli_error());
$row = mysqli_fetch_assoc($datequery);
$data_a_actualizar = $row[data_fim];

if($_POST["taskOption"]=="pname"){
$sql ="UPDATE artigos SET designacao='$info' WHERE item_id='$item_id'";
$query = mysqli_query($db,$sql);
}
elseif ($_POST["taskOption"]=="bvalue"){
$sql ="UPDATE artigos SET valor_base='$info' WHERE item_id='$item_id'";
$query = mysqli_query($db,$sql);
}
elseif ($_POST["taskOption"]=="pdescription"){
$sql ="UPDATE artigos SET descricao='$info' WHERE item_id='$item_id'";
$query = mysqli_query($db,$sql);
}
elseif ($_POST["taskOption"]=="duracao"){
switch($info){
case"12":
$data_a_actualizar = strtotime($data_a_actualizar);
$data_a_actualizar = date_modify($data_a_actualizar,"+12 hours");
$data_a_actualizar= date_format($data_a_actualizar,"Y-m-d H:i:s");

$sql ="UPDATE artigos SET data_fim='$data_a_actualizar' WHERE item_id='$item_id'";
$query = mysqli_query($db,$sql);
break;
case"24":
$dataquery = date($dataquery, strtotime('+24 hours'));
$sql ="UPDATE artigos SET data_fim='$dataquery' WHERE item_id='$item_id'";
$query = mysqli_query($db,$sql);
break;
case"48":
$dataquery = date($dataquery, strtotime('+48 hours'));
$sql ="UPDATE artigos SET data_fim='$dataquery' WHERE item_id='$item_id'";
$query = mysqli_query($db,$sql);
break;
}
}
}

So ando a tentar fazer alteraçoes por agora ao caso das 12horas, mas das formas que ja tentei o resultado é sempre o mesmo : se eu tentar proceder a extensão da data com mais 12 horas, ele insere novamente na DB simplesmente "0000-00-00 00:00:00". Eu não estou a conseguir desvendar o problema
 
Copias te o código todo?
É porque:
PHP:
$dataquery = date($dataquery, strtotime('+24 hours'));

dataquery não existe
 
Back
Topo