SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO_MySQL

MySQLi/PDO_MySQL Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO_MySQL diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 15.12.2007, 14:13:31
Sleepy Sleepy ist offline
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.
Mit Zitat antworten
  #2  
Alt 15.12.2007, 15:25:08
Heinrich Heinrich ist offline
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.
Mit Zitat antworten
  #3  
Alt 15.12.2007, 15:35:00
Sleepy Sleepy ist offline
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.
Mit Zitat antworten
  #4  
Alt 17.12.2007, 22:39:22
Heinrich Heinrich ist offline
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.
Mit Zitat antworten
  #5  
Alt 18.12.2007, 02:36:36
Sleepy Sleepy ist offline
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)
Mit Zitat antworten
  #6  
Alt 18.12.2007, 09:40:58
sysop sysop ist offline
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()
Mit Zitat antworten
  #7  
Alt 18.12.2007, 11:09:30
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 53
Beiträge: 1.020
AW: Datum in Datenbank Schreiben

Zitat:
Zitat von Sleepy Beitrag anzeigen
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.
Mit Zitat antworten
  #8  
Alt 18.12.2007, 12:10:35
Sleepy Sleepy ist offline
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&amp;SID=<? echo $sid; ?>" title="Neuen Eintrag hinzuf&uuml;gen">Neuer Eintrag</a></th>

</tr>
<tr>
<td><a href="<? echo $_SERVER['PHP_SELF']; ?>?action=edit&amp;SID=<? echo $sid; ?>" title="Eintrag bearbeiten">Eintrag bearbeiten</a></td>
</tr>
<tr>
<td><a href="<? echo $_SERVER['PHP_SELF']; ?>?action=delete&amp;SID=<? echo $sid; ?>" title="Eintrag l&ouml;schen">Eintrag l&ouml;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&amp;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&amp;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&amp;id='.$row->id.'&amp;SID='.$sid.'" title="Hier klicken um den Eintrag zu &auml;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&auml;ndert.</p>';
                        }
                    break;

                                         case 'delete':
                    ?>
                        <h3>F.A.Q. Eintrag l&ouml;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&amp;id='.$row->id.'&amp;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 &raquo;<strong>'.$_SESSION['title'].'</strong>&laquo; 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>
Mit Zitat antworten
  #9  
Alt 18.12.2007, 22:28:32
Heinrich Heinrich ist offline
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.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datum in Datenbank schreiben pekobe MySQLi/PDO_MySQL 4 03.05.2007 09:14:07
Sortierung nach Datum mit Order by nach Konvertierung ins Deutsche Format falsch carlos7262 MySQLi/PDO_MySQL 2 12.04.2007 08:43:32
Probleme mit Datum aus Datenbank auslesen Zippo1979 MySQLi/PDO_MySQL 6 18.12.2006 13:27:27
Datum korrekt ausgeben aus Datenbank Esnabur PHP Grundlagen 6 21.03.2006 11:38:03
aktuelle Uhrzeit und Datum in Datenbank schreiben Toast PHP für Fortgeschrittene und Experten 3 10.10.2002 16:46:23


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:54:18 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.


© 2001-2022 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt