phpbuddy.eu
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 22.01.2006, 17:16   #1
TP-Greis
 
Benutzerbild von steff11
 
Registriert seit: Aug 2002
Ort: Hochfranken
steff11 lebt für das TP und seine Usersteff11 lebt für das TP und seine Usersteff11 lebt für das TP und seine Usersteff11 lebt für das TP und seine Usersteff11 lebt für das TP und seine Usersteff11 lebt für das TP und seine Usersteff11 lebt für das TP und seine Usersteff11 lebt für das TP und seine Usersteff11 lebt für das TP und seine User

[PHP] BD-gestützte Terminliste füllen und Datumsabhängig auslesen


Hallööle,
hab kürzlich diesen Wunsch verspürt:
Zitat:
Ich möcht auf meiner Site in einem Admin-Formular Termine in eine mysqlDB schreiben, jeder Termin besteht aus Tag, Uhrzeit, Stichwort Kurzbeschreibungstext und Bild.

Auf der Website selbst sollen dann ganz simpel über ein php-script immer die Termine der nächsten x Wochen angezeigt werden, tabellarisch.
Member Heatseeker hat das Problem blitzschnell und blitzsauber durch maßgeschneiderten php-Code gelöst:

1. Schritt

In der DB ist eine Tabelle "termine" mit folgenden Feldern anzulegen:
Zitat:
CREATE TABLE `termine` (
`datum` VARCHAR( 10 ) NOT NULL ,
`datum_stamp` INT NOT NULL ,
`uhrzeit` VARCHAR( 10 ) NOT NULL ,
`stichwort` VARCHAR( 250 ) NOT NULL ,
`grafik` VARCHAR( 250 ) NOT NULL ,
`beschreibung` TEXT NOT NULL
) TYPE = MYISAM ;
2. Schritt

Einträge tätigt man über ein html-Formular
Zitat:
<form name="form1" method="post" action="einfuegen.php">
Datum(TT.MM.JJJJ):<br>

<input type="text" name="datum">
<br>
Uhrzeit:<br>
<input type="text" name="uhrzeit"><br>
Stichwort:
<br>
<input type="text" name="stichwort">
<br>
Grafikdateiname:
<br>
<input type="text" name="grafik">
<br>
Kurzbeschreibung:<br>
<textarea name="beschreibung"></textarea><br>

<input type="submit" name="Submit" value="Senden">
</form>
das mit diesem php-Script arbeitet, das mit Namen "einfuegen.php" im selben Verzeichnis liegt:
Zitat:
<?php
$dbhost = 'localhost';
$dbname = 'termine'; // Hier Datenbankname rein
$dbuser = 'root'; // Hier User...
$dbpasswd = ''; // und passwort...

//Verbindungsaufbau
$connection = @mysql_connect($dbhost, $dbuser, $dbpasswd);
@mysql_select_db($dbname, $connection);

if(isset($_POST['Submit'])){ // wurde das Formular abgeschickt?


// Datum in einzelne Variablen speichern:
$array=explode(".",$_POST['datum']);
$tag=$array[0];
$monat=$array[1];
$jahr=$array[2];

//Datum ins Timestamp-Format umwandeln:
$datum_stamp=mktime(0,0,0,$monat,$tag,$jahr);
//Das wichtige SQL-Statement:
$sql="INSERT INTO termine SET
datum='".$_POST['datum']."',
datum_stamp=$datum_stamp,
uhrzeit='".$_POST['uhrzeit']."',
stichwort='".$_POST['stichwort']."',
grafik='".$_POST['grafik']."',
beschreibung='".$_POST['beschreibung']."'";

mysql_query($sql) or die(mysql_error()); // Query senden und Fehler abfangen

echo "Termin erfolgreich hinzugefügt!"; // Bla bla...

}

?>
(Datenbank-Host, -name, -user, -passwort in den ersten Zeilen natürlich an eigene Gegebenheiten anpassen)

3. Schritt


Für die Darstellung beispielsweise aller Termine der nächsten 6 Wochen sorgt dieses Skript, das man in üblicher Weise in seine html-Seite (dann natürlich php-Seite) einbindet:

Zitat:
<?php
$dbhost = 'localhost';
$dbname = 'termine'; // Hier Datenbankname rein
$dbuser = 'root'; // Hier User...
$dbpasswd = ''; // und passwort...

//Verbindungsaufbau
$connection = @mysql_connect($dbhost, $dbuser, $dbpasswd);
@mysql_select_db($dbname, $connection);

//Das wichtige SQL-Statement:
$sql="SELECT * FROM termine ORDER BY datum_stamp ASC";

$result=mysql_query($sql) or die(mysql_error()); // Query senden und Fehler abfangen

// der Anfang der Tabelle
echo"<table>";

while($row=mysql_fetch_array($result)){

// Heutige Timestamp:
$heute_stamp=time();

// Ist das Datum in den nächsten 6 Wochen?
$sechs_wochen=60*60*24*7*6;
if( (($heute_stamp+$sechs_wochen) > $row['datum_stamp'])&& ($heute_stamp < $row['datum_stamp'])){

// die Ausgabe:
echo"<tr><td>".$row['datum']." ".$row['uhrzeit']." Uhr: ".$row['stichwort']." <br> ".nl2br($row['beschreibung'])."<br><br><td></tr>";

}
}
//das Ende der Tabelle
echo"</table>";

?>
Nochmal 1000 Dank an Danny, ich hoff ich kann mich mal revancieren.

