7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)
  • Q:
    Bijdrager
    The JM

    Tijd in php

    Ik wil de tijd van een bericht die uit een database wordt gehaald 24-uurs hebben met voorloop-nullen. Dit doe ik met $at = date(‘H:i’, strtotime($row[‘date’]));.
    Maar bij mij wordt ie zo weergegeven: vrijdag 26 september 2008, 04:06.

    Hoe krijg ik dit goed?

    Bijdrager
    spelbook

    Het lijkt er op dat ie de tijd wel netjes afdrukt, maar ook nog de hele datum er voor. Vaag hoor.

    Heb je hier http://nl.php.net/manual/en/function.date.php nog iets kunnen vinden?

    Ik lees wel dit:

    Some examples of date() formatting. Note that you should escape any other characters, as any which currently have a special meaning will produce undesirable results, and other characters may be assigned meaning in future PHP versions. When escaping, be sure to use single quotes to prevent characters like n from becoming newlines.

    misschien dat ie het zo wel goed doet:

    [code:1:fb42d7096e]
    $at = date(’H:i’, strtotime($row[’date’]));
    [/code:1:fb42d7096e]

    Hmm net geprobeerd maar bij mij doet ie het gewoon goed in beide gevallen.

    Bijdrager
    The JM

    De datum wordt geprint adhv een variabele $on, de tijd door $at.
    Dus het resultaat wat je ziet is $on, $at. De datum wordt geprint zoals ik wil, maar de tijd met 16:00 zijn en niet 04:00.

    Bijdrager
    spelbook

    Oh ik had je vraag niet goed begrepen kennelijk…

    Wat is het resultaat van $row[‘date’]) en van strtotime($row[‘date’])) ?
    Staat de datum/tijd wel goed in de database?

    Bijdrager
    The JM

    Nou kijk, ik print de datum en tijd precies zo:

    [code:1:15fdbeeab1]$on = date(’l j M Y’, strtotime($row[’date’]));

    $maand[’Jan’]="januari";
    $maand[’Feb’]="februari";
    $maand[’Mar’]="maart";
    $maand[’Apr’]="april";
    $maand[’May’]="mei";
    $maand[’Jun’]="juni";
    $maand[’Jul’]="juli";
    $maand[’Aug’]="augustus";
    $maand[’Sep’]="september";
    $maand[’Oct’]="oktober";
    $maand[’Nov’]="november";
    $maand[’Dec’]="december";

    foreach($maand as $k=>$v){
    $on=str_replace($k, $v, $on);
    }

    $dag[’Monday’]="maandag";
    $dag[’Tuesday’]="dinsdag";
    $dag[’Wednesday’]="woensdag";
    $dag[’Thursday’]="donerdag";
    $dag[’Friday’]="vrijdag";
    $dag[’Saturday’]="zaterdag";
    $dag[’Sunday’]="zondag";

    foreach($dag as $k=>$v){
    $on=str_replace($k, $v, $on);
    }

    $at = date(’H:i’, strtotime($row[’date’]));

    ————————————————————

    echo "$on, $at"[/code:1:15fdbeeab1]

    En dan krijg ik als resultaat vrijdag 26 september 2008, 04:06, wat eigenlijk vrijdag 26 september 2008, 16:06 zou moeten zijn. Dus ik denk dat de tijd in de database verkeerd staat.

    Zo voeg ik een bericht toe dat de datum bevat:

    [code:1:15fdbeeab1]//
    // Artikel toevoegen
    //
    if ($get == "article"){

    echo "<h2>Artikel toevoegen</h2>";
    echo "<form action="process.php?q=article" method="post">";
    echo "<p><strong>Auteur:</strong><br />";
    echo "<input name="name" type="text" maxlength="30" class="textfield" /></p>";
    echo "<p><strong>Titel:</strong><br />";
    echo "<input name="title" type="text" maxlength="40" class="textfield" /></p>";

    // Verbinding maken
    include("../settings.php");
    $conn = mysql_connect($server, $user, $pass);
    if (!$conn) die ("Couldn’t connect to the database");
    mysql_select_db($db, $conn) or die (mysql_error());

    $query = "SELECT * FROM categories ORDER BY id ASC";
    $result = mysql_query($query);
    $numrows = mysql_num_rows($result);

    echo "<p><strong>Categorie:</strong><br />";
    echo "<select name="category" style="border:1px solid #cccccc;">";

    // Laat resultaten zien
    if (!$numrows == ""){
    while ($row = mysql_fetch_array($result)){
    $id = $row[’id’];
    $name = htmlentities($row[’name’]);
    echo "<option value="$id">$name</option>";
    }
    }
    // Leeg?
    else {
    echo "<option value="">Er zijn nog geen categori&euml;n</option>";
    }

    echo "</select></p>";
    ?>
    <div style="background:#f0f0f0;padding:6px;width:382px;margin-bottom:4px;">
    <select onclick="Colour(value)" style="border:1px solid #cccccc;">
    <option selected="selected">Verander de kleur</option>
    <?php
    $string = array ("OrangeRed","Red","Crimson","Maroon",
    "Aqua","Blue","Navy",
    "Black",
    "GoldenRod","Orange","Darkorange",
    "GreenYellow","YellowGreen","Green","DarkGreen ",
    "Yellow","Gold",
    "MediumOrchid","Purple","MediumVioletRed",
    "Pink","DeepPink",
    "Lavender","LightGray","Grey","LightSlateGray");
    $count = count($string);
    for ($i = 0; $i < $count; $i = $i + 1) {
    echo "<option style="color:$string[$i];" value="$string[$i]">";
    echo $string[$i];
    echo "</option>";
    }
    ?>
    </select>
    <input type="button" onclick="Format(’bold’)" class="boldbutton" />
    <input type="button" onclick="Format(’italic’)" class="ibutton" />
    <input type="button" onclick="Format(’Underline’)" class="ubutton" />
    <input type="button" onclick="Format(’justifyleft’)" class="lbutton" />
    <input type="button" onclick="Format(’justifycenter’)" class="cbutton" />
    <input type="button" onclick="Format(’justifyright’)" class="rbutton" />
    <input type="button" onclick="Link()" class="linkbutton" />
    <input type="button" onclick="Unlink()" class="ulinkbutton" />
    <input type="button" onclick="Image(’InsertImage’)" class="imgbutton" /><br />
    <iframe id="textbox" style="width:380px;height:150px;background:#ffffff;border:1px solid #e5e5e5;"></iframe><br/>
    <input type="hidden" id="text" name="text" />
    </div>

    <?php
    echo "<input name="reset" type="reset" value="Wissen" class="submit" />";
    echo " <input name="submit" type="submit" value="Artikel toevoegen" class="submit" />";
    echo "</form>";
    }[/code:1:15fdbeeab1]

    Edit:

    Reacties worden zo toegevoegd:

    [code:1:15fdbeeab1]<?php

    // Verbinding maken
    include("../settings.php");

    $conn = mysql_connect($server, $user, $pass);
    if (!$conn) die ("Couldn’t connect to the database");
    mysql_select_db($db, $conn) or die (mysql_error());

    // Data van het form
    $article_id = ($_POST[’article_id’]);
    $name = mysql_real_escape_string($_POST[’name’]);
    $website = mysql_real_escape_string($_POST[’website’]);
    $email = mysql_real_escape_string($_POST[’email’]);
    $comment = mysql_real_escape_string($_POST[’comment’]);
    $date = date("Y-m-d h:i:s");
    $ip = $_SERVER["REMOTE_ADDR"];

    // Controleren of alles is ingevuld
    if ($name == ""){
    echo "<div style=’margin:0 auto;width:200px;text-align:center;’>
    <img src=’../images/caution.gif’ alt=’caution’ /><br />
    <p>Je bent vergeten je naam in te vullen!</p>
    <p><a href=’javascript: history.go(-1)’ style=’color:#f7941d;’>Klik hier</a> om terug te gaan..</p>
    </div>";
    }
    elseif ($comment == ""){
    echo "<div style=’margin:0 auto;width:200px;text-align:center;’>
    <img src=’../images/caution.gif’ alt=’caution’ /><br />
    <p>Je bent vergeten een reactie te typen!</p>
    <p><a href=’javascript: history.go(-1)’ style=’color:#f7941d;’>Klikk hier</a> om terug te gaan..</p>
    </div>";
    }
    else{
    $query = "INSERT INTO comments (article_id,name,website,email,comment,date,ip) VALUES (’$article_id’,’$name’,’$website’,’$email’,’$comment’,’$date’,’$ip’)";
    $result = mysql_query($query) or die ("Error = ".mysql_error()."");

    header("location: ../includes/ok2.php");

    }

    mysql_close($conn);

    ?>[/code:1:15fdbeeab1]

    Bijdrager
    spelbook

    Ik zie de fout waarschijnlijk al;-)
    Kijk eens goed naar hoe je de datum van het bericht in de database zet :P

    Bijdrager
    The JM

    Maar natuurlijk..Logisch. Ik hoop dat het opgelost is, ik kan het niet testen want ik kan in 1x geen artikel meer schrijven? Zelfs met de vorige versie (van het ‘artikel-toevoegen-stukje’) niet..Dus het ligt ergens anders aan denk ik.

7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.