Hjelp med syntaks

6 innlegg i emnet

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();
?>

Del dette innlegget


Lenke til innlegg
Del på andre sider

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.

Del dette innlegget


Lenke til innlegg
Del på andre sider

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

Del dette innlegget


Lenke til innlegg
Del på andre sider

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());

Del dette innlegget


Lenke til innlegg
Del på andre sider

Hei John

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

Del dette innlegget


Lenke til innlegg
Del på andre sider

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 :)

Del dette innlegget


Lenke til innlegg
Del på andre sider

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!


Start en konto

Logg inn

Har du allerede en konto? Logg inn her.


Logg inn nå