Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Daten werden nicht eingetragen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Daten werden nicht eingetragen

    Hallo,

    ich bin momentan dabei PHP in Kombination mit MSQL zu lernen, sprich leider nur ein Laie.

    Meine Arbeit begrenzt sich auf das Auslesen einer Datenbank bzw. das Eintragen einer Datenbank über Formulare. Im Verlauf soll diese dann umfangreicher werden, wobei lieber klein anfangen.

    Nun zu meinem Problem:

    Ich hab erstmal die prinzipiellen Schritte gemacht. Verbindung zum Server, zur Datenbank usw.
    Daraufhin meine Tabelle im phpMyAdmin mit 2 Testeintragen bestückt.
    Leider werden mir diese Einträge nicht explizit in die Tabelle eingefügt, die über php/ html angezeigt werden sollen.


    PHP Quellcode:

    PHP-Code:
    <?php
    //Definitionen
    //Verbindung mit dem MySQL-Server herstellen
    //Planung: Auslagerung der Daten in eine eine config.php + include.php
    $mysqlhost  =   "localhost";          // MySQL-Host angeben
    $mysqluser  =   "root";               // MySQL-User angeben
    $mysqlpwd   =    "";                  // Passwort angeben
    $mysqldb    =   "lieferanten_tool";   // Gewuenschte Datenbank angeben

    $connection =   mysql_connect($mysqlhost$mysqluser$mysqlpwd)
                    or die(
    "Verbindungsversuch fehlgeschlagen");

    //Verbindung mit der Datenbank herstellen
    mysql_select_db($mysqldb$connection)
                    or die(
    "Konnte die Datenbank nicht waehlen.");

    //Asuwahl der Zeilen aus der Tabelle
    $sql "SELECT * FROM lieferanten_db ORDER BY l_id;";

    //Anfrage an MySQL senden
    $lieferanten_query mysql_query($sql)
                    or die(
    "Anfrage nicht erfolgreich");

    // Anzahl der Datensätze anzeigen
    $anzahl mysql_num_rows($lieferanten_query);

    echo 
    "Anzahl der Datensätze: $anzahl";
    ?> 
     
    <table cellpadding="10" cellspacing="3" border="3">
          <thead>
            <tr>
              <td> Firma </td>
              <td> Nachname </td>
              <td> Vorname </td>
              <td> Telefon </td>
              <td> Fax </td>
              <td> E-Mail </td>
              <td> Operation </td>
            </tr>
          </thead>
      <tbody>
    <?php
    while ($liefer mysql_fetch_array($lieferanten_queryMYSQL_ASSOC))
      {
        echo  
    '<tr>'
           
    .  '<td>' $liefer->l_firma    '</td>'
           
    .  '<td>' $liefer->l_nachname '</td>'
           
    .  '<td>' $liefer->l_vorname  '</td>'
           
    .  '<td>' $liefer->l_telefon  '</td>'
           
    .  '<td>' $liefer->l_fax      '</td>'
           
    .  '<td>' $liefer->l_email    '</td>'
           
    .  '<td>'
           
    .  '<a href="test3.php?kid=' $liefer->l_id '">Bearbeiten</a>'
           
    .  '</td>'
           
    .  '</tr>';
      }
    ?> 
      </tbody>
    </table>
    Über eine Hilfe würde ich mich freuen.

    Beste Grüße,
    Persie

  • #2
    Hi.

    Schau Dir mal die Hilfe zu mysql_fetch_array an, dann weißt du, was das Problem ist:

    PHP: mysql_fetch_array - Manual

    Ansonsten

    PHP-Code:
    //Warum steht hier noch ein ; innerhalb des SQL Statements?
    $sql "SELECT * FROM lieferanten_db ORDER BY l_id;"
    Zudem sollte man Select* FROM vermeiden und lieber die einzelnen Spalten angeben (performanter). Als Tipp: die Connection Details würde ich in eine separate Datei auslagern, damit Du sie beliebig einbinden kannst!

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Vielen Dank für die schnelle Antwort!

      Ich habe das Problem folgendermaßen gelöst:

      PHP-Code:
      while ($liefer mysql_fetch_array($lieferanten_queryMYSQL_ASSOC))
        {
          echo  
      '<tr>'
             
      .  '<td>' $liefer["l_firma"]    . '</td>' 
      Es fehlten die eckigen Klammern sowie die Anführungzeichen.

      Ich bin effektiv seit 2-3 Tagen daran und habe schon im Hinterkopf dass ich die Verbindungsoptionen seperat in eine config.php auslagere.

      Aber aller Anfang ist schwer!

      Kommentar


      • #4
        Korrekt, hast Du ja schnell gefunden! Desweiteren würde ich gleich mit OOP in PHP5 anfangen. Hilfreich dafür ist z.B. folgendes PDF:

        http://www.galileocomputing.de/downl...neuerungen.pdf

        Wolf29
        while (!asleep()) sheep++;

        Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

        Kommentar


        • #5
          Und wenn du dich mit den Grundlagen angefreundet hast, wäre das nächste sich PDO als Verbindungsmöglichkeit zur Datenbank anzuschauen.

          Kommentar


          • #6
            Slow Down Please!

            Ich mach des seit 2 Tagen! ^^

            Der nächste Punkt ist erstmal dass ich Daten über ein Formular in die Datenbank eingeben kann, d.h. ein Formular schreiben damit ich Kontakte hinzufügen kann bzw. die dann im Nachgang auch bearbeiten kann.

            Dannach kommt die große Suchfunktion mit einer Übersicht!

            Wenn ich Fragen habe, und das wird sicherlich passieren, meld ich mich schon hier!

            Trotzdem schonmal besten Dank!

            MfG,
            Persie

            Kommentar


            • #7
              Problem momentan ist, dass die Daten, die ich in eine Tabelle eingegeben habe ja durch die Zeit eventuell verändert werden müssen.

              Daher habe ich eine Bearbeiten-Funktion in die liste.php eingebaut, und eine bearbeiten.php erstellt, nur leider werden mir die zu editierenden daten nicht in der tabelle angezeigt, sie ist nur leer.

              kann mir jemand weiterhelfen?

              Kommentar


              • #8
                Welche Tabelle und was ist leer?

                Kommentar


                • #9
                  Es gibt eine Tabelle, eine Übersicht wo Daten wie Name, Email usw drin stehen.

                  Dann ein Formular, wo ich die Daten eingebe und diese dann in die Tabelle = Übersicht gespeichert werden.

                  Desweiteren einen Zelle hinter jedem eingetragenen Datensatz, nur wenn ich auf "Bearbeiten" drücke, kommt das Formular nicht bestückt mit den Daten, die ich editieren will, sondern eben leer ohne Inhalt.

                  Kommentar


                  • #10
                    Ja schwierig dir da zu helfen so ganz ohne Infos dazu oder?

                    Kommentar


                    • #11
                      PHP-Code:
                      <?php
                      require_once 'confiq.php';

                      error_reporting(E_ALL);


                      if (isset(
                      $_GET["meineid"]))
                      {
                       
                      $id $_GET["meineid"];
                      }

                      if (isset(
                      $_POST["l_id"]))
                      {
                       
                      $id $_POST["l_id"];
                      }  


                      if (isset(
                      $_POST["submit"]))
                      {
                      $insert1 $_POST["l_firma"];
                      $insert2 $_POST["l_nachname"];
                      $insert3 $_POST["l_vorname"];
                      $insert4 $_POST["l_telefon"];
                      $insert5 $_POST["l_fax"];
                      $insert6 $_POST["l_email"];

                      $einfuegen mysql_query("UPDATE lieferanten_db SET    l_firma      = '".$insert1."',
                                                                             l_nachname   = '"
                      .$insert2."',
                                                                             l_vorname    = '"
                      .$insert3."',
                                                                             l_telefon    = '"
                      .$insert4."',
                                                                             l_fax        = '"
                      .$insert5."',
                                                                             l_email      = '"
                      .$insert6."'
                                                                      WHERE  l_id         = '"
                      .$id.     "'
                                              "
                      );
                      if (
                      $einfuegen)
                        {
                        echo 
                      "Datensatz wurde geändert";
                        }
                      else
                        {
                        echo 
                      "Datensatz konnte nicht geändert werden. Fehler: ".mysql_error();
                        }
                      }

                      $qry mysql_query("SELECT * FROM lieferanten_db WHERE l_id = '".$id."'");

                      while (
                      $row mysql_fetch_array($qry))
                      {
                      $id      $row["l_id"]; 
                      $insert1 $row["l_firma"];
                      $insert2 $row["l_nachname"];
                      $insert3 $row["l_vorname"];
                      $insert4 $row["l_telefon"];
                      $insert5 $row["l_fax"];
                      $insert6 $row["l_email"];
                      }
                      ?>
                      <form method="post" action="lieferanten-bearbeiten.php">
                        <input type="hidden" name="l_id" value="<?php echo $id?>"/>
                          <table border="1">
                            <caption>Lieferanten bearbeiten</caption>
                              <tfoot>
                                <tr>
                                  <td><a href="lieferanten-liste.php?id=<?php echo $l_id?>">Zur&uuml;ck</a></td>
                                  <td style="text-align: right"><input type="submit" name="submit" value="Speichern"/></td>
                                </tr>
                              </tfoot>
                              <tbody>
                                <th>ID</th>
                                  <td><input type="text" name="l_id" size="50" value="<?php echo $id?>"/></td>
                                </tr>
                                <th>Firma</th>
                                  <td><input type="text" name="l_firma" size="50" value="<?php echo $insert1?>"/></td>
                                </tr>
                                <tr>
                                <th>Nachname</th>
                                  <td><input type="text" name="l_nachname" size="50" value="<?php echo $insert2?>"/></td>
                                </tr>
                                <tr>
                                <th>Vorname</th>
                                  <td><input type="text" name="l_vorname" size="50" value="<?php echo $insert3?>"/></td>
                                </tr>
                                <tr>
                                <th>Telefon</th>
                                  <td><input type="text" name="l_telefon" size="50" value="<?php echo $insert4?>"/></td>
                                </tr>
                                <tr>
                                <th>Fax</th>
                                  <td><input type="text" name="l_fax" size="50" value="<?php echo $insert5?>"/></td>
                                </tr>
                                <tr>
                                <th>E-Mail</th>
                                  <td><input type="text" name="l_email" size="50" value="<?php echo $insert6?>"/></td>
                                </tr>
                              </tbody>
                          </table>
                      </form>

                      hilft das ein wenig?

                      Kommentar


                      • #12
                        Und was passiert jetzt? Kommt irgendwo nen Fehler, hast du mal die Daten beim speichern in der DB ausgegeben um zu sehen ob die Variablen überhaupt gefüllt sind?

                        Kommentar


                        • #13
                          hab es hinbekommen
                          merci

                          Kommentar

                          Lädt...
                          X