S
sinusalpha3
Hallo,
ich muss heute damit fertig werden. Spätestens Montag. Deswegen brauche ich eure Hilfe.
In einer Datenbank werden Datum, Schicht, Vorname, Nachname und ID gespeichert. Diese Datenbank dient zur koordienierung von Hilfskräften die bei uns Arbeiten. Aus dieser Datenbank soll eine ansehbare ansicht erstellt werden die dan per web applikation aufgerufen wird. Es werden also alle daten aus der Datenbank abgerufen. Die Schicht wird bei den jeweiligen feld mit einem X gekenzeichnet.
Das Programm funktioniert in den Grundfunktion einwandfrei. Es wird alles ausgegeben und angezeigt. Leider werden aber die X für die jeweilige schicht nicht ordentlich dargestellt. Das heist wenn sich 15 Leute für den 2010-06-12 melden und nur 3 für den 2010-06-13 werden die für den 13. zentriert angezeigt. das heist sie stehen nicht bei der richtigen person sondern bei einer anderen.
Ich poste mal eine vereinfachung des Quelltextes und ein mySQL dump.
PHP Seite:
SQL dump für euchz damit Ihr es mal bei euch Testen könnt. Name der Db ist "db679728-web".
Wenn ihr es Testet müsst Ihr bei der PHP Seite in dem Textfeld 2010-07-12 eingeben damit die Db abgerufen wird.
Bitte wirklich felehends um eure Hilfe.
ich muss heute damit fertig werden. Spätestens Montag. Deswegen brauche ich eure Hilfe.
In einer Datenbank werden Datum, Schicht, Vorname, Nachname und ID gespeichert. Diese Datenbank dient zur koordienierung von Hilfskräften die bei uns Arbeiten. Aus dieser Datenbank soll eine ansehbare ansicht erstellt werden die dan per web applikation aufgerufen wird. Es werden also alle daten aus der Datenbank abgerufen. Die Schicht wird bei den jeweiligen feld mit einem X gekenzeichnet.
Das Programm funktioniert in den Grundfunktion einwandfrei. Es wird alles ausgegeben und angezeigt. Leider werden aber die X für die jeweilige schicht nicht ordentlich dargestellt. Das heist wenn sich 15 Leute für den 2010-06-12 melden und nur 3 für den 2010-06-13 werden die für den 13. zentriert angezeigt. das heist sie stehen nicht bei der richtigen person sondern bei einer anderen.
Ich poste mal eine vereinfachung des Quelltextes und ein mySQL dump.
PHP Seite:
PHP:
<html>
<head>
</head>
<body>
<tr>
<form action="" method="post" name="form" id="form">
<p>Datum von :
<input name="theDate_start" type="text" id="sel_start" value="<?php echo $_POST[theDate_start]; ?>" size="10" onClick="displayCalendar(document.forms[0].theDate_start,'yyyy-mm-dd',this)">
<input type="submit" name="button2" id="button2" value="Wählen" />
</p>
</form>
<tr>
<p align="right">
<?php
if ($_POST[theDate_start]) {
$datum = $_POST[theDate_start];
list ($jahr, $monat, $tag) = explode ("-", $datum);
$tstamp1 = mktime(date("H"),date("i"),date("s"),date($monat),date($tag)+1,date($jahr));
$tstamp2 = mktime(date("H"),date("i"),date("s"),date($monat),date($tag)+2,date($jahr));
$tstamp3 = mktime(date("H"),date("i"),date("s"),date($monat),date($tag)+3,date($jahr));
$tstamp4 = mktime(date("H"),date("i"),date("s"),date($monat),date($tag)+4,date($jahr));
$tstamp5 = mktime(date("H"),date("i"),date("s"),date($monat),date($tag)+5,date($jahr));
$tstamp6 = mktime(date("H"),date("i"),date("s"),date($monat),date($tag)+6,date($jahr));
$tstamp7 = mktime(date("H"),date("i"),date("s"),date($monat),date($tag)+7,date($jahr));
$adddatum1 = date("Y-m-d",$tstamp1);
$adddatum2 = date("Y-m-d",$tstamp2);
$adddatum3 = date("Y-m-d",$tstamp3);
$adddatum4 = date("Y-m-d",$tstamp4);
$adddatum5 = date("Y-m-d",$tstamp5);
$adddatum6 = date("Y-m-d",$tstamp6);
$adddatum7 = date("Y-m-d",$tstamp7);
}
?>
</p>
<tr>
<tr>
<tr>
<table width="536" border="0" align="center">
<tr>
<td height="26"> </td>
<td> </td>
<td> </td>
<td><?php echo $_POST[theDate_start]; ?></td>
<td><?php echo $adddatum1; ?></td>
</tr>
<tr>
<td height="26"><table width="87" border="1">
<tr>
<td width="77" height="23">ID:</td>
</tr>
</table></td>
<td><table width="72" border="1">
<tr>
<td width="62" height="23">Vorname:</td>
</tr>
</table></td>
<td><table width="114" border="1">
<tr>
<td width="104" height="23">Nachname:</td>
</tr>
</table></td>
<td><table width="120" border="1">
<tr>
<td width="39" height="23">FS:</td>
<td width="30">SS:</td>
<td width="29">NS:</td>
</tr>
</table></td>
<td><table width="120" border="1">
<tr>
<td width="39">FS:</td>
<td width="30">SS:</td>
<td width="29">NS:</td>
</tr>
</table></td>
</tr>
<tr>
<td height="26"><table width="84" border="0"><?PHP
include ("../includes/_config.php");
$query = "SELECT distinct id, nachname, vorname FROM eingabe where datum>='$_POST[theDate_start]' AND datum<='$adddatum7'";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result)) {
?>
<tr>
<td width="78" height="20"><?php echo $line[id]; ?></td>
</tr>
<?php } ?>
</table></td>
<td><table width="73" border="0">
<?PHP
include ("../includes/_config.php");
$query = "SELECT distinct id, nachname, vorname FROM eingabe where datum>='$_POST[theDate_start]' AND datum<='$adddatum7'";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result)) {
?>
<tr>
<td width="67" height="20"><?php echo $line[vorname]; ?></td>
</tr>
<?php } ?>
</table></td>
<td><table width="113" border="0">
<?PHP
include ("../includes/_config.php");
$query = "SELECT distinct id, nachname, vorname FROM eingabe where datum>='$_POST[theDate_start]' AND datum<='$adddatum7'";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result)) {
?>
<tr>
<td width="107" height="20"><?php echo $line[nachname]; ?> </td>
</tr><?php } ?>
</table></td>
<td><table width="118" border="0">
<tr>
<?PHP
$dat = date('Y-m-d', $_POST[theDate_start]);
include ("../includes/_config.php");
$query = "SELECT datum, schicht, if( (schicht like '%1.%' or schicht='egal'),'X','') as FS , if( (schicht like '%2.%' or schicht='egal'),'X','') as SS, if( (schicht like '%3.%' or schicht='egal'),'X','') as NS FROM `eingabe` where datum='$_POST[theDate_start]'";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result)) {
?>
<td width="52" height="20"><span class="Stil1"> <?php echo $line[FS];?></span></td>
<td width="28"><span class="Stil1"><?php echo $line[SS];?></span></td>
<td width="24"><span class="Stil1"><?php echo $line[NS];?></span></td>
</tr>
<?php
}
mysql_close();
?>
</table></td>
<td><table width="118" border="0">
<?PHP
include ("../includes/_config.php");
$query = "SELECT datum, schicht, if( (schicht like '%1.%' or schicht='egal'),'X','') as FS, if( (schicht like '%2.%' or schicht='egal'),'X','') as SS, if( (schicht like '%3.%' or schicht='egal'),'X','') as NS FROM `eingabe` where datum='$adddatum1'";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result)) {
?>
<tr>
<td width="52" height="20"><span class="Stil1"> <?php echo $line[FS];?></span></td>
<td width="28"><span class="Stil1"><?php echo $line[SS];?></span></td>
<td width="24"><span class="Stil1"><?php echo $line[NS];?></span></td>
</tr>
<?php
}
mysql_close();
?>
</table></td>
</tr>
</table>
</tr>
</body>
</html>
SQL dump für euchz damit Ihr es mal bei euch Testen könnt. Name der Db ist "db679728-web".
Wenn ihr es Testet müsst Ihr bei der PHP Seite in dem Textfeld 2010-07-12 eingeben damit die Db abgerufen wird.
SQL:
-- phpMyAdmin SQL Dump
-- version 3.2.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 23. Juli 2010 um 09:59
-- Server Version: 5.1.41
-- PHP-Version: 5.3.1
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: `db679728-web`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `eingabe`
--
CREATE TABLE IF NOT EXISTS `eingabe` (
`id_a` int(100) NOT NULL AUTO_INCREMENT,
`id` int(100) NOT NULL,
`vorname` varchar(100) NOT NULL,
`nachname` varchar(100) NOT NULL,
`datum` date NOT NULL,
`schicht` varchar(100) NOT NULL,
`email` varchar(100) NOT NULL,
`bevorzugt_email` varchar(11) NOT NULL,
`bevorzugt_sms` varchar(11) NOT NULL,
`tel` varchar(100) NOT NULL,
`geschlecht` varchar(100) NOT NULL,
PRIMARY KEY (`id_a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=23 ;
--
-- Daten für Tabelle `eingabe`
--
INSERT INTO `eingabe` (`id_a`, `id`, `vorname`, `nachname`, `datum`, `schicht`, `email`, `bevorzugt_email`, `bevorzugt_sms`, `tel`, `geschlecht`) VALUES
(22, 4, 'User', 'Test', '2010-07-12', '1. Fruehschicht', 'user1@127.0.0.1', 'ja', 'nein', '', 'geeherter Herr'),
(21, 2, 'Franz', 'Harz', '2010-07-24', 'egal', 'test@gmx.de', 'ja', 'nein', '', 'geeherter Herr'),
(20, 0, 'Test', 'Test1', '2010-07-12', 'egal', '', '', '', '', ''),
(19, 2, 'Franz', 'Harz', '2010-07-13', '1. Fruehschicht', 'test@gmx.de', 'ja', 'nein', '', 'geeherter Herr');
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Bitte wirklich felehends um eure Hilfe.
Zuletzt bearbeitet von einem Moderator: