Beste allemaal,

In mijn agenda scriptje heb ik een mogelijkheid om records nadien aan te passen.
Het script plaatst alle waarden terug in aparte invoervelden van het forfmulier.
Voorheen werkte ik met twee aparte databasevelden (date en time)voor datum en tijd waarbij de code om de gegevens uit de database te halen de volgende waren:

list($jaar, $maand, $dag) = explode('-', $row[1]);
list($uur, $min) = explode(':', $row[2]);

Op aanraden van jullie ben ik overgestapt naar een datetime veld waar dus de datum en de tijd samen staan opgeslagen, maar ik krijg het nu niet meer netjes uit de database in de juiste invoervelden van het formulier waarbij opgemerkt dat het db veld "datum" heet en nog steeds row1 is.
Kan iemand mij vertellen hoe het wel moet, met googelen kom ik er niet uit.

met vriendelijke groet,

Peter Arendse
Okay, dat is de volgende stap dan.
Bedankt voor jullie hulp, ik maak even een nieuwe topic over het invoeren van de datum en de tijd die eerst in aparte DATE en TIME velden werden ingevoerd, maar nu dus in 1 DATETIME veld dienen ingevoerd te worden.
Tot in de nieuwe topic en nogmaals bedankt
Codevoorbeeld (uit mijn hoofd, niet getest dus):
<?php
$sql = "
SELECT
YEAR(datum) AS jaar,
MONTH(datum) AS maand,
DAYOFMONTH(datum) AS dag,
HOUR(datum) AS uur,
MINUTE(datum) AS minuut,
nacht,
soort,
rit,
user
FROM werk
WHERE id = $upid";
if ($res=mysql_db_query("$db","$sql",$mysql_id)) {
while ($row = mysql_fetch_assoc($res)) {
list($van, $naar, $naam, $aantal, $bedrag, $telefoonnummer, $vluchtnummer, $opmerking) = explode('-', $row['rit']);
$sql = "
INSERT INTO nieuwe_tabel
(
datum,
van,
naar,
naam,
.... enzovoort
)
VALUES
(
'" . $row['datum'] . "',
'" . $row['van'] . "',
'" . $row['naar'] . "',
'" . $row['naam'] . "',
.... enzovoort
)
";
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
else {
trigger_error (mysql_error ());
}
}
?>
Waarom hier niet gewoon verder??
Overigens pak een datepicker of een dropdown systeem (liefst combi van die 2--- klikken op reserveren--) en je bent van je dataprobleem ad
@Klaasjan: ik krijg daar niet direct een foutmelding als ik 31 november 2007 invul. Belangrijk is natuurlijk nog wel dat er gecontroleerd wordt of de datum wel geldig is!
Goed ja, we gaan hier verder, ik heb een date-picker en ik weet dat er ook een combi van was, maar ik heb geen idee waar ik hem toen vandaan had.
Ik ga wel ff zoeken, meestal laten ze wel iets in hun script achter waar abraham de mosterd haalt.
Nou, een goede gecombineerde kan ik niet vinden, maar de oude werkt prima.
Ik verstuurde de gegevens, toen ik nog twee aparte velden had voor datum en tijd zoals hier onder.

if(isset($_POST[updaten])) {
$datum=$_POST[datum];
$tijd=$_POST[tijd];
$nacht=$_POST[nacht];
$soort=$_POST[soort];
$rit=$_POST[rit];
$upid=$_POST[upid];
$dag =  $_POST['dag']; 
$maand =  $_POST['maand'];
$jaar =  $_POST['jaar'];
$datum = $jaar .'-'. $maand .'-'. $dag;
$uur = $_POST['uur'];
$min = $_POST['min'];
$tijd = $uur .':'. $min;
$van = $_POST['van'];
$naar = $_POST['naar'];
$naam = $_POST['naam'];
$aantal = $_POST['aantal'];
$bedrag = $_POST['bedrag'];
$telefoonnummer = $_POST['telefoonnummer'];
$vluchtnummer = $_POST['vluchtnummer'];
$opmerking = $_POST['opmerking'];
$rit= $van .'-' . $naar .'-'. $naam .'-'. $aantal .'-'. $bedrag .'-'. $telefoonnummer .'-'. $vluchtnummer .'-'. $opmerking;


Maar hoe doe ik dat nu met 1 datetimeveld, dan moet ik de tijd en de datum op 1 of andere manier samenvoegen?
Ja, zo:

<?php
	$datumtijd = sprintf (
		'%02d-%02d-%02d %02d:%02d:00',
		$_POST['jaar'],
		$_POST['maand'],
		$_POST['dag'],
		$_POST['uur'],
		$_POST['minuut']
		);
?>

p.s. had je nog wat aan mijn vorige codevoorbeeld? Daar heb ik je helemaal niet meer over gehoord.
Ah jan, nog hartelijk dank voor je moeite, ik heb het hier opgeslagen en ga het vanavond proberen.
Moest tussen door even de hond uitlaten e.d.
Ik hoor vandaag eigenlijk op de weg te zitten maar door dat het rustig was kan ik van uit huis aan het script werken, vandaar.
Allemaal aparte velden voor iedere invoer is best beter denk ik ook, het andere idee was ontstaan naar voorbeeld van de agenda in outlook.
Daar werkten we vroeger mee, maar omdat het delen van outlookmappen nog wel eens mis liep ben ik zelf maar begonnen met iets te ontwikkelen.
En met hulp van jullie lukt het aardig, we draaien al enige tijd met een proefversie maar er kan nog genoeg aan verbeterd worden, vandaar al die vragen van mij.
Ik houd je op de hoogte
Oeps jan, dit werkt niet!

if(isset($_POST[updaten])) {
$datum= sprintf (
        '%02d-%02d-%02d %02d:%02d:00',
        $_POST['jaar'],
        $_POST['maand'],
        $_POST['dag'],
        $_POST['uur'],
        $_POST['min']
        );
$nacht=$_POST[nacht];
$soort=$_POST[soort];
$rit=$_POST[rit];
$upid=$_POST[upid];
$dag =  $_POST['dag']; 
$maand =  $_POST['maand'];
$jaar =  $_POST['jaar'];
$datum = $jaar .'-'. $maand .'-'. $dag;
$uur = $_POST['uur'];
$min = $_POST['min'];
$van = $_POST['van'];
$naar = $_POST['naar'];
$naam = $_POST['naam'];
$aantal = $_POST['aantal'];
$bedrag = $_POST['bedrag'];
$telefoonnummer = $_POST['telefoonnummer'];
$vluchtnummer = $_POST['vluchtnummer'];
$opmerking = $_POST['opmerking'];
$rit= $van .'-' . $naar .'-'. $naam .'-'. $aantal .'-'. $bedrag .'-'. $telefoonnummer .'-'. $vluchtnummer .'-'. $opmerking;
Dat is logisch. In regel 2 geef je $datum een waarde met mijn voorbeeld. In regel 17 geef je hem weer een andere waarde.

Reageren