Willst Du das Feld "Beschreibung" ausgeben? Kannst Du mal bitte deine Tabellenstruktur posten? Durch den Quelltext sieht man nicht so gut durch.
Hallo Liebe Leserinnen und Leser,
ich stehe vor ein prob. ich habe mir vor Jahren mal etwas Entwickeln lassen, das unternehmen gibt es leider nicht mehr -.- da ich in PHP kein ASS bin stehe ich hier mit einem Fragezeichen, Ich weiß selbst denke ich, dass ich vllt. gegen die knigge verstoße aber vllt würde mir jemand helfen, für ein ass würden es glaube ich nicht mehr als wie 5 minuten dauern - bzw es mir vllt erklären:
Ich will ein Textfeld in der übergabe hinzufügen, in der Datenbank ist schon das feld "beschreibung" vorhanden, es hapert bei mir iwie an der foreach schleife in der zeile 12 wie gehe ich nun vor?
anbei der Codeblock:P.S.: Wenn mir keiner so helfen würde, Ich würde es auch vergüten, bitte wenn von Intresse um ein KVA.PHP-Code:<?php
if(isset($_POST['sent'])) {
if(checkdate($_POST['month'], $_POST['day'], $_POST['year']))
$datum = strtotime($_POST['year'].'-'.$_POST['month'].'-'.$_POST['day'].' 00:00:00');
else {
echo '<script type="text/javascript">alert(\'Das angegebene Datum ('.$_POST['day'].'.'.$_POST['month'].'.'.$_POST['year'].') ist ungültig. Das Datum wurde auf heute gesetzt.\');</script>';
$datum = strtotime(date('Y-m-d 00:00:00'));
}
} else $datum = strtotime(date('Y-m-d 00:00:00'));
if(isset($_POST['belegen'])) {
foreach($_POST['schicht'] as $sch => $x) {
@mysql_query("insert into schichten (schicht, user) values ('$sch', '{$_SESSION['user']['id']}')");
$dat = date('d.m.Y', $sch);
}
@mail($_SESSION['user']['email'], 'Ihre Schicht wurde eingetragen', "Hallo {$_SESSION['user']['username']}\n\nIhre ".count($_POST['schicht'])." Schicht(en) am $dat bei M&K-Hostings wurde erfolgreich eingetragen.\n\nMit freundlichen Grüßen,\n\nM&K-Hostings", "From: M&K-Hostings <info@m-und-k-hostings.de>\nreply-To: info@m-und-k-hostings.de");
$res = mysql_query("select username, email from user where admin=1");
while($rw = mysql_fetch_assoc($res)) {
@mail($rw['email'], 'Neue Schichten bei SG-Hosters', "Hallo {$rw['username']}\n\nIhr User {$_SESSION['user']['username']} hat sich für ".count($_POST['schicht'])." Schicht(en) am $dat bei M&K-Hostings eingetragen.\n\nmit freundlichen Grüßen,\n\nM&K-Hostings", "From: M&K-Hostings <info@m-und-k-hostings.de>\nreply-To: info@m-und-k-hostings.de");
}
}
$ersetzen_alt = array('Mon','Tue','Wed','Thu','Fri','Sat','Sun','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
$ersetzen_neu = array('Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag','Sonntag','Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
?>
<script type="text/javascript">
<!--
function eintragen() {
document.getElementById('schichtlink').style.display = 'none';
document.getElementById('beschreibung').style.display = '';
for (x = 0; x<49; x++) {
document.getElementById('chck' + x).style.display = '';
}
}
-->
</script>
<h1>Dienstplan - Übersicht</h1>
<?php $row = mysql_fetch_assoc(mysql_query("select inhalt from news")); ?>
<fieldset id="informmation"><legend><b>Information</b></legend>
<div id="inform_div">
<?=nl2br($row['inhalt'])?>
</div>
</fieldset><br /><br />
<form action="" method="post"><div align="center">
Datum auswählen:
<select name="day">
<?php for($x=1; $x<32; $x++) echo '<option value="'.$x.'"'.(($x==date('j')) ? ' selected="selected"' : '').'>'.((strlen($x)==1) ? '0' : '').$x.'</option>'; ?>
</select>.<select name="month">
<?php for($x=1; $x<13; $x++) echo '<option value="'.$x.'"'.(($x==date('n')) ? ' selected="selected"' : '').'>'.((strlen($x)==1) ? '0' : '').$x.'</option>'; ?>
</select>.<select name="year">
<?php for($x=date('Y'); $x<(date('Y')+11); $x++) echo '<option value="'.$x.'"'.(($x==date('Y')) ? ' selected="selected"' : '').'>'.$x.'</option>'; ?>
</select>
<input type="submit" value="wählen" />
<input type="hidden" name="sent" value="1" />
</form><br /><br /><br />
<b><?=str_replace($ersetzen_alt, $ersetzen_neu, date('D, d. M Y', $datum))?></b><br /><br />
<div id="schichtlink" style="display: inline;"><span style="cursor: pointer; font-weight: bold; text-decoration: underline;" onClick="eintragen(); return false;">[Neue Schicht hinzufügen]</a></div>
<form action="" method="post"><input type="hidden" name="belegen" value="1" />
<div id="beschreibung" style="display: none;">Bitte haken Sie die Schichten, die Sie belegen wollen,<br /> an der rechten Seite an und klicken Sie danach auf "Schichten belegen".<br />Sie können nur freie Schichten belegen.<br /><br /><input type="submit" value="Schichten belegen" /></div>
<br /><br />
<table id="termintable" width="500">
<?php
$db_tag = substr(str_replace($ersetzen_alt, $ersetzen_neu, date('D', $datum)), 0, 2);
$result1 = mysql_query("select Zeit from zeiten where $db_tag = '1' order by Zeit asc") or die(mysql_error()." select Zeit from zeiten where $db_tag = '1' order by Zeit asc");
$y = 0; # $y für IDs der "eintragen" Zellen
while($row1 = mysql_fetch_assoc($result1)) {
$x = str_replace('.0', '', $row1['Zeit']);
$schicht = $datum+($x*60*60);
if($burl = mysql_fetch_assoc(mysql_query("select von, bis, id, grund from betriebsurlaub where von<=".$schicht." and bis>=".$schicht." limit 1"))) {
echo '<tr class="'.((strlen($x)>=3) ? 'a' : 'b').'"><td class="a"> '.floor($x).'<sup>'.((strlen($x)>=3) ? '3' : '0').'0</sup> - '.floor($x+((strlen($x)>=3) ? 1 : 0)).'<sup>'.((strlen($x)>=3) ? '0' : '3').'0</sup> </td><td class="b"><b>'.$burl['grund'].'</b></td><td style="display: none;" class="chck" id="chck'.$y.'"> </td></tr>';
} else {
$result = mysql_query("select schichten.id as id, user.username as username, user.id as userid from schichten inner join user on user.id = schichten.user where schichten.schicht='$schicht'") or die(mysql_error());
if(!($row = mysql_fetch_assoc($result))) $user = '<span class="na">Schicht ist nicht belegt.</span>';
else {
$user = (($row['userid']==$_SESSION['user']['id']) ? '<b>' : '').$row['username'].(($row['userid']==$_SESSION['user']['id']) ? '</b>' : '').(($_SESSION['user']['admin']) ? ' <a href="?del='.$row['id'].'" class="del" title="Schicht löschen">[X]</a>' : '');
while($row = mysql_fetch_assoc($result)) {
$user .= ', '.(($row['userid']==$_SESSION['user']['id']) ? '<b>' : '').$row['username'].(($row['userid']==$_SESSION['user']['id']) ? '</b>' : '').(($_SESSION['user']['admin']) ? ' <a href="?del='.$row['id'].'" class="del" title="Schicht löschen">[X]</a>' : '');
}
}
?>
<tr class="<?=((strlen($x)>=3) ? 'a' : 'b')?>"><td class="a"> <?=floor($x)?><sup><?=((strlen($x)>=3) ? '3' : '0')?>0</sup> - <?=floor($x+((strlen($x)>=3) ? 1 : 0))?><sup><?=((strlen($x)>=3) ? '0' : '3')?>0</sup> </td><td class="b"><?=$user?></td><td class="chck" id="chck<?=$y?>" style="display: none;"><?=(($row) ? ' ' : '<input type="checkbox" name="schicht['.$schicht.']" />')?></td></tr>
<?php } $y++; } ?>
</table>
</form>
</div>
gruß
Dominic
Geändert von eseldom (13.04.2011 um 00:45 Uhr) Grund: Schlusswort
Willst Du das Feld "Beschreibung" ausgeben? Kannst Du mal bitte deine Tabellenstruktur posten? Durch den Quelltext sieht man nicht so gut durch.
...zur Zeit außer Betrieb...
Hi,
erst wollte ich in der datenbank in der spalte beschreibung schreiben via post, das hab ich auch nun hinbekommen, nun bekomme ich es nicht ausgelesen, wie du es schon schreibst.... der code ist arg doof, meinst du die SQL? denn im jetzigen code gibt er die tabelle mit aus und zeigt sie mir auch an, nur eben die spalte beschreibung nicht.
Was ich wollte ist die Struktur der Datenbank, damit ich sehe, in welcher Tabelle das Beschreibungsfeld steht. Also ja, die SQL![]()
...zur Zeit außer Betrieb...
Also wenn du die Beschreibung anzeigen willst, dann musst Du sie mit in das Select-Statement aufnehmen. Da ich nicht weiß wo genau Du das Feld anzeigen möchtest, hier ein exemplarisches Beipiel:
Da in deinem Beispiel (soweit ich erkennen kann) das Ergebnis der Abfrage (bspw. $row = mysql_fetch_assoc($result)) immer in $row steht, kannst Du überPHP-Code:$result = mysql_query("select schichten.id as id, schichten.beschreibung, user.username as username, user.id as userid from schichten inner join user on user.id = schichten.user where schichten.schicht='$schicht'") or die(mysql_error());
darauf zugreifen.PHP-Code:$row['beschreibung']
...zur Zeit außer Betrieb...
Hier ist die SQL, das Feld Beschreibung habe ich selbst hinzugefügt.
PHP-Code:-- phpMyAdmin SQL Dump
-- version 3.3.9
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 13. April 2011 um 18:08
-- Server Version: 5.5.8
-- PHP-Version: 5.3.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Datenbank: `dienstplan_luedi`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `betriebsurlaub`
--
CREATE TABLE IF NOT EXISTS `betriebsurlaub` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`von` int(11) NOT NULL,
`bis` int(11) NOT NULL,
`grund` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
--
-- Daten für Tabelle `betriebsurlaub`
--
INSERT INTO `betriebsurlaub` (`id`, `von`, `bis`, `grund`) VALUES
(1, 1265216400, 1265277600, 'Betriebsurlaub');
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `news`
--
CREATE TABLE IF NOT EXISTS `news` (
`inhalt` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Daten für Tabelle `news`
--
INSERT INTO `news` (`inhalt`) VALUES
('text folgt');
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `schichten`
--
CREATE TABLE IF NOT EXISTS `schichten` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`schicht` int(11) NOT NULL,
`beschreibung` varchar(255) NOT NULL,
`user` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=26 ;
--
-- Daten für Tabelle `schichten`
--
INSERT INTO `schichten` (`id`, `schicht`, `beschreibung`, `user`) VALUES
(25, 1302697800, 'tessst', 3),
(24, 1302697800, 'tessst', 3),
(23, 1302697800, 'tessst', 3),
(22, 1302697800, 'tessst', 3),
(21, 1302696000, 'test', 1);
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `user`
--
CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`admin` tinyint(1) NOT NULL DEFAULT '0',
`username` varchar(255) NOT NULL,
`passwort` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
--
-- Daten für Tabelle `user`
--
INSERT INTO `user` (`id`, `admin`, `username`, `passwort`, `email`) VALUES
(1, 1, 'admin', 'test', ''),
(3, 0, 'test', 'test', '');
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `zeiten`
--
CREATE TABLE IF NOT EXISTS `zeiten` (
`Zeit` decimal(3,1) NOT NULL,
`Mo` tinyint(1) NOT NULL,
`Di` tinyint(1) NOT NULL,
`Mi` tinyint(1) NOT NULL,
`Do` tinyint(1) NOT NULL,
`Fr` tinyint(1) NOT NULL,
`Sa` tinyint(1) NOT NULL,
`So` tinyint(1) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Daten für Tabelle `zeiten`
--
INSERT INTO `zeiten` (`Zeit`, `Mo`, `Di`, `Mi`, `Do`, `Fr`, `Sa`, `So`) VALUES
(0.0, 0, 0, 0, 0, 0, 0, 0),
(0.5, 0, 0, 0, 0, 0, 0, 0),
(1.0, 0, 0, 0, 0, 0, 0, 0),
(1.5, 0, 0, 0, 0, 0, 0, 0),
(2.0, 0, 0, 0, 0, 0, 0, 0),
(2.5, 0, 0, 0, 0, 0, 0, 0),
(3.0, 0, 0, 0, 0, 0, 0, 0),
(3.5, 0, 0, 0, 0, 0, 0, 0),
(4.0, 0, 0, 0, 0, 0, 0, 0),
(4.5, 0, 0, 0, 0, 0, 0, 0),
(5.0, 0, 0, 0, 0, 0, 0, 0),
(5.5, 0, 0, 0, 0, 0, 0, 0),
(6.0, 0, 0, 0, 0, 0, 0, 0),
(6.5, 0, 0, 0, 0, 0, 0, 0),
(7.0, 0, 0, 0, 0, 0, 0, 0),
(7.5, 0, 0, 0, 0, 0, 0, 0),
(8.0, 0, 0, 0, 0, 0, 0, 0),
(8.5, 0, 0, 0, 0, 0, 0, 0),
(9.0, 0, 0, 0, 0, 0, 0, 0),
(9.5, 0, 0, 0, 0, 0, 0, 0),
(10.0, 0, 0, 0, 0, 0, 0, 0),
(10.5, 0, 0, 0, 0, 0, 0, 0),
(11.0, 0, 0, 0, 0, 0, 0, 0),
(11.5, 0, 0, 0, 0, 0, 0, 0),
(12.0, 0, 0, 0, 0, 0, 0, 0),
(12.5, 0, 0, 0, 0, 0, 0, 0),
(13.0, 0, 0, 0, 0, 0, 0, 0),
(13.5, 0, 0, 0, 0, 0, 0, 0),
(14.0, 1, 1, 1, 1, 1, 1, 1),
(14.5, 1, 1, 1, 1, 1, 1, 1),
(15.0, 1, 1, 1, 1, 1, 1, 1),
(15.5, 1, 1, 1, 1, 1, 1, 1),
(16.0, 1, 1, 1, 1, 1, 1, 1),
(16.5, 1, 1, 1, 1, 1, 1, 1),
(17.0, 1, 1, 1, 1, 1, 1, 1),
(17.5, 1, 1, 1, 1, 1, 1, 1),
(18.0, 1, 1, 1, 1, 1, 1, 1),
(18.5, 1, 1, 1, 1, 1, 1, 1),
(19.0, 1, 1, 1, 1, 1, 1, 1),
(19.5, 1, 1, 1, 1, 1, 1, 1),
(20.0, 1, 1, 1, 1, 1, 0, 0),
(20.5, 1, 1, 1, 1, 1, 0, 0),
(21.0, 1, 1, 1, 1, 1, 0, 0),
(21.5, 1, 1, 1, 1, 1, 0, 0),
(22.0, 0, 0, 0, 0, 0, 0, 0),
(22.5, 0, 0, 0, 0, 0, 0, 0),
(23.0, 0, 0, 0, 0, 0, 0, 0),
(23.5, 0, 0, 0, 0, 0, 0, 0);
super, nun gehts ersteinmal so wie ich es wollte, nun noch ein paar kleinarbeiten und es läuft - klasse forum dank dir moritz
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)