ciao, Steff

Geändert von steff11 (22.01.2006 um 17:19 Uhr).
steff11 ist offline   Mit Zitat antworten


Alt 22.01.2006, 20:59   #2
TP-Veteran
 
Benutzerbild von heatseeker
 
Registriert seit: Jun 2003
Ort: Aachen
heatseeker bringt sich richtig einheatseeker bringt sich richtig ein
Danke danke...
War ja keine so große Geschichte, tut man doch gerne fürs TP

Revangieren kannste dich bestimmt mal, da habe ich gar keine bedenken

Grüße

Danny
heatseeker ist offline   Mit Zitat antworten
Alt 27.05.2006, 21:44   #3
TP-Veteran
 
Benutzerbild von Butterstulle
 
Registriert seit: Jun 2002
Ort: Hamburg Altona
Butterstulle ist ein richtiges Arbeitstier - DANKEButterstulle ist ein richtiges Arbeitstier - DANKEButterstulle ist ein richtiges Arbeitstier - DANKEButterstulle ist ein richtiges Arbeitstier - DANKEButterstulle ist ein richtiges Arbeitstier - DANKEButterstulle ist ein richtiges Arbeitstier - DANKE
Moin auch, schickes Script.
Daten werden auch in die Datenbank eingetragen nur werden die Daten nicht in der vorhergesehenen Datei angezeigt.
Natürlich habe ich die Datenbankverbindungen ordnungsgemäß eingetragen und auch die Seite in *.php umbenannt.
Was könnte ein möglicher Fehler sein?
Vielen Dank,
Butterstulle
Butterstulle ist offline   Mit Zitat antworten
Alt 03.07.2006, 00:57   #4
TP-Newbie
 
Registriert seit: Jul 2006
Klecka Gandalf macht alles soweit korrekt
Red face

Ist auch möglich abgelaufene Termine anzuzeigen und vllt. ja nach Terminnamen noch auf eine weitere Seite zu linken?
Klecka Gandalf ist offline   Mit Zitat antworten
Alt 26.09.2006, 22:30   #5
TP-Newbie
 
Registriert seit: Sep 2006
DaTschiki macht alles soweit korrekt
Zitat:
Zitat von Klecka Gandalf
Ist auch möglich abgelaufene Termine anzuzeigen und vllt. ja nach Terminnamen noch auf eine weitere Seite zu linken?
Das würde mich auch ziemlich interessieren. Etwa so:

http://www.domain.de/events.php?id=1
http://www.domain.de/events.php?id=2
...

Hat da jemand einen Vorschlag / Lösung?

Jeder Datensatz müsste eine eigene ID in der Datenbank haben...

Bin für jede Hilfe dankbar!
DaTschiki ist offline   Mit Zitat antworten
Alt 15.11.2007, 14:27   #6
TP-Newbie
 
Registriert seit: Nov 2007
hobbyan macht alles soweit korrekt
Hi erstmal!
Ich habe das Script gefunden und kurzer Hand eingebaut. Funzt soweit super.

In der Abfrage ist es ja kein Problem, die Zeit von 6 Wochen beliebig anders einzustellen. Das bekommt sogar so ein php Trottel, wie ich einer bin hin .
Für mich wäre es jetzt interessant, die Abfrage so zu ändern, dass jeweils nur der aktuellste Termin angezeigt wird. Irgendwie bekomme ich das aber überhaupt nicht hin. Wenn mir da nochmal der heatsseker oder jemand anderes helfen könnte würde ich mich echt sehr freuen.
MfG
hobbyan
hobbyan ist offline   Mit Zitat antworten
Alt 15.11.2007, 14:56   #7
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Du willst also nur einen einzigen Termin ausgeben?
das kannst Du mit Hilfe vom LIMIT erreichen.
Code:
//Das wichtige SQL-Statement:
$sql="SELECT * FROM termine ORDER BY datum_stamp ASC LIMIT 0,1";
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 15.11.2007, 16:52   #8
TP-Newbie
 
Registriert seit: Nov 2007
hobbyan macht alles soweit korrekt
Supi Danke.
Ich musste nur anstatt LIMIT 0,1 LIMIT 1, 1 nehmen, dann ging es.

Nach ein wenig Suche, fand ich dies hier : Der erste Wert bezeichnet die Position des "Startdatensatzes", der zweite die Anzahl der auszugebenden Treffer.

Bin happy, es geht. Vielen Dank für die schnelle Hilfe.
Ich lerne, wenn auch langsam
hobbyan ist offline   Mit Zitat antworten
Alt 16.11.2007, 16:44   #9
TP-Newbie
 
Registriert seit: Nov 2007
hobbyan macht alles soweit korrekt
Hallo nochmal!
Mir ist heute beim basteln noch was aufgefallen. Eigentlich sollte es doch so sein, dass nur die Daten von heute bis in die definierte Zukunft (im beispiel sind es 6 Wochen) angezeigt werden. Bei mir werden aber auch die Termine in der Vergangenheit angezeigt. Ich habe da schon einiges rumgebastelt aber bekomme es nicht hin. Jemand eine Idee?
MfG hobbyan
hobbyan ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik > Traum-Scripts
[PHP] BD-gestützte Terminliste füllen und Datumsabhängig auslesen [Script] [PHP] BD-gestützte Terminliste füllen und Datumsabhängig auslesen
« Validator Klasse | IPTC Daten von JPGs auslesen »

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

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:07 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67