| Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann. |
 |

07-04-2010, 17:35
|
|
Stahli
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 3
|
|
Termine in Datenbank
Hey Leute,
ich beschäftige mich hobbymäßig etwas mit der Homepage unseres Vereins, die Ersteller selber haben kaum noch Zeit, deswegen pflege ich das alle ein bisschen. Sprich Bilder, Termine, Sachen ändern usw.
Der Punkt Termine lässt mich derzeit allerdings noch nicht so ganz in Ruhe. Im Admin Login sieht das ganze so aus, dass ich einen neuen Termin einfügen kann, in dem ich in drei Rollmenüs Tag, Monat und Jahr auswähle und dann in einer Textbox die jeweilige Veranstaltung. Das ganze wird dann ausgegeben im öffentlichen. Aber leider gehen einige Veranstaltungen auch über mehrere Tage. Und so muss ich jeden Tag einzeln eingeben. Wie ihr sehen könnt:
SV monte mare Neustadt/Sa.
Ich möchte das gerne ändern, aber ungern auf die Datenbank verzichten (sollte es eine einfachere Methode geben sagt mir bescheid, bin kompromissbereit  )
Also sollte eben so aussehen, dass wenn ich ein Enddatum quasi habe: 18.04. - 20.04.10
Wenn das ganze an einem Tag stattfindet, dann am besten trotzdem nur 18.04.10
Somit sollte das bisschen übersichtlicher werden.
Habe selber schon rumprobiert, aber ehrlich gesagt verliere ich irgendwie die Lust, irgendwo klemmts immer, wie gesagt ich hab selber kaum Ahnung von SQL und php, nur für die Grundlagen HTML reichts eben und bisschen was ändern im Code kann ich auch
Würde mir evtl jemand helfen? Habe die Dateien da, müsste sich nur mal melden...
Kommt vielleicht bisschen frech rüber, heute erst angemeldet und sofort nach Hilfe betteln, sorry dafür, aber das wäre echt echt freundlich ^^
Wenn jemand Ideen hat dann einfach hier schreiben ich würde mich dann bei demjenigen mal per ICQ/MSN/skype was auch immer melden.
Vielen Dank schonmal Leute!!
Viele Grüße
Stahli
|

07-04-2010, 19:55
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
In so einem Fall gibt es hier zwei Möglichkeiten. Entweder, du postet mal die Datenbankstruktur und den relevanten(!) Code, also nicht alles. Dann schauen wir uns das gerne an.
Oder aber deine Kenntnisse sind so rudimentär, dass du fertigen Code haben möchtest. Wenn du bereit bist, dafür Geld hinzulegen, dann poste das bei den Stellenangeboten. Ansonsten verschiebe ich es zur Projekthilfe.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

07-04-2010, 19:56
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
dort wo du im HTML-Code Eingabefelder für das Datum hast, verdoppelst du sie mit unterschiedlichen Namen, z. B. yearStart und yearEnd, monthStart und monthEnd etc.
In der MySQL-Datenbank sollte das nur eine DATETIME-Spalte sein und du machst einfach wieder zwei draus, jeweils für Anfang und Ende.
Zum Schluss passt du das PHP-Skript so an, dass es alles, was es sowieso mit den Daten macht (entgegennehmen und in der DB wegspeichern), doppelt machst, wieder jeweils für Beginn und Ende und schon hast du es.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

07-04-2010, 20:07
|
|
Stahli
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 3
|
|
Ok, verschiebe mal bitte zur Projekthilfe, das Unterforum hab ich in meinem Wahn gar nicht gesehen..
Also, ich poste erstmal den Code und schreibe dann was ich vorschlage:
Code:
if(isset($_GET['aktion']) and $_GET['aktion'] == 'aendern'){
$select_veranstaltung = "Select veranstaltung, date_format( datum, '%e' ) 'tag', date_format( datum, '%c' ) 'monat',
date_format( datum, '%Y' ) 'jahr', id, public from termine where id = '".$_GET['id']."'";
$query_veranstaltung = mysql_db_query($datenbank,$select_veranstaltung);
$result_veranstaltung = mysql_fetch_assoc($query_veranstaltung);
echo '<div class="container" style="width:400px;"><form method="post" action="./index.php?seite=termine.php">
<label for="veranstaltung">Veranstaltung</label><input size="40" type="text" name="veranstaltung" value="'.utf8_encode($result_veranstaltung['veranstaltung']).'" /><br /><br />
<label for="tag">Datum</label><select name="tag">';
for($i=1;$i<=31;$i++){
echo '<option ';
if($result_veranstaltung['tag'] == $i){ echo 'selected="selected" ';};
echo '>'.$i.'</option>';
}
echo '</select><select name="monat">';
for($i=1;$i<=12;$i++){
echo '<option ';
if($result_veranstaltung['monat'] == $i){ echo 'selected="selected" ';};
echo '>'.$i.'</option>';
}
echo '</select><select name="jahr">';
for($i=2005;$i<=2010;$i++){
echo '<option ';
if($result_veranstaltung['jahr'] == $i){ echo 'selected="selected" ';};
echo '>'.$i.'</option>';
}
echo '</select><input type="hidden" name="id" value="'.$_GET['id'].'" /><br /><br />
<label for="public">Öffentlich</label><select name="public">
<option value="0"';
if($result_veranstaltung['public'] == 0){ echo 'selected="selected" ';};
echo '>nein</option>';
echo '<option value="1"';
if($result_veranstaltung['public'] == 1){ echo 'selected="selected" ';};
echo '>ja</option>';
echo '</select><br /><br />
<span style="margin-left:100px;">
<input class="button" type="reset" /> <input class="button"
type="submit" value="Ändern" name="aendern" />
</span>
</form></div>';
}
elseif(isset($_GET['aktion']) and $_GET['aktion'] == 'loeschen'){
echo '<div class="container" style="width:200px; text-align:center; margin-left:180px;">
Möchten Sie wirklich den Datensatz löschen?<br /><br />
<form action="./index.php?seite=termine.php" method="post">
<input type="hidden" name="id" value="'.$_GET['id'].'" />
<input class="button" type="submit" name="wirklich_loeschen" value="ja" />
<input class="button" type="submit" name="verwerfen" value="nein" />
</form>
</div>';
}
elseif(isset($_GET['aktion']) and $_GET['aktion'] == 'einfuegen'){
$datum = getdate();
echo '<div class="container" style="width:400px;"><form method="post" action="./index.php?seite=termine.php">
<label for="veranstaltung">Veranstaltung</label><input
type="text" size="40" name="veranstaltung" /><br /><br />
<label for="tag">Datum</label><select name="tag">';
for($i=1;$i<=31;$i++){
echo '<option ';
if($datum[mday] == $i){ echo 'selected="selected" ';};
echo '>'.$i.'</option>';
}
echo '</select><select name="monat">';
for($i=1;$i<=12;$i++){
echo '<option ';
if($datum[mon] == $i){ echo 'selected="selected" ';};
echo '>'.$i.'</option>';
}
echo '</select><select name="jahr">';
for($i=2006;$i<=2010;$i++){
echo '<option ';
if($datum[year] == $i){ echo 'selected="selected" ';};
echo '>'.$i.'</option>';
}
echo '</select><br /><br />
<label for="public">Öffentlich</label><select name="public">
<option value="0">nein</option>
<option value="1">ja</option>';
echo '</select><br /><br />
<span style="margin-left:100px;">
<input class="button" type="reset" /> <input class="button"
type="submit" value="Einfügen" name="einfuegen" />
</span>
</form></div>';
}
elseif(!isset($_GET['aktion']) or isset($_POST['verwerfen']) or isset($_POST['wirklich_loeschen'])
or isset($_POST['aendern']) or isset($_POST['einfuegen'])){
if(isset($_POST['wirklich_loeschen'])){
$delete_veranstaltung = "Delete from termine where id = ".$_POST['id'];
$result = mysql_db_query($datenbank,$delete_veranstaltung);
}
if(isset($_POST['aendern']) or isset($_POST['einfuegen'])){
if($_POST['tag'] < 10){
$tag = "0".$_POST['tag'];
}
else{
$tag = $_POST['tag'];
}
if($_POST['monat'] < 10){
$monat = "0".$_POST['monat'];
}
else{
$monat = $_POST['monat'];
}
if(isset($_POST['aendern'])){
$update_veranstaltung = "UPDATE `termine` SET `datum` = '".$_POST['jahr']."-".$monat."-".$tag."',
`veranstaltung` = '".utf8_decode($_POST['veranstaltung'])."',
`public` = '".$_POST['public']."' WHERE `id` = '".$_POST['id']."'";
mysql_db_query($datenbank,$update_veranstaltung);
}
elseif(isset($_POST['einfuegen'])){
$insert_veranstaltung = "Insert into termine (veranstaltung, datum, public)
values ('".utf8_decode($_POST['veranstaltung'])."', '".$_POST['jahr']."-".$monat."-".$tag."', '".$_POST['public']."')";
mysql_db_query($datenbank,$insert_veranstaltung);
}
}
So, ist bisschen mehr geworden, da ich nicht wirklich weiß, was wichtig und unwic htig sein könnte.
Also die Idee mit dem verdoppeln hatte ich auch.
Im Prinzip brauche ich die drei Rollmenüs + die Textbox Veranstaltungen ja nochmal, richtig?
Einfügen würd ich nun also noch das, entsprechend unter die jeweiligen Passagen:
Code:
<label for="endtag">End-Datum</label><select name="endtag">';
for($i=1;$i<=31;$i++){
echo '<option ';
if($result_veranstaltung['endtag'] == $i){ echo 'selected="selected" ';};
echo '>'.$i.'</option>';
}
echo '</select><select name="endmonat">';
for($i=1;$i<=12;$i++){
echo '<option ';
if($result_veranstaltung['endmonat'] == $i){ echo 'selected="selected" ';};
echo '>'.$i.'</option>';
}
echo '</select><select name="endjahr">';
for($i=2005;$i<=2010;$i++){
echo '<option ';
if($result_veranstaltung['endjahr'] == $i){ echo 'selected="selected" ';};
echo '>'.$i.'</option>';
}
echo '</select><input type="hidden" name="id" value="'.$_GET['id'].'" /><br /><br />
Code:
<label for="endtag">End-Datum</label><select name="endtag">';
for($i=1;$i<=31;$i++){
echo '<option ';
if($datum[mday] == $i){ echo 'selected="selected" ';};
echo '>'.$i.'</option>';
}
echo '</select><select name="endmonat">';
for($i=1;$i<=12;$i++){
echo '<option ';
if($datum[mon] == $i){ echo 'selected="selected" ';};
echo '>'.$i.'</option>';
}
echo '</select><select name="endjahr">';
for($i=2006;$i<=2010;$i++){
echo '<option ';
if($datum[year] == $i){ echo 'selected="selected" ';};
echo '>'.$i.'</option>';
}
echo '</select><br /><br />
Oder? Was ich nun nicht weiß: Wie ich das nun in die entsprechende Spalte "Enddatum" meiner Datenbank bringe.
Über das Auslesen reden wir erstmal nicht würde ich sagen. Nur mal dieses Interface. Hab im Prinzip alle Bezeichnungen (Tag Monat Jahr) ein End davor gesetzt...
Viele Grüße
Geändert von Stahli (07-04-2010 um 21:06 Uhr)
|

07-04-2010, 20:13
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Bitte brich aber den Code um! Kein Mensch scrollt gerne kilometerweit nach rechts. Und benutze die PHP-Tags für den Code.
Peter
PS: Erfahrungsgemäß hilft dir bei der Projekthilfe sehr selten jemand. Solltest du also die notwendige Geduld aufbringen, so lerne es selber. Eine Anleitung dazu findest du bei mir. Und das wurde extra für Anfänger gemacht.
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

07-04-2010, 20:13
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Benutzt du PHPMyAdmin? Wenn ja, kannst du dort einfach eine Spalte hinzufügen (Tabelle auswählen, Strukturansicht und unten steht dann: [1] Felder hinzufügen (*) An das Ende der Tabelle ( ) An den Anfang der Tabelle ( ) Nach [_____v] [OK]
Wenn nicht:
Code:
alter table Tabellenname add date_end DATETIME;
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
Geändert von AmicaNoctis (07-04-2010 um 20:17 Uhr)
|

07-04-2010, 20:19
|
|
Stahli
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 3
|
|
Zitat:
Zitat von AmicaNoctis
Benutzt du PHPMyAdmin? Wenn ja, kannst du dort einfach eine Spalte hinzufügen (Tabelle auswählen, Strukturansicht und unten steht dann: [1] Felder hinzufügen (*) An das Ende der Tabelle ( ) An den Anfang der Tabelle ( ) Nach [_____v] [OK]
Wenn nicht:
Code:
alter table Tabellenname add date_end DATETIME;
Gruß,
Amica
|
ja, das is kein problem, aber wie bekomme ich das ganze jetzt eben da rein^^ also meine informationen in eben diese spalte...
ehrlich gesagt hatte ich gedacht, dass mein "problem" für so php cracks kein problem ist... aber das scheint ja doch garned so schnell zu gehen, was ich da vor habe
|

07-04-2010, 20:27
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Such das PHP-Skript, welches das macht. Das ist das, was auf der Webseite zum Eintragen im HTML-Code als action-Attribut des form-Elements eingetragen ist.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

07-04-2010, 20:46
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Zitat:
Zitat von AmicaNoctis
Such das PHP-Skript, welches das macht. Das ist das, was auf der Webseite zum Eintragen im HTML-Code als action-Attribut des form-Elements eingetragen ist.
|
Ich glaube, das ist derzeit noch vergebliche Müh, da offenbar die Grundlagen fehlen. Sorry Stahli, aber ist wohl so. Wenn du viel Zeit und Geduld hast, so lerne die Grundlagen, weil es ohne die nicht geht.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
|
|
|
|
PHP News
|