Ik ben op zoek naar de beste oplossing om de weergave van datums die werden opgevraagd uit een database weer te geven met een dag vermeld voor de datum.
Ben nieuw in 'php' en 'mysql', maar momenteel lukt alles met onderstaande code:
1) Code voor ophalen van alle data en het in een array verkijgen.
public function getOptredenLijst()
{
$lijst = array();
$sql = "select * from tbloptredens where optredendatum between CURRENT_DATE and '2018-12-12' order by optredendatum";
$dbh = new PDO($this->dbConn, $this->dbUsername, $this->dbPassword);
$resultSet = $dbh->query($sql);
echo("<tr><td>".date("D d m y",$x->optredenDatum)."</td><td>".$x->optredenStad."</td><td>".$x->optredenZaal."</td><td>".$x->optredenUur."</td><td>".$x->optredenShow."</td><td><a href='".$x->optredenWebsite."' target='_blank'> visit</a></td><td>".$x->optredenTelefoon."</td><td>".$x->optredenTickets."</td></tr>");
}
?>
Zoals je kan zien heb ik de code toegevoegd van Beirensg, maar dat geeft niet het gewenste resultaat: Alle datums krijgen dezelfde datum met dag: Thu 01 01 70.
Moet ik die code ergens anders toevoegen?
Moet de code vroeger worden toegevoegd?
$date_year=substr($date,0,4);
$date_month=substr($date,5,2);
$date_day=substr($date,8,2);
$date=date("D d m Y", mktime(0,0,0,$date_day,$date_month,$date_year));
echo $date;
Warning: mktime() expects parameter 6 to be long, string given in C:\xampp\htdocs\dag05\optredenlijst.class.php on line 28
Heb de code eerst proberen toe te voegen in de code die de tabel weergeeft.
Resultaat: foutmelding zoals hierboven.
En vervolgens in de code die de informatie uit de database ophaalt en in een array/lijst stopt.
Maar ook hier zelfde foutmelding.
Sorry Rickvanhout, maar ik ben een groentje
Ik probeer verder te zoeken en ga de link eens na ivm formats.
public function getOptredenLijst()
{
$lijst = array();
$sql = "select * from tbloptredens where optredendatum between CURRENT_DATE and '2018-12-12' order by optredendatum";
$dbh = new PDO($this->dbConn, $this->dbUsername, $this->dbPassword);
$resultSet = $dbh->query($sql);
foreach ($resultSet as $rij)
{
$date_year=substr($optredenDatum,0,4);
$date_month=substr($optredenDatum,5,2);
$date_day=substr($optredenDatum,8,2);
$optredenDatum=date("D d m Y", mktime(0,0,0,$date_day,$date_month,$date_year));
$optreden = new Optreden($rij["optredenID"], $rij["optredendatum"], $rij["optredenstad"], $rij["optredenzaal"], $rij["optredenuur"], $rij["optredenshow"], $rij["optredenwebsite"], $rij["optredentelefoon"], $rij["optredentickets"]);
array_push($lijst, $optreden);
}
$dbh = null;
return $lijst;
}
Lukt niet Rick, heb ook geprobeerd jouw code aan te passen, want de echo gebeurt samen met nog andere berichten. Doch code voor mij nog te moeilijk om te verstaan en/of aan te passen.
Momenteel heb ik reeds een aanpassing gedaan in de code zodat de datum wordt opgeroepen alvorens de echo-voor-aanmaak-tabel wordt gestart.
Kwestie van met één enkele variabele ($dagDatum) de juiste datum(met dag) kan worden weergegeven.
En dat op die variabele ik de format kan toepassen zodat hij van deze weergave: 2011-01-15 naar deze weergave kan gaan: sat 15-01-2011.
Met deze kleine verandering, worden de data nog steeds weergeven in de tabel (yyyy-mm-dd). En is is er in de code een nieuwe variabele $dagdatum waarop ik de format kan uitvoeren voor verandering van weergave (dag dd-mm-yyyy).
Is mij gelukt!
Maar helaas niet met uw code RickVanHout. En dat zal wel volledig aan mijn gepruts liggen.
Dus toch bedankt voor de poging om te helpen.
@Vintage: uw code leek beter te passen in het stadium/de code waar ik nu reeds was.
Heb je functie bovenaan mijn pagina toegevoegd en dan in de echo-voor-de-aanmaak-tabel ze toegepast op mijn variabele