ERLEDIGT
NEIN
NEIN
ANTWORTEN
12
12
ZUGRIFFE
1141
1141
EMPFEHLEN
-
Hallo leute,
hab mir mal ein Kalender Script zusammengeschnippelt und es funktioniert soweit alles ganz gut.
hier der code
um nun events hinzufügen zu können, habe ich folgende html erstellt. (würde hier auch gerne die textfelder für das datum und die uhrzeiten durch eine auflistung ersetzen. Weiss nur leider nicht, wie ich dann zb. die auswahl für die stunde und die minute zusammen als einzelne variable übergeben kann.)PHP-Code:<html>
<head>
<title>PHP Calendar</title>
<style type="text/css">
<!--
.table.calendar {border: 1px solid #000000; border-collapse: collapse; color: #000000; background: #FFFFFF; }
.td.today { border: 1px solid white; color: #000000; background: #EFEFEF; font-weight: bold;}
.td.monthdays {border: 1px solid #434470; color: #000000; background: #FFFFFFF; }
.td.nonmonthdays { border: 1px solid white; color: #000000; background: #EFEFEF;}
.style1 {
color: #FFFFFF;
font-weight: bold;
bgcolor: #FF3333
}
.style2 {
font-weight: bold;
bgcolor: #FF3333
}
-->
</style>
<body>
<?php
error_reporting('0');
ini_set('display_errors', '0');
// Gather variables from
// user input and break them
// down for usage in our script
if(!isset($_REQUEST['date'])){
$date = mktime(0,0,0,date('m'), date('d'), date('Y'));
} else {
$date = $_REQUEST['date'];
}
$day = date('d', $date);
$month = date('m', $date);
$year = date('Y', $date);
// Get the first day of the month
$month_start = mktime(0,0,0,$month, 1, $year);
// Get friendly month name
$month_names = array(1=>"Januar",
2=>"Februar",
3=>"März",
4=>"April",
5=>"Mai",
6=>"Juni",
7=>"Juli",
8=>"August",
9=>"September",
10=>"Oktober",
11=>"November",
12=>"Dezember");
$month_name = date('n', $month_start);
// Figure out which day of the week
// the month starts on.
$month_start_day = date('D', $month_start);
switch($month_start_day){
case "Mon": $offset = 0; break;
case "Tue": $offset = 1; break;
case "Wed": $offset = 2; break;
case "Thu": $offset = 3; break;
case "Fri": $offset = 4; break;
case "Sat": $offset = 5; break;
case "Sun": $offset = 6; break;
}
// determine how many days are in the last month.
if($month == 1){
$num_days_last = cal_days_in_month(0, 12, ($year -1));
} else {
$num_days_last = cal_days_in_month(0, ($month -1), $year);
}
// determine how many days are in the current month.
$num_days_current = cal_days_in_month(0, $month, $year);
// Build an array for the current days
// in the month
for($i = 1; $i <= $num_days_current; $i++){
$num_days_array[] = $i;
}
// Build an array for the number of days
// in last month
for($i = 1; $i <= $num_days_last; $i++){
$num_days_last_array[] = $i;
}
// If the $offset from the starting day of the
// week happens to be Sunday, $offset would be 0,
// so don't need an offset correction.
if($offset > 0){
$offset_correction = array_slice($num_days_last_array, -$offset, $offset);
$new_count = array_merge($offset_correction, $num_days_array);
$offset_count = count($offset_correction);
}
// The else statement is to prevent building the $offset array.
else {
$offset_count = 0;
$new_count = $num_days_array;
}
// count how many days we have with the two
// previous arrays merged together
$current_num = count($new_count);
// Since we will have 5 HTML table rows (TR)
// with 7 table data entries (TD)
// we need to fill in 35 TDs
// so, we will have to figure out
// how many days to appened to the end
// of the final array to make it 35 days.
if($current_num > 35){
$num_weeks = 6;
$outset = (42 - $current_num);
} elseif($current_num < 35){
$num_weeks = 5;
$outset = (35 - $current_num);
}
if($current_num == 35){
$num_weeks = 5;
$outset = 0;
}
// Outset Correction
for($i = 1; $i <= $outset; $i++){
$new_count[] = $i;
}
// Now let's "chunk" the $all_days array
// into weeks. Each week has 7 days
// so we will array_chunk it into 7 days.
$weeks = array_chunk($new_count, 7);
// Build Previous and Next Links
$previous_link = "<a href=\"".$_SERVER['PHP_SELF']."?date=";
if($month == 1){
$previous_link .= mktime(0,0,0,12,$day,($year -1));
} else {
$previous_link .= mktime(0,0,0,($month -1),$day,$year);
}
$previous_link .= "\"><<<</a>";
$next_link = "<a href=\"".$_SERVER['PHP_SELF']."?date=";
if($month == 12){
$next_link .= mktime(0,0,0,1,$day,($year + 1));
} else {
$next_link .= mktime(0,0,0,($month +1),$day,$year);
}
$next_link .= "\">>>></a>";
// Build the heading portion of the calendar table
echo "<table border=\"3\" cellpadding=\"3\" cellspacing=\"3\" class=\"calendar\" align=\"center\" table width=\"416\" height=\"353\">\n".
"<tr>\n".
"<td colspan=\"7\" bgcolor=\"#FF3366\">\n".
"<table border=\"3\" cellpadding=\"3\" cellspacing=\"3\" table align=\"center\">\n".
"<tr>\n".
"<td colspan=\"2\" width=\"75\" align=\"left\">$previous_link</td>\n".
"<td colspan=\"3\" width=\"150\" align=\"center\"><span class=\"style1\">$month_names[$month_name] $year</span></td>\n".
"<td colspan=\"2\" width=\"75\" align=\"right\">$next_link</td>\n".
"</tr>\n".
"</table>\n".
"</td>\n".
"<tr>\n".
"<td><strong>Mo</strong></td><td><strong>Di</strong></td><td><strong>Mi</strong></td><td><strong>Do</strong></td><td><strong>Fr</strong></td><td><strong>Sa</strong></td><td><strong>So</strong></td>\n".
"</tr>\n";
// Now we break each key of the array
// into a week and create a new table row for each
// week with the days of that week in the table data
$i = 0;
foreach($weeks AS $week){
echo "<tr>\n";
foreach($week as $d){
if($i < $offset_count){
$day_link = "<a href=\"".$_SERVER['PHP_SELF']."?date=".mktime(0,0,0,$month -1,$d,$year)."\">$d</a>";
echo "<td class=\"nonmonthdays\" bgcolor=\"#CCCCCC\">$day_link</td>\n";
}
if(($i >= $offset_count) && ($i < ($num_weeks * 7) - $outset)){
$day_link = "<a href=\"".$_SERVER['PHP_SELF']."?date=".mktime(0,0,0,$month,$d,$year)."\">$d</a>";
if($date == mktime(0,0,0,$month,$d,$year)){
echo "<td class=\"today\" bgcolor=\"#FF3366\">$d</td>\n";
} else {
echo "<td class=\"days\">$day_link</td>\n";
}
} elseif(($outset > 0)) {
if(($i >= ($num_weeks * 7) - $outset)){
$day_link = "<a href=\"".$_SERVER['PHP_SELF']."?date=".mktime(0,0,0,$month +1,$d,$year)."\">$d</a>";
echo "<td class=\"nonmonthdays\" bgcolor=\"#CCCCCC\">$day_link</td>\n";
}
}
$i++;
}
echo "</tr>\n";
}
// Close out your table and that's it!
echo '<tr><td colspan="7" class="days"> </td></tr>';
echo '</table>';
//Display events according to date.
echo "<table cellspacing=\"0\" cellpadding=\"0\" width=\"300\" align=\"center\">";
echo "<tr><td align=\"center\">Events am $day_name, $day $month_names[$month_name] $year:</td></tr>";
//Open mySQL connection
$conn = mysql_connect("localhost", "root", "") or die("Could not connect!");
//Connect to database
mysql_select_db("test") or die("Could not select database");
//Query database
$sql = "SELECT * FROM events WHERE eventDate = FROM_UNIXTIME($date)";
$result = mysql_query($sql);
//Fecth rows according to timestamp
$num_rows = mysql_num_rows($result);
if($num_rows == 0){
echo "<tr><td align=\"center\">Für Heute sind leider Keine Events gelistet.</td></tr>";
}else{
while ($row=mysql_fetch_array($result)){
$title = $row["eventTitle"];
$desc = $row["eventDesc"];
$start = $row['eventStartTime'];
$end = $row['eventEndTime'];
$cost = $row['eventCost'];
$flyer= $row['flyer'];
echo "<tr><td><b><h2>$title</h2></b></td>";
echo "<tr><td><b>$flyer</b></td>";
echo "<tr><td>Uhrzeit: $start - $end</td></tr>";
echo "<tr><td>Eintritt: ";
if ($cost > 0){
echo "$$cost</td></tr>";
} else {
echo "Free!</td></tr>";
}
echo "<tr><td>$desc<br><br></td></tr>";
}
}
echo "</table>";
?>
</body>
</html>
hier der code für upload.phpHTML-Code:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> </head> <body> <form id="form1" name="form1" method="post" action="upload.php"> <label>Titel: <input type="text" name="titel" /> <br /> <br /> </label> <label>Flyer: <input type="file" name="flyer" size="40"> </label> <p> <label>Datum <input type="text" name="datum" value="jjjj-mm-tt" /> </label> </p> <p> <label>Uhrzeit Beginn <input name="uhrzeit_beginn" type="text" value=" : Uhr" size="10" /> </label> </p> <p> <label>Uhrzeit Ende <input name="uhrzeit_ende" type="text" value=" : Uhr" size="10" /> </label> </p> <p> <label>Kosten: <input type="text" name="kosten" /> </label> €</p> <p> <label>Beschreibung:<br /> <textarea name="beschreibung" cols="100" rows="20"></textarea> </label> </p> <input name="submit" type="submit" value="Eintragen" /> </form> </body> </html>
Tabelle events sowie spalten sind alle vorhanden, aber die daten werden einfach nicht in der tabelle eingetragen.PHP-Code:<?php
error_reporting(E_ALL);
$conn = mysql_connect("localhost", "root", "") or die("Verbindung zum Server Fehlgeschlagen");
mysql_select_db("test") or die("Datenbank konnte nicht ausgewählt werden");
$hinzufugen = mysql_query("INSERT INTO events (eventTitle,
eventDate,eventStartTime,eventEndTime,
eventCost,eventDesc,flyer) VALUES
('".$_POST['titel']."',
'".$_POST['datum']."',
'".$_POST['uhrzeit_beginn']."',
'".$_POST['uhrzeit_ende']."',
'".$_POST['kosten']."',
'".$_POST['beschreibung']."',
'".$_POST['flyer']."'") OR die(mysql_error());
?>
was mache ich denn falsch?
fehlermeldung ist (bei upload.php)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 10
Danke schonmal im Vorraus
mfg
BABA66
-
29.09.07 23:25 #2
Hi!
Vielleicht ein Fehler, was die Typen der Felder angeht.
Datum ist bei dir HTML seitig TEXT, vielleicht aber bei der Datenbank ein DATE-Feld.
Vielleicht ist das Datumsfeld auch leer. Lass es dir doch einfach mal mit echo ausgeben.
Einen Syntaxfehler sehe ich auf Anhieb nicht.Geändert von desaster0505 (29.09.07 um 23:29 Uhr)
Wenn euch mein Beitrag weiterhilft, bitte bewerten
-
Hi
also ich würde wie ich immer sage erstmal den Query-String ein bisschen übersichtlicher aufschreiben.
und dann schau dir mal das hier an:PHP-Code:<?php
error_reporting(E_ALL);
$conn = mysql_connect("localhost", "root", "") or die("Verbindung zum Server Fehlgeschlagen");
mysql_select_db("test") or die("Datenbank konnte nicht ausgewählt werden");
$query_str = "INSERT INTO events (
eventTitle,
eventDate,
eventStartTime,
eventEndTime,
eventCost,
eventDesc,
flyer
) VALUES (
'".$_POST['titel']."',
'".$_POST['datum']."',
'".$_POST['uhrzeit_beginn']."',
'".$_POST['uhrzeit_ende']."',
'".$_POST['kosten']."',
'".$_POST['beschreibung']."',
'".$_POST['flyer']."'
)";
$hinzufugen = mysql_query($query_str) OR die(mysql_error());
?>
http://www.php.net/manual/de/functio...ape-string.php
Und das mit der Auflistung der Uhrzeit habe ich nicht ganz verstanden?!
Gruß
-
29.09.07 23:37 #4
Ach ja, was ich auch probieren würde ist die $_POST Variablen in "normale" Variablen zu speichern und diese dann im SQL-String zu verwenden, also z.B.
PHP-Code:
$var=$_POST['datum'];
$sql_string = mysql_query("INSERT INTO events (Beispiel) VALUES
('".$var."')";
OR die(mysql_error());
Wenn euch mein Beitrag weiterhilft, bitte bewerten
-
Danke für eure Antworten,
@disaster0505
du hast recht,
für die spalte eventDate habe ich den Feldtyp Time
und für die Uhrzeiten eventStart usw. den Feldtyp Time.
hast du vielleicht ne seite für mich wo ich diesbezüglich eine auflistung finde. also wo steht, wo welcher feldtyp hingehört.
@ne0thype
danke werde es mir anschauen.
-
29.09.07 23:53 #6
Naja, eigentlich ist es ja nicht schwer zu wissen, welchen Feldtyp man verwenden muss.
Wenn Formulardaten übergeben in eine Datenbank eingetragen werden sollen, dann ist das meist doch INTEGER, BOOL oder TEXT/STRING (weiß grad nicht genau wie es bei MySQL heißt).
DATE z.B. kann man verwenden, wenn eine PHP-Funktin verwendet, die ein Datum zurückliefert.
Eine Seite, die das auflistet kenne ich nicht und habe ich auch durch eine Suche eben nicht gefunden.Wenn euch mein Beitrag weiterhilft, bitte bewerten
-
@ne0thype
das mit der uhrzeit und dem datum meinte ich folgendermaasen. anstatt im formular ein textfeld zu benutzen würde ich lieber jeweils ein select feld für die stunden und eins für die minuten haben. aber dann habe ich ja zwei felder mit informationen die in eine tabelle(Spaltentyp TIME) müssen und wie ich das hinkriegen soll, raff ich nicht so ganz. Hab auch versucht bei google nachzusuchen aber ich weiss nicht so wirklich unter welchen suchbegriffen.
-
ok
dazu gibt es mehere Möglichkeiten:
1. Wie du schon gesagt hast für die Stunde und Minute jeweils ein Dropdownfeld, dann kannst du mit "mktime()" dir den genauen Timestamp ausgeben lassen und denn dann mit "strftime()" so formatieren das MySQL mit dem Feldtyp "Datetime" klar kommt.
MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format.
oder
2. du sagt gleich im INSERT querywobei ich persöonlich zur 1 rate, weil du da den Vorteil hast wenn der User den 31 Feb. auswählt (ausser du hast per Javascript beim Feb. die Schaltjahre usw. beachtet), dann automatisch den 2 bzw. den 3 März darausfolgt.PHP-Code:$query = "INSERT INTO database (datum) VALUES ('".$_POST['year']."-".$_POST['month']."-".$_POST['day']." ".$_POST['hour'].":".$_POST['minute'].":".$_POST['sec']."')";
Geändert von ne0hype (30.09.07 um 01:37 Uhr)
-
@ne0thype
habe es nun mit der zweiten variante versucht, die du vorgeschlagen hast.
Das Datum wird richtig übergeben aber irgendwie klappt es nicht bei der uhrzeit.
der code für die uploader.html sieht nun so aus.
und hier das dazugehörige script upload.phpHTML-Code:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> </head> <body> <form id="form1" name="form1" method="post" action="upload.php"> <label>Titel: <input type="text" name="titel" /> <br /> <br /> </label> <label>Flyer: <input type="file" name="flyer" size="40"> </label> <p> <label>Datum: <select name="datum_tag"> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> </label> <label> <select name="datum_monat"> <option value="01">Januar</option> <option value="02">Februar</option> <option value="03">März</option> <option value="04">April</option> <option value="05">Mai</option> <option value="06">Juni</option> <option value="07">Juli</option> <option value="08">August</option> <option value="09">September</option> <option value="10">Oktober</option> <option value="11">November</option> <option value="12">Dezember</option> </select> </label> <label> <select name="datum_jahr"> <option value="2000">2000</option> <option value="2001">2001</option> <option value="2002">2002</option> <option value="2003">2003</option> <option value="2004">2004</option> <option value="2005">2005</option> <option value="2006">2006</option> <option value="2007">2007</option> <option value="2008">2008</option> <option value="2009">2009</option> <option value="2010">2010</option> <option value="2011">2011</option> <option value="2012">2012</option> <option value="2013">2013</option> <option value="2014">2014</option> <option value="2015">2015</option> <option value="2016">2016</option> <option value="2017">2017</option> <option value="2018">2018</option> <option value="2019">2019</option> <option value="2020">2020</option> <option value="2021">2021</option> <option value="2022">2022</option> <option value="2023">2023</option> <option value="2024">2024</option> <option value="2025">2025</option> <option value="2026">2026</option> <option value="2027">2027</option> <option value="2028">2028</option> <option value="2029">2029</option> <option value="2030">2030</option> <option value="2031">2031</option> <option value="2032">2032</option> <option value="2033">2033</option> <option value="2034">2034</option> <option value="2035">2035</option> <option value="2036">2036</option> <option value="2037">2037</option> <option value="2038">2038</option> <option value="2039">2039</option> <option value="2040">2040</option> <option value="2041">2041</option> <option value="2042">2042</option> <option value="2043">2043</option> <option value="2044">2044</option> <option value="2045">2045</option> <option value="2046">2046</option> <option value="2047">2047</option> <option value="2048">2048</option> <option value="2049">2049</option> <option value="2050">2050</option> <option value="2051">2051</option> <option value="2052">2052</option> <option value="2053">2053</option> <option value="2054">2054</option> <option value="2055">2055</option> <option value="2056">2056</option> <option value="2057">2057</option> <option value="2058">2058</option> <option value="2059">2059</option> <option value="2060">2060</option> </select> </label> </p> <p> <label>Beginn: <select name="start_std"> <option value="00">00</option> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> </select> </label> <label> : <select name="start_min"> <option value="00">00</option> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> <option value="32">32</option> <option value="33">33</option> <option value="34">34</option> <option value="35">35</option> <option value="36">36</option> <option value="37">37</option> <option value="38">38</option> <option value="39">39</option> <option value="40">40</option> <option value="41">41</option> <option value="42">42</option> <option value="43">43</option> <option value="44">44</option> <option value="45">45</option> <option value="46">46</option> <option value="47">47</option> <option value="48">48</option> <option value="49">49</option> <option value="50">50</option> <option value="51">51</option> <option value="52">52</option> <option value="53">53</option> <option value="54">54</option> <option value="55">55</option> <option value="56">56</option> <option value="57">57</option> <option value="58">58</option> <option value="59">59</option> </select> </label> Uhr</p> <p> <label>Ende: <select name="ende_std"> <option value="00">00</option> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> </select> </label> <label> : <select name="ende_min"> <option value="00">00</option> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> <option value="32">32</option> <option value="33">33</option> <option value="34">34</option> <option value="35">35</option> <option value="36">36</option> <option value="37">37</option> <option value="38">38</option> <option value="39">39</option> <option value="40">40</option> <option value="41">41</option> <option value="42">42</option> <option value="43">43</option> <option value="44">44</option> <option value="45">45</option> <option value="46">46</option> <option value="47">47</option> <option value="48">48</option> <option value="49">49</option> <option value="50">50</option> <option value="51">51</option> <option value="52">52</option> <option value="53">53</option> <option value="54">54</option> <option value="55">55</option> <option value="56">56</option> <option value="57">57</option> <option value="58">58</option> <option value="59">59</option> </select> </label> Uhr</p> <p> <label>Kosten Eintritt: <input type="text" name="kosten" /> </label> €</p> <p> <label>Beschreibung:<br /> <textarea name="beschreibung" cols="100" rows="20"></textarea> </label> </p> <input name="submit" type="submit" value="Eintragen" /> </form> </body> </html>
irgendwie wird aus dem formular nur der wert für die stunde in der tabelle eingetragen und das auch noch an der stelle für die sekunden, die eigentlich immer auf null sein sollten.PHP-Code:<?php
error_reporting(E_ALL);
$conn = mysql_connect("localhost", "root", "") or die("Verbindung zum Server Fehlgeschlagen");
mysql_select_db("test") or die("Datenbank konnte nicht ausgewählt werden");
$titel = $_POST['titel'];
$datum_jahr = $_POST['datum_jahr'];
$datum_monat = $_POST['datum_monat'];
$datum_tag = $_POST['datum_tag'];
$start_std = $_POST['start_std'];
$start_min = $_POST['start_min'];
$ende_std = $_POST['ende_std'];
$ende_min = $_POST['ende_min'];
$kosten = $_POST['kosten'];
$beschreibung = $_POST['beschreibung'];
$flyer = $_POST['flyer'];
$hinzufugen = mysql_query("INSERT INTO events (eventTitle,
eventDate,
eventStartTime,
eventEndTime,
eventCost,
eventDesc,
flyer)
VALUES
('".$titel."',
'".$datum_jahr."''-''".$datum_monat."''-''".$datum_tag."',
'".$start_std."'':''".$start_min."'':''00',
'".$ende_std."'':''".$ende_min."'':''00',
'".$kosten."',
'".$beschreibung."',
'".$flyer."')");
mysql_close() OR die(mysql_error());
if(!$hinzufugen) {
echo "<h1>Uploadvorgang fehlgeschlagen</h1>";
} else{
echo "<h1>Uploadvorgang war erfolgreich</h1> <br>";}
?>
Kann mir vorstellen, dass ich irgendwo nen ganz simplen fehler drinn hab aber ich finde ihn einfach nicht.
-
Sooo Leute,
hab jetzt alles glücklicherweise zum laufen bekommen.
Hab nun einen abgesicherten Loginbereich mit der Möglichkeit Events einzutragen und zu löschen.
Im Kalenderfenster werden die Events auch alle angezeigt.
Nun möchte ich den nächsten Schritt machen und das Aussehen verändern.
Momentan werden alle Tage ausserhalb des aktuellen Monats grau dargestellt.
Tage innerhalb eines Monats weiss und die aktuelle Auswahl in rot.
Und dazu natürlich der Link für den jeweiligen Tag.
Ich möchte nun, dass Tage, an denen Events stattfinden auch eine weitere Farbe haben. Zudem sollten die Wochenenden entsprechend gekennzeichnet sein.
Habe mir überlegt Images in verschiedenen Farben für alle Zahlen von 1 bis 31 zu erstellen.
Das Image mit der jeweiligen Farbe und Zahl soll dann angezeigt werden je nachdem ob der Tag sich im aktuellen Monat befindet, ob er auf ein Wochenende fällt, oder ob an dem Tag ein Event stattfindet.
Zudem möchte ich nochmal 12 Images für jeden Monat und zwei für die vor und zurück Links machen.
Um die restlichen leeren Tabellenspalten mit Images zu füllen reicht mein php Wissen wahrscheinlich aus.
Ich glaube sogar das mit den Buttons bekomme ich auch ohne Hilfe hin.
Aber ich brauche auf jeden Fall Hilfe, um:
1.- zu bestimmen, welcher Tag Events beinhaltet, (Daten stehen in der Mysql- Tabelle events in der Spalte eventDate im yahr-monat tag format)
2. -zu bestimmen welche Tage auf ein Wochenende fallen.
3. den jeweiligen Tagen die passenden Images zuzuweisen (Passende Farbe je nachdem ob die oberen 2 Bedingungen erfüllt sind.)
4. den Tagen ausserhalb des aktuellen Monats die passenden Images zuzuweisen
5. dem aktuellen Tag das passende Image in der richtigen Farbe zuzuweisen
6. den Monatsnamen die passenden Images zuzuweisen
hier ist der aktuelle Code für den Kalender.
hoffe ihr könnt mir da ein wenig weiterhelfen.PHP-Code:<html>
<head>
<title>PHP Calendar</title>
<style type="text/css">
<!--
.table.calendar {border: 1px solid #000000; border-collapse: collapse; color: #000000; background: #FFFFFF; }
.td.today { border: 1px solid white; color: #000000; background: #EFEFEF; font-weight: bold;}
.td.monthdays {border: 1px solid #434470; color: #000000; background: #FFFFFFF; }
.td.nonmonthdays { border: 1px solid white; color: #000000; background: #EFEFEF;}
.style1 {
color: #FFFFFF;
font-weight: bold;
bgcolor: #FF3333
}
.style2 {
font-weight: bold;
bgcolor: #FF3333
}
.samstage{
font-weight: bold;
bgcolor: #00FFFF
}
-->
</style>
<body>
<?php
error_reporting('0');
ini_set('display_errors', '0');
// Gather variables from
// user input and break them
// down for usage in our script
if(!isset($_REQUEST['date'])){
$date = mktime(0,0,0,date('m'), date('d'), date('Y'));
} else {
$date = $_REQUEST['date'];
}
$day = date('d', $date);
$month = date('m', $date);
$year = date('Y', $date);
// Get the first day of the month
$month_start = mktime(0,0,0,$month, 1, $year);
// Get friendly month name
$month_names = array(1=>"Januar",
2=>"Februar",
3=>"März",
4=>"April",
5=>"Mai",
6=>"Juni",
7=>"Juli",
8=>"August",
9=>"September",
10=>"Oktober",
11=>"November",
12=>"Dezember");
$month_name = date('n', $month_start);
// Figure out which day of the week
// the month starts on.
$month_start_day = date('D', $month_start);
switch($month_start_day){
case "Mon": $offset = 0; break;
case "Tue": $offset = 1; break;
case "Wed": $offset = 2; break;
case "Thu": $offset = 3; break;
case "Fri": $offset = 4; break;
case "Sat": $offset = 5; break;
case "Sun": $offset = 6; break;
}
// determine how many days are in the last month.
if($month == 1){
$num_days_last = cal_days_in_month(0, 12, ($year -1));
} else {
$num_days_last = cal_days_in_month(0, ($month -1), $year);
}
// determine how many days are in the current month.
$num_days_current = cal_days_in_month(0, $month, $year);
// Build an array for the current days
// in the month
for($i = 1; $i <= $num_days_current; $i++){
$num_days_array[] = $i;
}
// Build an array for the number of days
// in last month
for($i = 1; $i <= $num_days_last; $i++){
$num_days_last_array[] = $i;
}
// If the $offset from the starting day of the
// week happens to be Sunday, $offset would be 0,
// so don't need an offset correction.
if($offset > 0){
$offset_correction = array_slice($num_days_last_array, -$offset, $offset);
$new_count = array_merge($offset_correction, $num_days_array);
$offset_count = count($offset_correction);
}
// The else statement is to prevent building the $offset array.
else {
$offset_count = 0;
$new_count = $num_days_array;
}
// count how many days we have with the two
// previous arrays merged together
$current_num = count($new_count);
// Since we will have 5 HTML table rows (TR)
// with 7 table data entries (TD)
// we need to fill in 35 TDs
// so, we will have to figure out
// how many days to appened to the end
// of the final array to make it 35 days.
if($current_num > 35){
$num_weeks = 6;
$outset = (42 - $current_num);
} elseif($current_num < 35){
$num_weeks = 5;
$outset = (35 - $current_num);
}
if($current_num == 35){
$num_weeks = 5;
$outset = 0;
}
// Outset Correction
for($i = 1; $i <= $outset; $i++){
$new_count[] = $i;
}
// Now let's "chunk" the $all_days array
// into weeks. Each week has 7 days
// so we will array_chunk it into 7 days.
$weeks = array_chunk($new_count, 7);
// Build Previous and Next Links
$previous_link = "<a href=\"".$_SERVER['PHP_SELF']."?date=";
if($month == 1){
$previous_link .= mktime(0,0,0,12,$day,($year -1));
} else {
$previous_link .= mktime(0,0,0,($month -1),$day,$year);
}
$previous_link .= "\"><<<</a>";
$next_link = "<a href=\"".$_SERVER['PHP_SELF']."?date=";
if($month == 12){
$next_link .= mktime(0,0,0,1,$day,($year + 1));
} else {
$next_link .= mktime(0,0,0,($month +1),$day,$year);
}
$next_link .= "\">>>></a>";
// Build the heading portion of the calendar table
echo "<table border=\"3\" cellpadding=\"3\" cellspacing=\"3\" class=\"calendar\" align=\"center\" table width=\"416\" height=\"353\">\n".
"<tr>\n".
"<td colspan=\"7\" bgcolor=\"#FF3366\">\n".
"<table border=\"3\" cellpadding=\"3\" cellspacing=\"3\" table align=\"center\">\n".
"<tr>\n".
"<td colspan=\"2\" width=\"75\" align=\"left\">$previous_link</td>\n".
"<td colspan=\"3\" width=\"150\" align=\"center\"><span class=\"style1\">$month_names[$month_name] $year</span></td>\n".
"<td colspan=\"2\" width=\"75\" align=\"right\">$next_link</td>\n".
"</tr>\n".
"</table>\n".
"</td>\n".
"<tr>\n".
"<td><strong>Mo</strong></td><td><strong>Di</strong></td><td><strong>Mi</strong></td><td><strong>Do</strong></td><td><strong>Fr</strong></td><td><strong>Sa</strong></td><td><strong>So</strong></td>\n".
"</tr>\n";
// Now we break each key of the array
// into a week and create a new table row for each
// week with the days of that week in the table data
$i = 0;
foreach($weeks AS $week){
echo "<tr>\n";
foreach($week as $d){
if($i < $offset_count){
$day_link = "<a href=\"".$_SERVER['PHP_SELF']."?date=".mktime(0,0,0,$month -1,$d,$year)."\">$d</a>";
echo "<td class=\"nonmonthdays\" bgcolor=\"#CCCCCC\">$day_link</td>\n";
}
if(($i >= $offset_count) && ($i < ($num_weeks * 7) - $outset)){
$day_link = "<a href=\"".$_SERVER['PHP_SELF']."?date=".mktime(0,0,0,$month,$d,$year)."\">$d</a>";
if($date == mktime(0,0,0,$month,$d,$year)){
echo "<td class=\"today\" bgcolor=\"#FF3366\">$d</td>\n";
} else {
echo "<td class=\"days\">$day_link</td>\n";
}
} elseif(($outset > 0)) {
if(($i >= ($num_weeks * 7) - $outset)){
$day_link = "<a href=\"".$_SERVER['PHP_SELF']."?date=".mktime(0,0,0,$month +1,$d,$year)."\">$d</a>";
echo "<td class=\"nonmonthdays\" bgcolor=\"#CCCCCC\">$day_link</td>\n";
}
}
$i++;
}
echo "</tr>\n";
}
// Close out your table and that's it!
echo '<tr><td colspan="7" class="days"> </td></tr>';
echo '</table>';
//Display events according to date.
echo "<table cellspacing=\"0\" cellpadding=\"0\" width=\"300\" align=\"center\">";
echo "<tr><td align=\"center\">Events am $day_name, $day $month_names[$month_name] $year:</td></tr>";
//Open mySQL connection
$conn = mysql_connect("localhost", "root", "") or die("Could not connect!");
//Connect to database
mysql_select_db("test") or die("Could not select database");
//Query database
$sql = "SELECT * FROM events WHERE eventDate = FROM_UNIXTIME($date)";
$result = mysql_query($sql);
//Fecth rows according to timestamp
$num_rows = mysql_num_rows($result);
if($num_rows == 0){
echo "<tr><td align=\"center\">Für Heute sind leider Keine Events gelistet.</td></tr>";
}else{
while ($row=mysql_fetch_array($result)){
$title = $row["eventTitle"];
$desc = $row["eventDesc"];
$start = $row['eventStartTime'];
$end = $row['eventEndTime'];
$cost = $row['eventCost'];
$flyer= $row['flyer'];
$flyer_link = "<img src=\"http://www.tutorials.de/forum/images/".$row['flyer']."\"width=\"300\" height=\"120\" border=\"0\"/>\n";
echo "<tr><td><b><h2>$title</h2></b></td>";
echo "<tr><td>$flyer_link</td>";
echo "<tr><td>Uhrzeit: $start - $end</td></tr>";
echo "<tr><td>Eintritt: ";
if ($cost > 0){
echo "€$cost</td></tr>";
} else {
echo "For Free!</td></tr>";
}
echo "<tr><td>$desc<br><br><hr></td></tr>";
}
}
echo "</table>";
?>
</body>
</html>
mfg
BABA66Geändert von BABA66 (03.10.07 um 06:59 Uhr) Grund: Rechtschreibung
-
Na Leute,
ist mein Thema schon zu weit runtergerutscht oder fällt da keinem was ein?
Hoffe es macht keinem was aus wenn ich den Threat hochpushe.
es würde mir für den anfang reichen, wenn mir jemand helfen würde wenigstens die tage mit den events zu bestimmen.
mfg
BABA66
-
Nix gegen Deinen Kalender, aber ich hab echt keine rechte Idee, wie man den umstricken könnte

Schau Dir malden kalender von pear.php.net an - ich hab den einfach genommen und das ganze PEAR-Krams rausgeworfen um ihn in einer normalen Server-Umgebung ohne PEAR verwenden zu können.Die Klassen in diesem Paket erlauben eine weitaus bessere Darstellung und man kann auch die WE's berücksichtigen.
An dieser Stelle nun zu meinem Problem, da das hiergut reinpasst:
------------------------------------------------------------------------------------------------
Hab meinen Kalender wie gesagt auf dem von Pear aufgebaut, beziehe die Daten für die Events aus der DB und will nun Events darstellen,die über mehrere tage gehen können.
Meine Idee dazu: DIV's mit z-Index und absoluter Position.
Zu meinem Problem: wie kann ich das ganze dann darstellen ? Woher weiss ich, ob an einer Stelle schon ein Div liegt - es soll sich ja nix überlappen *kopfkratz*
LG & Danke
AndyGeändert von andy72 (10.10.07 um 07:28 Uhr)
-
10.10.07 07:49 #13
- Registriert seit
- Jun 2007
- Ort
- Lingen (Niedersachsen, zZ in Istanbul)
- Beiträge
- 685
Bezgl der Wochenendtage solltest du dir mal die Funktion getdate() ansehen.
Besonders "wday"
Um Daten aus deiner MySQL-Tabelle zu lesen nutzt du folgende Funktion:
Mittels getdate kannst du mit einer einfachen if den Felder entwedet nomonthdays oder monthday zuweisenPHP-Code:<?php
$connect = mysql_connect('localhost', 'Benutzer', 'Passwort');
$dbwahl = mysql_select_db('dbname');
$date = '2007-10-27'; // Das solltest du verändern ;)
$select = "SELECT * FROM tablename WHERE Datum = '".$date."'";
$query = mysql_query($select);
$result = mysql_fetch_assoc($query);
echo $result['spaltenname'];
?>
Für die Passenden Bilder kannst du das selbe machen
Ähnliche Themen
-
Kalender Tutorial - Event/Termin-kalender daraus gemacht
Von Irgendjemand_1 im Forum PHPAntworten: 25Letzter Beitrag: 01.11.10, 23:42 -
Event Kalender - Wie soll er aussehen?
Von Flex im Forum Creative LoungeAntworten: 3Letzter Beitrag: 11.08.10, 22:54 -
Event für neues Kalender/Kontakt-Elemet in Outlook?
Von kwmaster im Forum .NET Windows FormsAntworten: 0Letzter Beitrag: 07.07.08, 16:38 -
Hilfe bei Event Kalender
Von joseline im Forum PHPAntworten: 3Letzter Beitrag: 23.08.07, 23:58 -
Probs mit Event Kalender
Von ihop im Forum PHPAntworten: 9Letzter Beitrag: 07.06.06, 16:16





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren