CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
15.12.2007, 14:13:31
|
Anfänger
|
|
Registriert seit: Dec 2007
Beiträge: 4
|
|
Datum in Datenbank Schreiben
Hallo ich bin noch blutiger Anfänger was Mysql angeht ich habe nach meinem Problem bereits im Internet gesucht doch leider nichts gefunden.
Zu meinem Problem.
Ich möchte eine Termin anzeige programmieren mit einem kleinen admin bereich wo man folgende daten eingeben kann:
1.Tag der veranstaltung zb Montag (als text)
2.Datum zb 13.12.2007
3.Name der veranstaltung zb Konzert)
4.Ort zb Berlin (als text)
Mein problem liegt beim Datum in die Datenbank schrieben. Wie ich bereits gelesen habe muss man datums formate irgend wie formatieren doch leider konnte ich im internet nichts finden.
Das ist sind die wichtigen stellen im quellcode:
<tr>
<th><label for="tag">Tag</label><br /><input id="tag" type="text" name="tag" tabindex="1" /></th>
<th><label for="date">Datum</label><br /><input id="date" type="int" name="date" tabindex="1" /></th>
<th><label for="veranstaltung">Veranstaltung</label><br /><input id="veranstaltung" type="text" name="veranstaltung" tabindex="1" /></th>
<th><label for="tag">Ort</label><br /><input id="ort" type="ort" name="ort" tabindex="1" /></th>
</tr>
case 'add_entry':
$sql = mysql_query("INSERT INTO ".$prefix."faq
(id, veranstaltung, date, tag, ort, author, timestamp)
VALUES
(''
, '".trim(strip_tags(htmlentities($_POST['veranstaltung'])))."' , '".trim(strip_tags(htmlentities($_POST['date'])))."' , '".trim(strip_tags(htmlentities($_POST['tag'])))."' , '".trim(strip_tags(htmlentities($_POST['ort'])))."'
, '".$_SESSION['loginname']."', '".time()."') ") or die(mysql_error());
if ($sql) echo '<p>Eintrag wurde erfolgreich in die Datenbank aufgenommen</p>';
break;
so schreibt er im moment immer 00000000000000 in die Datenbank.
Kann mir jemand sagen wie der quelltext aussehen muss um ein datum in die datenbank zu schrieben ich weiß auch nicht genau welchen type ich verweden soll Timestamp oder Date
wäre euch dankbar wenn ich das Problem endlich gelöst bekommen würde.
Mfg.
|
15.12.2007, 15:25:08
|
Member
|
|
Registriert seit: Feb 2006
Beiträge: 883
|
|
AW: Datum in Datenbank Schreiben
Einen type="int" für ein Inputfeld kenne ich nicht. Nimm mal "text". Am besten du machst drei Felder (für Tag, Monat, Jahr) und setzt die in PHP zusammen (mit mktime und date). Dann schreibst du das im Format "Y-m-d" in die Datenbank (dieses Feld muss die Eigenschaft "date" besitzen. Damit kannst du auch mit diesen Datumswerten rechnen.
|
15.12.2007, 15:35:00
|
Anfänger
|
|
Registriert seit: Dec 2007
Beiträge: 4
|
|
AW: Datum in Datenbank Schreiben
also das mit dem type stimmt da hab ich rumexperimentiert was passiert wenn man dann fehler macht ich habs dann nur nicht wieder geändert aber das ist klar.
könntest mir den code posten wie gesagt ich bin anfänger :)
mfg.
|
17.12.2007, 22:39:22
|
Member
|
|
Registriert seit: Feb 2006
Beiträge: 883
|
|
AW: Datum in Datenbank Schreiben
Die Variablen für Tag, Monat und Jahr kommen per POST aus den 3 Input-Feldern (das weißt du ja, wie das geht). Das setzt du dann so zusammen:
PHP-Code:
$datum = date("Y-m-d", mktime(0,0,0,$monat,$tag,$jahr));
Eintrag in DB:
PHP-Code:
mysql_query ("INSERT INTO tabelle (datum) VALUES ('$datum');");
Das Datenbankfeld datum muss den Typ date haben.
|
18.12.2007, 02:36:36
|
Anfänger
|
|
Registriert seit: Dec 2007
Beiträge: 4
|
|
AW: Datum in Datenbank Schreiben
tut immer noch nicht :(
jetzt sieht das so aus:
PHP-Code:
<th><label for="date">Datum</label><br /><input id="date" type="int" name="date" tabindex="1" /></th>
case 'add_entry':
[B]$datum = date("Y-m-d", mktime(0,0,0,$monat,$tag,$jahr));[/B]
$sql = mysql_query("INSERT INTO ".$prefix."faq
(id, veranstaltung, date, tag, ort, author, timestamp)
VALUES
[B]('$datum');[/B]
('' , '".trim(strip_tags(htmlentities($_POST['veranstaltung'])))."' , '".trim(strip_tags(htmlentities($_POST['tag'])))."' , '".trim(strip_tags(htmlentities($_POST['ort'])))."'
, '".$_SESSION['loginname']."', '".time()."') ") or die(mysql_error());
if ($sql) echo '<p>Eintrag wurde erfolgreich in die Datenbank aufgenommen</p>';
break;
Geändert von Sleepy (18.12.2007 um 02:41:10 Uhr)
|
18.12.2007, 09:40:58
|
Member
|
|
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
|
|
AW: Datum in Datenbank Schreiben
auch auf die gefahr hin, hier unmut zu erneten, ich würde das ganze mit time() machen. damit kann man alles (inkl uhrzeit) rechnen und man speichert eine zahl in die datenbank, das sollte ja kein problem sein.
time()
|
18.12.2007, 11:09:30
|
Senior Member
|
|
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
|
|
AW: Datum in Datenbank Schreiben
Zitat:
Zitat von Sleepy
tut immer noch nicht :(
|
Da ist ja auch immer noch <input type="int" drin. Wo sollen denn Deiner Meinung nach $monat, $tag und $jahr herkommen?
__________________
Wat der Bauer nich kennt, dit frisster nich.
|
18.12.2007, 12:10:35
|
Anfänger
|
|
Registriert seit: Dec 2007
Beiträge: 4
|
|
AW: Datum in Datenbank Schreiben
Ich weiß nicht :) wie gesagt ich bin noch anfänger.
so siehts jetzt komplett aus:
PHP-Code:
<a href="admin.php" title="test">admin</a>
<a href="eintragen.php" title="test">Eintragen</a>
<br>
<?
if ($_GET['do'] == 'logout') {
session_destroy();
session_unset();
echo '<meta http-equiv="refresh" content="0; url=index.php" />';
}
?>
<table border="1">
<tr>
<th>
<table border="1">
<tr>
<th><a href="<? echo $_SERVER['PHP_SELF']; ?>?action=add&SID=<? echo $sid; ?>" title="Neuen Eintrag hinzufügen">Neuer Eintrag</a></th>
</tr>
<tr>
<td><a href="<? echo $_SERVER['PHP_SELF']; ?>?action=edit&SID=<? echo $sid; ?>" title="Eintrag bearbeiten">Eintrag bearbeiten</a></td>
</tr>
<tr>
<td><a href="<? echo $_SERVER['PHP_SELF']; ?>?action=delete&SID=<? echo $sid; ?>" title="Eintrag löschen">Eintrag löschen</a></td>
</tr>
</table>
</th>
<th>
<?
require ('conf.php');
mysql_connect($host, $user, $pass);
mysql_select_db($db);
switch ($_GET['action']) {
case 'add':
?>
<h3>Admin Bereich</h3>
<p>Trage hier Titel und Inhalt ein.</p>
<form name="add" action="<? echo $_SERVER['PHP_SELF']; ?>?action=add_entry&SID=<? echo $sid; ?>" method="post">
<div class="form">
<table border="1">
<tr>
<th><label for="tag">Tag</label><br /><input id="tag" type="text" name="tag" tabindex="1" /></th>
<th><label for="date">Datum</label><br /><input id="date" type="text" name="date" tabindex="1" /></th>
<th><label for="veranstaltung">Veranstaltung</label><br /><input id="veranstaltung" type="text" name="veranstaltung" tabindex="1" /></th>
<th><label for="tag">Ort</label><br /><input id="ort" type="ort" name="ort" tabindex="1" /></th>
</tr>
</table>
</div>
<input id="submit" type="submit" name="submit_add" value="FAQ anlegen" tabindex="1" />
</form>
<?
break;
case 'add_entry':
$datum = date("Y-m-d", mktime(0,0,0,$monat,$tag,$jahr));
$sql = mysql_query("INSERT INTO ".$prefix."faq
(id, veranstaltung, date, tag, ort, author, timestamp)
VALUES ('$datum');
(''
, '".trim(strip_tags(htmlentities($_POST['veranstaltung'])))."'
, '".trim(strip_tags(htmlentities($_POST['date'])))."'
, '".trim(strip_tags(htmlentities($_POST['tag'])))."'
, '".trim(strip_tags(htmlentities($_POST['ort'])))."'
, '".$_SESSION['loginname']."', '".time()."') ") or die(mysql_error());
if ($sql) echo '<p>Eintrag wurde erfolgreich in die Datenbank aufgenommen</p>';
break;
case 'edit':
if ($_GET['id']) {
$sql = mysql_query("SELECT vorname, content FROM ".$prefix."faq WHERE id = '".$_GET['id']."'") or die(mysql_error());
$row = mysql_fetch_object($sql);
?>
<form action="<? echo $_SERVER['PHP_SELF']; ?>?action=edit_entry&SID=<? echo $sid; ?>" method="post">
<div class="form">
<label for="Eintrag">Titel:</label><br /><input id="Eintrag" type="text" name="vorname" value="<? echo $row->title; ?>" tabindex="1" /><br />
<label for="Inhalt">Inhalt:</label><br /><textarea id="Inhalt" name="content" rows="5" cols="35" tabindex="2"><? echo $row->content; ?></textarea>
</div>
<input type="submit" name="submit" value="bearbeiten" tabindex="3" />
<input type="hidden" name="id" value="<? echo $_GET['id']; ?>" />
</form>
<?
} else {
?>
<h3>F.A.Q. Eintrag bearbeiten</h3>
<p>Tippfehler entdeckt? ...</p>
<div class="form">
<?
$get = mysql_query("SELECT id, title FROM ".$prefix."faq") or die(mysql_error());
while ($row = mysql_fetch_object($get)) {
echo ' Eintrag: <a href="'.$_SERVER['PHP_SELF'].'?action=edit&id='.$row->id.'&SID='.$sid.'" title="Hier klicken um den Eintrag zu ändern">'.$row->title.'</a><br />';
}
?>
</div>
<?
}
break;
case 'edit_entry':
if (isset($_POST['submit'])) {
$sql = mysql_query("UPDATE ".$prefix."faq
SET
title = '".strip_tags(trim(htmlentities($_POST['title'])))."',
content = '".strip_tags(trim(htmlentities($_POST['content'])))."',
author = '".$_SESSION['loginname']."',
timestamp = '".time()."'
WHERE
id = '".$_POST['id']."'") or die(mysql_error());
if ($sql) echo '<p>Der F.A.Q. Eintrag wurde erfolgreich geändert.</p>';
}
break;
case 'delete':
?>
<h3>F.A.Q. Eintrag löschen</h3>
<p>Um einen Eintrag zu entfernen, bitte auf den jeweiligen Link klicken.</p>
<div class="form">
<?
$get = mysql_query("SELECT id, veranstaltung, tag,ort FROM ".$prefix."faq") or die(mysql_error());
while ($row = mysql_fetch_object($get)) {
$_SESSION['veranstaltung'] = $row->veranstaltung;
echo '<label>F.A.Q.:</label><a href="'.$_SERVER['PHP_SELF'].'?action=delete_entry&id='.$row->id.'&SID='.$sid.'" title="Hier klicken um diesen Eintrag zu entfernen">'.$row->veranstaltung.'</a><br />';
}
?>
</div>
<?
break;
case 'delete_entry':
if ($_GET['id']) {
$sql = mysql_query("DELETE FROM ".$prefix."faq WHERE id = '".$_GET['id']."'") or die(mysql_error());
if ($sql) echo 'Eintrag »<strong>'.$_SESSION['title'].'</strong>« wurder erfolgreich aus der Datenbank entfernt';
}
break;
}
?>
</th>
</tr>
</table>
<?
$sql = mysql_query("SELECT veranstaltung, tag, date, ort FROM ".$prefix."faq") or die(mysql_error());
while ($row = mysql_fetch_array($sql)) {
echo "<table>";
echo "<tr><td>Tag</td><td>Datum</td><td>Veranstaltung</td><td>Ort</td></tr>";
echo "<tr><td>" . $row['tag'] . "</td><td>" . $row['date'] . "</td><td>" . $row['veranstaltung'] . "</td><td>" . $row['ort'] . "</td></tr>";
echo "</table>"
;#
}
?>
</body>
</html>
|
18.12.2007, 22:28:32
|
Member
|
|
Registriert seit: Feb 2006
Beiträge: 883
|
|
AW: Datum in Datenbank Schreiben
@sysop
Kannst auch mit dem Timestamp arbeiten. Bei Datumsvergleichen musst du aber dann immer durch 86400 Sek. dividieren. Das kann auch zu Ungenauigkeiten führen. Mit dem MySQL-Typ date kannst du direkt aus der DB rechnen.
@sleepy
Spar dir deinen - irgendwo her gesaugten und wohl unverstandenen - Code, sondern backe erstmal kleine Brötchen:
Du brauchst 3 Inputfelder:
PHP-Code:
<input type="text" name="tag">
<input type="text" name="monat">
<input type="text" name="jahr">
Die übergibst du per POST
PHP-Code:
$tag=$_POST['tag'];
$monat=$_POST['monat'];
$jahr=$_POST['jahr'];
Dann setzt du die zur Variable $datum (wie in meinem ersten Posting) zusammen und schreibst sie in die Datenbank.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 23:29:35 Uhr.
|