Avatar billede scooterDK Nybegynder
13. april 2010 - 22:24 Der er 10 kommentarer og
1 løsning

hvorfor viser datoen 01-01-1970 i stedet for den dato som er i mon DB ?

Hej

Hvorfor vises datoen 01-01-1970 når jeg kan se den rigtige dato i my sql, og hvis jeg henter datoen såsom : $row['dato']; så henter den i format yyyy,mm,dd men vil gerne have vist dd,mm,yyy

<?php
  $tid = $row['dato'];
?>
Tilføjet d. <?php echo date("d-m-Y", strtotime($tid))?>
<br>

--------------------------------------------------
Feltnavn Datatype Nulværdi Standardværdi
id  int(11) Nej     
dato  date Nej     
overskrift  varchar(150) Nej     
beskrivelse  longtext Nej     
leder  varchar(150) Nej     
oprettet  timestamp Nej  0000-00-00 00:00:00   
aktiv  varchar(1) Nej
13. april 2010 - 22:51 #1
Hvordan ser den forespoergsel ud der leverer $row['dato']?  Jeg bemaerker mig at datoen i tabellen hedder 'oprettet' og ikke 'dato'.
Avatar billede Slettet bruger
13. april 2010 - 22:53 #2
Han har også en kolonne ved navn "dato" af typen "date", vil skyde på det er den han bruger :-)

Men kunne godt tænke mig af vide hvorfor du ikke bare bruger MySQL's DATE_FORMAT()-funktion?
13. april 2010 - 22:54 #3
Det gik vist for staerkt, jeg ser nu at tabellen indeholder en 'dato'.  Ikke desto mindre staar jeg ved mit spoergsmaal:  Hvordan ser koden for forespoergselen ud?
Avatar billede scooterDK Nybegynder
13. april 2010 - 23:06 #4
Christian : her er PHP kode delen.

<?
  $tid = $row['dato'];
  $prside = 10;
                $visfra = isset($_GET['visfra']) ? $_GET["visfra"] : 0;
                $query = mysql_query("SELECT * FROM k_bever WHERE aktiv='1' ORDER BY dato ASC LIMIT $visfra, $prside") or die(mysql_error());



  while ($row = mysql_fetch_array($query)) {
  ?>
  <tr>
    <td width="99" height="20"><span class="style4"><?php echo date("d-m-Y", strtotime($tid))?></span></td>
    <td width="348"><span class="style2"><?php echo $row[overskrift];?></span></td>
    <td width="139"><span class="style2"><?php echo $row[leder];?></span></td>
  </tr>
  <? 
}
?>


Roxki : er stadig meget grøn på dette område, men vil gerne høre mere om mulighederne i at bruge : MySQL's DATE_FORMAT()-funktion?
Avatar billede Slettet bruger
13. april 2010 - 23:26 #5
Din variabel $tid fungerer ikke som du ønsker når du sætter det op på den måde du bruger.
Hvis du derimod flytter den ned i din while() så vil det virke som forventet.

Hvis du gerne vil prøve dig af med MySQL's DATE_FORMAT()-funktion så kan det gøres således:
<?
  $tid = $row['dato'];
  $prside = 10;
                $visfra = isset($_GET['visfra']) ? $_GET["visfra"] : 0;
                $query = mysql_query("SELECT overskrift, leder, DATE_FORMAT(dato, '%d-%m-%Y') as dato FROM k_bever WHERE aktiv='1' ORDER BY dato ASC LIMIT $visfra, $prside") or die(mysql_error());



  while ($row = mysql_fetch_array($query)) {
  ?>
  <tr>
    <td width="99" height="20"><span class="style4"><?php echo $row["dato"])?></span></td>
    <td width="348"><span class="style2"><?php echo $row["overskrift"];?></span></td>
    <td width="139"><span class="style2"><?php echo $row["leder"];?></span></td>
  </tr>
  <?
}
?>


Som en lille ekstra ting, så er det en god idé at sætte quotes rundt om index-delen af et array, da PHP ellers prøver at finde en konstant med det pågældne navn, før den vil læse det som en streng. Har tilføjet quotesne i ovenstående eksempel.
Avatar billede Slettet bruger
13. april 2010 - 23:27 #6
Ups der kom jeg vidst til submitte for hurtigt.
Fik aldrig slettet $tid-variablen og der mangler også et semikolon efter echo $row["dato"])
Avatar billede scooterDK Nybegynder
13. april 2010 - 23:41 #7
roxki, det ser lovende ud, men ved denne rettelse sår jeg en http 500 fejl, med en blank side...

<style type="text/css">
<!--
.style2 {font-family: Arial, Helvetica, sans-serif}
.style4 {font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; }
.style6 {font-family: Arial, Helvetica, sans-serif; font-size: 12; }
-->
</style>

<table width="600" height="46" border="0">
  <tr>
    <td height="20"><span class="style6">Dato</span></td>
    <td><span class="style6">Beskrivelse</span></td>
    <td><span class="style6">Ansvarlig leder</span></td>
  </tr>
  <?
                $prside = 10;
                $visfra = isset($_GET['visfra']) ? $_GET["visfra"] : 0;
                $query = mysql_query("SELECT overskrift, leder, DATE_FORMAT(dato, '%d-%m-%Y') as dato FROM k_bever WHERE aktiv='1' ORDER BY dato ASC LIMIT $visfra, $prside") or die(mysql_error());
                while ($row = mysql_fetch_array($query)) {
  ?>
  <tr>
    <td width="99" height="20"><span class="style4"><?php echo $row["dato"]);?></span></td>
    <td width="348"><span class="style2"><?php echo $row["overskrift"];?></span></td>
    <td width="139"><span class="style2"><?php echo $row["leder"];?></span></td>
  </tr>
  <?
}
?>
</table>
Avatar billede scooterDK Nybegynder
13. april 2010 - 23:53 #8
OK ,mu virker det, der havde sneget sig et  ) ind efter row["dato"];.....  Det ser ud til at dette har løst denne opgave på nuværende tidspunkt, nu vil jeg prøve at lege lidt med variablerne....
Avatar billede Slettet bruger
13. april 2010 - 23:58 #9
Det var godt det virker som det skal! :-)
Jeg ligger denne kommentar som et svar, hvis der ikke var andet.
Avatar billede scooterDK Nybegynder
14. april 2010 - 00:01 #10
Lige et lille tillægs spørgsmål, kan man lave denne funktion omvendt, hvis man vil skrive til DB indtaste dd.mm.yyy og få den til at skrive tildb yyyy.mm.dd ?

har følgende kode dertil p.t. :

<?php

$ida = dato;

if (isset($_POST['updater'])) {
    mysql_query("UPDATE k_bever SET $ida=$_POST[$ida] WHERE id='$idnr'");
}

?>
<form method="post" action="U_k_bever.php">
<input type="hidden" name="data" value="<?php echo $row['id'];?>">
<input type="hidden" name="updater" value="<?php echo $row['id'];?>">
<input type="hidden" name="datanavn" value="<?php echo $ida;?>">
<table width="400" border="0">
  <tr>
    <td width="120">Dato :</td>
    <td width="232"><input type="text" size="30" name="<?php echo $ida;?>" value="<?php echo $row[$ida];?>"></td>
    <td width="60"><input type="submit" name="submit" value="update"></td>
  </tr>
</table>
</form>

------  og U_k_bever.php som ser sådan ud :

<?php

mysql_connect("xxx", "xxx", "xxx") or die(mysql_error());
mysql_select_db("kfum_borkop_dk") or die(mysql_error());

$idnr = $_POST["data"];
$ida = $_POST["datanavn"];

$result = mysql_query("SELECT * FROM k_bever WHERE id=$idnr");
$row = mysql_fetch_array($result);


if (isset($_POST['updater'])) {
    mysql_query("UPDATE k_bever SET $ida='$_POST[$ida]' WHERE id='$idnr'");

}
?>
Avatar billede scooterDK Nybegynder
14. april 2010 - 00:05 #11
Klokken er vist ved at være mange :=)  - denne funktion er vist ikke nødvendig i første afsnit...

if (isset($_POST['updater'])) {
    mysql_query("UPDATE k_bever SET $ida=$_POST[$ida] WHERE id='$idnr'");
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester