mehrere Funktionalitäten für einen Menü-Punkt einbauen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mehrere Funktionalitäten für einen Menü-Punkt einbauen

    Hallo liebe Leute,

    ich bin Anfängerin in PHP, verfüge aber über bessere Kenntnissen in SQL. Für meine Einarbeitung in das Thematik basiere ich meine Übungen auf dem Tutorial "PHP_MySQL_Tutorial_1.pdf", der sich auf diesen Link befindet http://www.peterkropff.de/misc/docs/PHP_MySQL_Tutorial_1.pdf.

    Darin ging es um den Aufbau von Funktionalitäten für verschiedenen Tabelle als Menüpunkte:
    1-Die Tabelle 'Kunde' als Menüpunkt 1 wurde mit der Funktionalität "Daten einpflegen",
    2-Die Tabelle 'Hersteller' als Menüpunkt 2 wurde mit der Funktionalität "Daten aktualisieren" und
    3-Die Tabelle 'Produkt' mit der Funktionalität "Daten löschen" verseht.

    Jetzt möchte ich für jede Tabelle alle 2 übrigen Funktionalitäten einbauen und weiß aber nicht, wie und wo ich anfangen soll. Da die Funktionalität und die Abfrage unterschiedlich sind und die drei Formularen in der selben Datei vorhaden sein sollen. Ich meine, eine Fallunterscheidung notwendig sein könnte und irgendwo in den URL einen Parameter mit GET übergeben. Aber weiter, weiss ich nicht.

    ich füge mal die zwei von den drei Tabelle-Dateien ein und falls es euch nicht zu sehr stört, könnt ihr auch direkt auf den Link gehen und da einen Einblick zu bekommen.

    Ich danke euch für die möglichen Antworte und auch dafür, dass Sie bis hierhin gelesen haben.

    SD

    Tabelle Kunde

    PHP-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
      <title>PHP / MySQL - Tutorial 1</title>
      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
      <link rel="stylesheet" href="../files/cms.css" type="text/css" />
    </head>
    <?php
      
    require ('../inc/db.inc.php');

      if (
    $_POST)
      {
        
    $query "INSERT INTO 
                    kunde(doktor,telefon,fax,strasse, plz,ort)  
                  VALUES 
                  (
                    '
    $_POST[doktor]',
                    '
    $_POST[telefon]',
                    '
    $_POST[fax]',
                    '
    $_POST[strasse]',
                    '
    $_POST[plz]',
                    '
    $_POST[ort]'
                  )"
    ;
        
    $result mysql_query ($query) or die ('Echec de requête:'mysql_error());
      }

      echo 
    '<body';
      if (
    $result)
      {
        echo 
    ' onload="window.opener.location.href='."'".'../index.php'.
               
    '?tabelle='.$_GET['tabelle']."'".'; window.close();"';
      }
      echo 
    '>';


    ?>
    <form action="kunden.php?tabelle=<?php echo $_GET['tabelle']; ?>" method="post">
        <p>
          <label for="doktor">Doktor</label>
          <input type="text" name="doktor" class="feld" />
        </p>
        <p>
          <label for="doktor">Telefon</label>
          <input type="text" name="telefon" class="feld" />
        </p>
        <p>
          <label for="doktor">Telefax</label>
          <input type="text" name="fax" class="feld" />
        </p>
        <p>
          <label for="doktor">Straße</label>
          <input type="text" name="strasse" class="feld" />
        </p>
        <p>
          <label for="plz">PLZ, Ort</label>
          <input type="text" name="plz" class="feld" style="width: 60px;" />
          <input type="text" name="ort" class="feld" style="width: 230px;" />
        </p>
        <p style="text-align: center">
          <input type="submit" value="Eingeben" />
        </p>
      </form>
    </body>
    </html>
    Tabelle hersteller

    PHP-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
      <title>PHP / MySQL - Tutorial 1</title>
      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
      <link rel="stylesheet" href="../files/cms.css" type="text/css" />
    </head>
    <?php
      
    require ('../inc/db.inc.php');  
      if (!
    $_POST)
      {
        
    $query "SELECT 
                    * 
                  FROM 
                    hersteller 
                  WHERE 
                    id = "
    .$_GET['id'];       
        
    $result     mysql_query ($query) or die (mysql_error());
        
    $hersteller mysql_fetch_row($result);
        
    print_r ($hersteller);
      }  
      
      if (
    $_POST)
      {
        
    $query "UPDATE hersteller
            SET 
                zulieferer   = '"
    .$_POST[zulieferer]."',
                telefon      = '"
    .$_POST[telefon]."',
                fax          = '"
    .$_POST[fax]."',
                strasse      = '"
    .$_POST[strasse]."',
                plz          = '"
    .$_POST[plz]."',
                ort          = '"
    .$_POST[ort]."'
            WHERE
               id        = '"
    .$_POST[id]."'";
            
    $update         mysql_query($query) or die ('Echec requête UPDATE:'.mysql_error());
      }

     
      echo 
    '<body';
      if (
    $update)
      {
        echo 
    ' onload="window.opener.location.href='."'".'../index.php'.
               
    '?tabelle='.$_GET['tabelle'].'&id='.$_POST['id'].
               
    "'".'; window.close();"';
      }
      echo 
    '>';
    ?>
      <form action="hersteller.php?tabelle=<?php echo $_GET['tabelle'].'&id='.$_POST['id']; ?>" method="post">
        <p>
          <label for="zulieferer">Zulieferer</label>
          <input type="text" name="zulieferer" class="feld" value="<?php echo $hersteller[1]; ?>" />
        </p>
        <p>
          <label for="telefon">Telefon</label>
          <input type="text" name="telefon" class="feld" value="<?php echo $hersteller[2]; ?>" />
        </p>
        <p>
          <label for="telefax">Telefax</label>
          <input type="text" name="fax" class="feld" value="<?php echo $hersteller[3]; ?>" />
        </p>
        <p>
          <label for="strasse">Straße</label>
          <input type="text" name="strasse" class="feld" value="<?php echo $hersteller[4]; ?>" />
        </p>
        <p>
          <label for="plz">PLZ, Ort</label>
          <input type="text" name="plz" class="feld" style="width: 60px;" value="<?php echo $hersteller[5]; ?>" />
          <input type="text" name="ort" class="feld" style="width: 230px;" value="<?php echo $hersteller[6]; ?>" />
        </p>
        <p style="text-align: center"> 
          <input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" />
          <input type="submit" value="Eingeben" />
        </p>
      </form>
    </body>
    </html>
    Tabelle produkt lasse ich mal...beiden anderen sollten reichen

    und hier noch mal die Index datei

    PHP-Code:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
      <title>PHP / MySQL - Tutorial 1</title>
      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
      <link rel="stylesheet" href="files/cms.css" type="text/css" />
      <script type="text/JavaScript" src="files/menue.js"></script>
    </head>
    <body>
      <div class="navi">
        <h1>Navigation</h1>
        <ul>
          <li><a href="index.php?tabelle=hersteller">Hersteller</a></li>
          <li><a href="index.php?tabelle=produkte">Produkte</a></li>
          <li><a href="index.php?tabelle=kunden">Kunden</a></li>
        </ul>
      </div>
    <?php
      
    require ('inc/db.inc.php');
      
      if (
    $_GET['tabelle'])
      {
        switch (
    $_GET['tabelle'])
        {
          case 
    'hersteller'$table 'hersteller';
                             
    $field 'zulieferer';
                             break;
          case 
    'produkte'  $table 'produkt';
                             
    $field 'produkt';
                             break;
          case 
    'kunden'    $table 'kunde';
                             
    $field 'doktor';
                             break;
          default          : die (
    'Manipulationsversuch!');
        }
        
        
    $query 'SELECT 
                    id, '
    .
                    
    $field.' AS list 
                  FROM '
    .
                    
    $table;
        
        
    $result mysql_query ($query) or die (mysql_error());
        while (
    $row mysql_fetch_assoc ($result))
        {
          
    $list[] = $row;
        }

        include (
    'inc/functions.inc.php');
        
    $code '<div class="ausgabe">
                  <h1>'
    .ucfirst($_GET['tabelle']).'</h1>';
        
    $code .= '<p class="menue">
                    <a href="#"
                      onclick="fenster('
    ."'".$_GET['tabelle']."',
                      '"
    .$_GET['tabelle']."'".');">
                      Neuen Datensatz eingeben
                    </a>
                  </p>'
    ;
        
    $code .= showList ($list$_GET['id']);
        
    $code .= '</div>';
        echo 
    $code;
      }
    ?>
    </body>
    </html>
    und die Funktion

    PHP-Code:
    <?php
      
    function showList ($list$id)
      {    
        for (
    $i 0$i count ($list); $i++)
        {      
          
    $ausgabe .= '<p>
               <a href="#"
                 onclick="fenster('
    ."'".$_GET['tabelle']."',
                  '"
    .$_GET['tabelle'].'&id='.$list[$i]['id']."'".');">
                Ändern
                      </a>'
    ;

            if (
    $id == $list[$i]['id'])
             {
              
    $ausgabe .='<span class="show">';
                    }
          
    $ausgabe .= $list[$i]['list'] ;

            if(
    $id == $list[$i]['id'])
             {
             
    $ausgabe .= '</span>';
             }
            
    $ausgabe .= '</p>';
        
        }
          return 
    $ausgabe;
      }
    ?>

  • #2
    Hallo S*****

    bitte nicht einfach meinen Code hier einstellen, sondern deine Ansätze mit einer Schilderung, warum etwas nicht funktioniert. Du hast doch schon selber mit GET-Parametern gearbeitet, also poste dazu mal deine Versuche.

    Peter

    PS: Den Abschnitt Fehlersuche hast du schon durchgearbeitet?
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Sorry für das Posting Deiner Code....war ohne böse Absichten....kann den Post noch rausnehmen, falls das ein Problem ist. Den Hinweis, schaue ich dann. danke

      Kommentar


      • #4
        Ich wollte damit nur, dass mein Code erst mal lattens ist. Wichtig ist deiner.

        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar

        Lädt...
        X