Hjelp med syntaks

6 posts in this topic

Hei

Jeg har denne .php siden for å skrive verdier til databasen, og har ikke klart å finne ut helt rett syntaks for å få det til å virke å skrive inn $totaltid i databasen. Kan noen fortelle meg hva som ville vært korrekt for å få dette til?

Kildekoden er som følger:

<?php 
include 'dbc.php';
page_protect();
include 'messageunreadnumbers.php';
?>
<?php
$con = mysql_connect("localhost","bakkeeqz_data","3330N@trom");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("bakkeeqz_data", $con);

/*
$result = mysql_query("SELECT starttid FROM renndata WHERE id='$_GET[id]' ");
$row = mysql_fetch_array($result));
$starttid = $row['starttid'];
$sluttid = NOW();
$totaltid = TIMEDIFF($sluttid - $starttid);
*/

$event_id = $_GET['id']; 
mysql_query("update renndata set finished='1' , `totaltid`= '$totaltid' , `sluttid` = NOW() where id='$_GET[id]'") or die(mysql_error());

mysql_close($con);
header("Location: rennstartlistelangrennfinish.php");
exit();
?>

Share this post


Link to post
Share on other sites

Hei

Jeg har denne .php siden for å skrive verdier til databasen, og har ikke klart å finne ut helt rett syntaks for å få det til å virke å skrive inn $totaltid i databasen. Kan noen fortelle meg hva som ville vært korrekt for å få dette til?

Kildekoden er som følger:

<?php 
include 'dbc.php';
page_protect();
include 'messageunreadnumbers.php';
?>
<?php
$con = mysql_connect("localhost","bakkeeqz_data","3330N@trom");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("bakkeeqz_data", $con);

/*
$result = mysql_query("SELECT starttid FROM renndata WHERE id='$_GET[id]' ");
$row = mysql_fetch_array($result));
$starttid = $row['starttid'];
$sluttid = NOW();
$totaltid = TIMEDIFF($sluttid - $starttid);
*/

$event_id = $_GET['id']; 
mysql_query("update renndata set finished='1' , `totaltid`= '$totaltid' , `sluttid` = NOW() where id='$_GET[id]'") or die(mysql_error());

mysql_close($con);
header("Location: rennstartlistelangrennfinish.php");
exit();
?>

I koden du limte inn så er det kommentert bort den delen som setter verdi til $totaltid, mulig det bare er en debugging fra din side.

Isåfall får du oppdatert de andre feltene i databasen? 
Prøv å skrive ut $totaltid før du prøver å skrive det inn i databasen, for å se hva den inneholder.

Share this post


Link to post
Share on other sites

Ser at du prøver å bruke NOW(), og TIMEDIFF i php-koden. Dette går IKKE, siden det er mysql funksjoner.

Originalt har du: 

mysql_query("update renndata set finished='1' , `totaltid`= '$totaltid' , `sluttid` = NOW() where id='$_GET[id]'") or die(mysql_error());

Hva om du endrer dette til:

mysql_query("update renndata set finished='1' , `totaltid`= TIMEDIFF($sluttid - $starttid) , `sluttid` = NOW() where id='$_GET[id]'") or die(mysql_error());

Post gjerne et svar om det fungerte eller ikke!  :)

Her kan du lese mer om MYSQL funskjoner knyttet til tid og dato, den gir også gode eksempler: http://www.w3resource.com/mysql/date-and-time-functions/date-and-time-functions.php

Share this post


Link to post
Share on other sites

Hei John

Skjønner at NOW() ikke kan brukes i php-delen. Tingen er den at sluttid verdien ikke er lagret i databasen fra før, bare starttiden. Og grunnen til at jeg trøbler er at jeg har behov for å skrive både sluttid og totaltid til databasen.

Kan det gjøres på denne måten:

mysql_query("update renndata set finished='1' , `totaltid`= TIMEDIFF(NOW() - $starttid) , `sluttid` = NOW() where id='$_GET[id]'") or die(mysql_error());

Share this post


Link to post
Share on other sites

Hei John

Testet akkurat det jeg skrev i forrige post, og det funket ikke :-(

Share this post


Link to post
Share on other sites

Hei John

Skjønner at NOW() ikke kan brukes i php-delen. Tingen er den at sluttid verdien ikke er lagret i databasen fra før, bare starttiden. Og grunnen til at jeg trøbler er at jeg har behov for å skrive både sluttid og totaltid til databasen.

Kan det gjøres på denne måten:

mysql_query("update renndata set finished='1' , `totaltid`= TIMEDIFF(NOW() - $starttid) , `sluttid` = NOW() where id='$_GET[id]'") or die(mysql_error());

Morten:

Du kan nok ikke bruke MySQL TIMEDIFF på den måten, det er en funksjon som skal ha inn to parametre (se: http://www.w3resource.com/mysql/date-and-time-functions/mysql-timediff-function.php). Ta vekk minustegnet ditt og sett inn et komma så vil nok TIMEDIFF fungere.

Forutsetter selvfølgelig at du har riktig format på verdien i variabelen $starttid.

Håper det hjelper :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.