Ergebnis 1 bis 5 von 5

Thema: PHP Formular → Tabelle

  1. #1
    Azubi(ne)
    Registriert seit
    07.04.2018
    Beiträge
    74
    Danke
    4
    Bekam 0 mal "Danke" in 0 Postings

    Standard PHP Formular → Tabelle

    Hallo Zusammen! Ich habe bereits ein Formular und eine Tabelle.

    Soweit funktioniert auch alles, nur es ist so, dass es eine Aufgabenliste ist, also sollen die Leute auch die Aufgabe löschen können.

    Am ende soll es so aussehen:
    aufgaben.jpg

    Wenn man auf den Button "Erledigt" klickt, soll die ganze Zeile gelöscht werden.

    Aber da gibt es noch ein problem: Ich weiß nicht, wo ich den Button in den PHP-Code einfügen muss:

    PHP-Code:
    <?php session_start();error_reporting(E_ALL);                        /* Alle Fehlermeldungen anzeigen */
    echo $_POST['reload']."<br>\n";
    echo 
    $_POST['nickname']."<br>\n";
    echo 
    $_POST['aufgabe']."<br>\n";
    echo 
    $_POST['y-nickname']."<br>\n";
    echo 
    $_POST['date']."<br>\n"
    date_default_timezone_set("Europe/Berlin");    /* Zeitzone festlegen */
    $data = array();
    $speicher_datei "aufgaben.txt";         /* hier (Pfad und) Name der Datei zum Speichern der Eingaben festlegen */
    $max_entry 10;                              /* hier (maximale) Anzahl der in Tabelle angezeigten Zeilen festlegen */


    /* Hier beginnt die 'Reload-Sperre'. Einlesen und Speichern der Daten erfolgt nur,
    *  wenn $_POST['reload'] gesetzt ist und nicht schon mal verwendet wurde. */
    if(!isset($_POST['reload']))
       {
    $reload "";}
    else
       {
    $reload $_POST['reload'];
        if(!isset(
    $_SESSION['reload']) or $reload != $_SESSION['reload'])
           {
    $_SESSION['reload'] = $reload;        /* hier endet die Reload-Sperre. Weiter nur, wenn Bedingungen erfüllt sind */
            
    if(isset($_POST['nickname']))           /* Beginn einlesen der Daten aus Formular */
               
    {$data[0] = htmlentities($_POST['nickname']);
                
    $data[0] = trim(str_replace("~""-"$data[0]));}
            else
               {
    $data[0] = "";}


            if(isset(
    $_POST['aufgabe']))
               {
    $data[2] = htmlentities($_POST['aufgabe']);
                
    $data[2] = trim(str_replace("~""-"$data[2]));}
            else
               {
    $data[2] = "";}


            if(isset(
    $_POST['y-nickname']))
               {
    $data[3] = htmlentities($_POST['y-nickname']);
                
    $data[3] = trim(str_replace("~""-"$data[3]));}
            else
               {
    $data[3] = "";}


            if(isset(
    $_POST['date']))
               {
    $data[4] = htmlentities($_POST['date']);
                
    $data[4] = trim(str_replace("~""-"$data[4]));}
            else
               {
    $data[4] = "";}
    /* Ende Einlesen der Daten */


    /* Speichern der eingelesenen Daten in festgelegter Speicherdatei */
            
    $store $data[0]."~".$data[2]."~".$data[3]."~".$data[4]."\n";echo $store."<br>\n";  
            if(
    file_exists($speicher_datei))
               {
    file_put_contents($speicher_datei$storeFILE_APPEND);
               }
            else
               {
    file_put_contents($speicher_datei$store);
               }
           }
       }


    /* Einlesen der gespeicherten Daten */
    $file_data = array();
    $file_data =  file($speicher_dateiFILE_IGNORE_NEW_LINES FILE_SKIP_EMPTY_LINES);
    $anzahl count($file_data);
    $seiten round(($anzahl $max_entry) + 0.399999);


    /* setzen der Anfangswerte für start und stop in der Ergebnisanzeige */
    if(!isset($_POST['next']) and !isset($_POST['prev']))
       {
    $_SESSION['page'] = 1;
        
    $_SESSION['start'] = $anzahl -1;
        
    $_SESSION['stop'] = $_SESSION['start'] - $max_entry 1;
        if(
    $_SESSION['stop'] < 0)
           {
    $_SESSION['stop'] = 0;}
       }


    /* setzen der Werte für start und stop in der Ergebnisanzeige für nächste Seite */
    if(isset($_POST['next']))
       {if((
    $_SESSION['start'] - $max_entry) >= 0)
          {
    $_SESSION['start'] = $_SESSION['start'] - $max_entry;
           
    $_SESSION['page']++;
           if((
    $_SESSION['stop'] - $max_entry) >= 0)
              {
    $_SESSION['stop'] = $_SESSION['start'] - $max_entry 1;}
           else
              {
    $_SESSION['stop'] = 0;}
          }
       }


    /* setzen der Werte für start und stop in der Ergebnisanzeige für vorherige Seite */
    if(isset($_POST['prev']))
       {if((
    $_SESSION['start'] + $max_entry) < $anzahl)
          {
    $_SESSION['start'] = $_SESSION['start'] + $max_entry;
           
    $_SESSION['page']--;
           if((
    $_SESSION['stop'] + $max_entry) < $anzahl)
              {
    $_SESSION['stop'] = $_SESSION['start'] - $max_entry +1;}
           else
              {
    $_SESSION['stop'] = $anzahl -1;}
          }
       }
    ?>
    <!DOCTYPE html>
    <html lang="de">
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>SimuUndQuex | Support</title>
      <link rel="shortcut icon" href="../Bilder/server-icon.ico" type="image/x-icon">
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.7.0/css/font-awesome.min.css">
      <link rel="stylesheet" href="../styles/main.css">




    <style>
    main {
            background-color: #fff;
    }


    table {
            border-collapse: separate;
            border-spacing: 0.2em;
            margin-left: 2em;
            box-shadow: 0 0 0.1em #666;
            position: relative;
            z-index: 1;
            width: 1023px;
            background-color: #2e2832;
    }


    th,
    td {
            padding: 0.2em 0.4em;
            border-radius: 0.1em;
    }


    thead th {
            background-color: #ffebe6;
            color: #c22e03;
    }


    td {
            font-style: none;
            text-align: center;
            box-shadow: inset 1px 2px 4px -2px rgba(0, 0, 0, 0.4);
    }


    tbody tr:nth-child(even) td {
            background-color: #e3ebf2;
            color: #000;
    }


    td:empty {
            box-shadow: none;
            background-color: none;
    }


    th[scope=row] {
            color: #c22e03;
            text-align: center;
            background-color: transparent;
    }


    caption {
            color: white;
            background: #c22e03;
            font-size: 1.4em;
            box-shadow: 0.1em 0.1em 0.1em 0 hsl(0, 0%, 40%);
            padding: 0.2em 0.2em 0.2em 2em;
            width: 14em;
            margin-left: -.6em;
            position: relative;
    }


    caption::before {
            content: "";
            position: absolute;
            display: block;
            height: 0;
            width: 0;
            top: 1em;
            left: -0.6em;
            border-style: solid;
            border-width: 0.6em;
            border-color: transparent hsl(12, 96%, 24%) transparent transparent;
            z-index: -1;
    }
    .tg  {border-collapse:collapse;border-spacing:0;}
    .tg td{font-family:Arial, sans-serif;font-size:13px;padding:10px 4px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;}
    .tg th{font-family:Arial, sans-serif;font-size:13px;font-weight:normal;padding:10px 4px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;}


    #clan-liste{
            display: flex;
        align-items: center;
        justify-content: center;
            width: 1023px;
            margin: 0 auto;
    }
    th{
            color: #21b2a6;
            font-style: bold;
    }
    </style>




    </head>


    <body>
    <table class="tg">
    <caption>Aufgaben</caption>
      <tr>
        <th class="tg-031e"><b>Nickname</b></th>
        <th class="tg-031e"><b>Aufgabe</b></th>
        <th class="tg-031e"><b>Erhalten von</b></th>
        <th class="tg-031e"><b>Datum</b></th>
        <th class="tg-031e"><b><i class="fa fa-check"></i> Erledigt</b></th>
      </tr>


    <?php
    /* zeilenweise ausgeben der Daten in die Tabellenzeile mit den berechneten Start- und Stopwerten */
    for($a $_SESSION['start']; $a >= $_SESSION['stop']; $a--)
       {
    $data explode("~"$file_data[$a]);
        echo 
    "<tr>\n";
        echo 
    "<td class=\"tg-021e\">".$data[0]."</td>\n";
        echo 
    "<td class=\"tg-021e\">".$data[1]."</td>\n";
        echo 
    "<td class=\"tg-021e\">".$data[2]."</td>\n";
        echo 
    "<td class=\"tg-021e\">".$data[3]."</td>\n";
        echo 
    "<td class=\"tg-021e\">".$data[4]."</td>\n";
        echo 
    "</tr>\n";
       }
    ?>


    </table>


    <!-- Einfügen 'previous' und 'next' Buttons zur Navigation in der Liste -->
    <form action="#" method="post">
    <table style="">
       <tr>
          <td style="text-align: left; width: 10%; box-shadow: none;">
          <?php
          
    if($_SESSION['start'] < $anzahl -1)
             {echo 
    "<button style=\"width: 100%; border: 1px solid #000;\" type=\"submit\" name=\"prev\" value=\"-\">previous</button>\n";}
          
    ?>
          </td>
          <td style="text-align: center; width: 80%; color: #21b2a6; box-shadow: none;">Seite <?php echo $_SESSION['page']." von ".$seiten?></td>
          <td style="text-align: right; width: 10%; box-shadow: none;">
          <?php
          
    if($_SESSION['stop'] > 0)
             {echo 
    "<button style=\"width: 100%; border: 1px solid #000;\" type=\"submit\" name=\"next\" value=\"+\">next</button>\n";}
          
    ?>
          </td>
       </tr>
    </table>
    </form>


    <!-- Link zurück zum Eingabeformular -->
    <a href="aufgaben-2.php">Zur&uuml;ck</a>


    </body>
    </html>

    ___________
    Simuletsplay
    Geändert von Arne Drews (11.07.2018 um 10:40 Uhr) Grund: MOD: PHP-Tags korrigiert

  2. #2
    Moderator Avatar von Arne Drews
    Registriert seit
    20.01.2016
    Ort
    Friedrichstadt, NF
    Beiträge
    1.472
    Danke
    23
    Bekam 133 mal "Danke" in 132 Postings

    Standard AW: PHP Formular → Tabelle

    Ich weiß nicht, wo ich den Button in den PHP-Code einfügen muss
    Ein Button hat keinen PHP-Code und man kann auch keinen darauf hinterlegen!
    Wie aus dem Screenshot ersichtlich, solltest Du die Buttons idealerweise in einer weiteren Spalte des jeweiligen <tr> anlegen.

    Für die Funktionalität fielen mir zwei Varianten ein:

    1. Button auf Basis eines <a>-Tags mit Link auf eine PHP-Datei, die entsprechende SQL-Queries absetzt.
    2. Jede Zeile als einzelnes Formular definieren und den <button> als submit definieren. Ziel sollte wie unter Punkt 1 sein.


    Bei beiden Varianten ist Voraussetzung, dass in den übermittelten Daten an das PHP-Script entsprechende Informationen sind, mit denen die Queries abgesetzt werden können.

    Gruß Arne

  3. #3
    Azubi(ne)
    Themenstarter

    Registriert seit
    07.04.2018
    Beiträge
    74
    Danke
    4
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: PHP Formular → Tabelle

    Ok.. Was sind "Queries" ?

  4. #4
    Moderator Avatar von Arne Drews
    Registriert seit
    20.01.2016
    Ort
    Friedrichstadt, NF
    Beiträge
    1.472
    Danke
    23
    Bekam 133 mal "Danke" in 132 Postings

    Standard AW: PHP Formular → Tabelle


  5. #5
    Azubi(ne)
    Themenstarter

    Registriert seit
    07.04.2018
    Beiträge
    74
    Danke
    4
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: PHP Formular → Tabelle

    Achso ok! Dankeschön

Ähnliche Themen

  1. HTML und CSS - Navigation → Sonderbereich
    Von Simuletsplay im Forum HTML & CSS Forum
    Antworten: 9
    Letzter Beitrag: 16.05.2018, 08:34
  2. Log-In-Bereich und Tabelle mit Formular erweitern?
    Von klari im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 17.03.2010, 19:33
  3. angaben aus html formular in tabelle schreiben
    Von Unregistriert im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 27.08.2009, 14:30
  4. Formular in einer Tabelle
    Von |o|o im Forum HTML & CSS Forum
    Antworten: 11
    Letzter Beitrag: 30.06.2004, 00:49
  5. Formular in Tabelle
    Von mirko2000 im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 12.05.2004, 16:00

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •