+ Antworten
Ergebnis 1 bis 7 von 7

Thema: PHP MySQL übergabe Textfeld foreach

  1. #1
    TP-Junior eseldom macht alles soweit korrekt
    Registriert seit
    Apr 2011
    Beiträge
    6

    PHP MySQL übergabe Textfeld foreach

    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:
    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_neudate('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_neudate('D'$datum)), 02);
        
    $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">&nbsp;'.floor($x).'<sup>'.((strlen($x)>=3) ? '3' '0').'0</sup> - '.floor($x+((strlen($x)>=3) ? 0)).'<sup>'.((strlen($x)>=3) ? '0' '3').'0</sup>&nbsp;</td><td class="b"><b>'.$burl['grund'].'</b></td><td style="display: none;" class="chck" id="chck'.$y.'">&nbsp;</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">&nbsp;<?=floor($x)?><sup><?=((strlen($x)>=3) ? '3' '0')?>0</sup> - <?=floor($x+((strlen($x)>=3) ? 0))?><sup><?=((strlen($x)>=3) ? '0' '3')?>0</sup>&nbsp;</td><td class="b"><?=$user?></td><td class="chck" id="chck<?=$y?>" style="display: none;"><?=(($row) ? '&nbsp;' '<input type="checkbox" name="schicht['.$schicht.']" />')?></td></tr>
        <?php $y++; } ?>
    </table>
    </form>
    </div>
    P.S.: Wenn mir keiner so helfen würde, Ich würde es auch vergüten, bitte wenn von Intresse um ein KVA.

    gruß
    Dominic
    Geändert von eseldom (13.04.2011 um 00:45 Uhr) Grund: Schlusswort

  2. #2
    TP-Senior Moritz macht sich hier sehr viel Mühe
    Registriert seit
    Nov 2002
    Beiträge
    289
    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...

  3. #3
    TP-Junior eseldom macht alles soweit korrekt
    Registriert seit
    Apr 2011
    Beiträge
    6
    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.

  4. #4
    TP-Senior Moritz macht sich hier sehr viel Mühe
    Registriert seit
    Nov 2002
    Beiträge
    289
    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...

  5. #5
    TP-Senior Moritz macht sich hier sehr viel Mühe
    Registriert seit
    Nov 2002
    Beiträge
    289
    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:
    PHP-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()); 
    Da in deinem Beispiel (soweit ich erkennen kann) das Ergebnis der Abfrage (bspw. $row = mysql_fetch_assoc($result)) immer in $row steht, kannst Du über
    PHP-Code:
    $row['beschreibung'
    darauf zugreifen.
    ...zur Zeit außer Betrieb...

  6. #6
    TP-Junior eseldom macht alles soweit korrekt
    Registriert seit
    Apr 2011
    Beiträge
    6
    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
    -- 
    -- 
    Hostlocalhost
    -- Erstellungszeit13. April 2011 um 18:08
    -- Server Version5.5.8
    -- PHP-Version5.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` (
      `
    idint(11NOT NULL AUTO_INCREMENT,
      `
    vonint(11NOT NULL,
      `
    bisint(11NOT NULL,
      `
    grundvarchar(255NOT NULL,
      
    PRIMARY KEY (`id`)
    ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=;

    -- 
    -- 
    Daten für Tabelle `betriebsurlaub`
    -- 

    INSERT INTO `betriebsurlaub` (`id`, `von`, `bis`, `grund`) VALUES
    (112652164001265277600'Betriebsurlaub');

    -- --------------------------------------------------------

    -- 
    -- 
    Tabellenstruktur für Tabelle `news`
    -- 

    CREATE TABLE IF NOT EXISTS `news` (
      `
    inhalttext
    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` (
      `
    idint(11NOT NULL AUTO_INCREMENT,
      `
    schichtint(11NOT NULL,
      `
    beschreibungvarchar(255NOT NULL,
      `
    userint(11NOT 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
    (251302697800'tessst'3),
    (
    241302697800'tessst'3),
    (
    231302697800'tessst'3),
    (
    221302697800'tessst'3),
    (
    211302696000'test'1);

    -- --------------------------------------------------------

    -- 
    -- 
    Tabellenstruktur für Tabelle `user`
    -- 

    CREATE TABLE IF NOT EXISTS `user` (
      `
    idint(11NOT NULL AUTO_INCREMENT,
      `
    admintinyint(1NOT NULL DEFAULT '0',
      `
    usernamevarchar(255NOT NULL,
      `
    passwortvarchar(255NOT NULL,
      `
    emailvarchar(255NOT NULL,
      
    PRIMARY KEY (`id`)
    ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=;

    -- 
    -- 
    Daten für Tabelle `user`
    -- 

    INSERT INTO `user` (`id`, `admin`, `username`, `passwort`, `email`) VALUES
    (11'admin''test'''),
    (
    30'test''test''');

    -- --------------------------------------------------------

    -- 
    -- 
    Tabellenstruktur für Tabelle `zeiten`
    -- 

    CREATE TABLE IF NOT EXISTS `zeiten` (
      `
    Zeitdecimal(3,1NOT NULL,
      `
    Motinyint(1NOT NULL,
      `
    Ditinyint(1NOT NULL,
      `
    Mitinyint(1NOT NULL,
      `
    Dotinyint(1NOT NULL,
      `
    Frtinyint(1NOT NULL,
      `
    Satinyint(1NOT NULL,
      `
    Sotinyint(1NOT NULL
    ENGINE=MyISAM DEFAULT CHARSET=utf8;

    -- 
    -- 
    Daten für Tabelle `zeiten`
    -- 

    INSERT INTO `zeiten` (`Zeit`, `Mo`, `Di`, `Mi`, `Do`, `Fr`, `Sa`, `So`) VALUES
    (0.00000000),
    (
    0.50000000),
    (
    1.00000000),
    (
    1.50000000),
    (
    2.00000000),
    (
    2.50000000),
    (
    3.00000000),
    (
    3.50000000),
    (
    4.00000000),
    (
    4.50000000),
    (
    5.00000000),
    (
    5.50000000),
    (
    6.00000000),
    (
    6.50000000),
    (
    7.00000000),
    (
    7.50000000),
    (
    8.00000000),
    (
    8.50000000),
    (
    9.00000000),
    (
    9.50000000),
    (
    10.00000000),
    (
    10.50000000),
    (
    11.00000000),
    (
    11.50000000),
    (
    12.00000000),
    (
    12.50000000),
    (
    13.00000000),
    (
    13.50000000),
    (
    14.01111111),
    (
    14.51111111),
    (
    15.01111111),
    (
    15.51111111),
    (
    16.01111111),
    (
    16.51111111),
    (
    17.01111111),
    (
    17.51111111),
    (
    18.01111111),
    (
    18.51111111),
    (
    19.01111111),
    (
    19.51111111),
    (
    20.01111100),
    (
    20.51111100),
    (
    21.01111100),
    (
    21.51111100),
    (
    22.00000000),
    (
    22.50000000),
    (
    23.00000000),
    (
    23.50000000); 

  7. #7
    TP-Junior eseldom macht alles soweit korrekt
    Registriert seit
    Apr 2011
    Beiträge
    6
    super, nun gehts ersteinmal so wie ich es wollte, nun noch ein paar kleinarbeiten und es läuft - klasse forum dank dir moritz

+ Antworten

Ähnliche Themen

  1. MySQL-Array per foreach durchlaufen?
    Von paris im Forum Traum-Dynamik
    Antworten: 5
    Letzter Beitrag: 01.12.2008, 13:48
  2. foreach - Invalid argument supplied for foreach()
    Von Markus1979 im Forum Traum-Dynamik
    Antworten: 2
    Letzter Beitrag: 22.07.2008, 15:26
  3. foreach-schleife + mysql zerhackt
    Von OnkelLocke im Forum Traum-Dynamik
    Antworten: 2
    Letzter Beitrag: 22.05.2006, 10:32
  4. [php&mysql] $_GET übergabe
    Von jayjay im Forum Traum-Dynamik
    Antworten: 16
    Letzter Beitrag: 22.03.2006, 15:48
  5. [php & mysql] Problem mit Formulardaten-Übergabe
    Von janni im Forum Traum-Dynamik
    Antworten: 12
    Letzter Beitrag: 15.10.2005, 11:24

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

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