Antworten auf deine Fragen:
Neues Thema erstellen

Datenbank Daten ändern

H

h1ght3ch

Guest

Hallo Leute,

ich hoffe ihr könnt mir helfen. Bin neu im PHP Bereich und bin auf einen Fehler gestoßen den nicht alleine lösen kann.

Wenn ich einen Lieferanten auswähle, der geändert werden soll, wird nichts geladen. Es kommt ne Fehlermeldung "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/htdocs/w00b62dd/*******/fileadmin/user_upload/*******/aendern.php on line 69
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '==''' at line 1 geladen".

Bin ein wenig Ratlos.

Das UPDATE kommt noch ... damit beschäftige ich mich sobald der erste Schritt funktioniert.

Code:
<?
    //MySQL includieren
    include("global.php");
    
    $laden=0;

  if($laden==0)
  {
    $query = "SELECT * FROM bestellen ORDER BY Lieferant";
    $result = mysql_query($query);
    $row = mysql_fetch_array($result);
    $laden = 1;
  }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Kontaktlinsen</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<link href="css/style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div class="page_margins">
  <div class="page">
    <div id="header">
      <div id="logo"><a href="index.html"><img src="images/logo.gif" alt="" title="" border="0" height="75" width="400" /></a></div>
      <div id="topnav">
        <span>Kontaktlinsen</span>
      </div>
    </div>
    <div id="main">
      <div id="col3">
        <div id="col3_content" class="clearfix"> <a id="content" name="content"></a>
          <form method="post">
            <div id="cont">
              <div id="wN">
                <h5>Lieferanten ändern</h5>
                <div id="form_container">
                  <form id="form_263623" action="aendern.php" method="POST">
                    <h2>Welchen Lieferanten möchten Sie ändern</h2>
                    <ul>
                      <li class="d_four">
                        <label for="Lieferant">Lieferant </label>
                        <select name="Lieferant">
<?php
    while ($row = mysql_fetch_assoc($result))
      {
?> 
                          <option value="<? echo $row['Lieferant']; ?>"">
<?php
          printf ($row['Lieferant']);
?>
                          </option>
<?php
        }
?>
                        </select>
                      </li>
                    </ul>
                  </form>
                  <br /><br /><input type="submit" name="submit" value="laden" /><br />
                </div>
<?
  if($laden==1)
    {
      $query2 = "SELECT * FROM bestellen WHERE Lieferant=='".$_POST['Lieferant']."'";
      $result2 = mysql_query($query2);
      $row2 = mysql_fetch_array($result2);      
      echo mysql_error();
      echo " geladen";
    } 
?>
                <div id="form_container">
                  <form id="form_263623" action="aendern.php" method="POST">
                    <h2>Ändern</h2>
                    <ul>
                      <li class="d_four">
                        <label for="Lieferant">Lieferant </label>
                             <input name="Lieferant" type="text" value="<? echo $row2['Lieferant']; ?>"/> 
                      </li>
                      <li class="d_four">
                        <label for="Web">Web </label>
                        <input name="Web" class="element text medium" type="text" value="<? echo $row2['Web']; ?>"/> 
                      </li>
                      <li class="d_four">
                        <label for="Benutzer">Benutzer </label>
                        <input name="Benutzer" class="element text medium" type="text" value="<? echo $row2['Benutzer']; ?>"/> 
                      </li>
                      <li class="d_four">
                        <label for="Passwort">Passwort </label>
                        <input name="Passwort" class="element text medium" type="text" value="<? echo $row2['Passwort']; ?>"/> 
                      </li>
                      <li class="d_four">
                        <label for="Kundennummer">Kundennummer </label>
                        <input name="Kundennummer" class="element text medium" type="text" value="<? echo $row2['Kundennummer']; ?>"/> 
                      </li>
                      <li class="d_four">
                        <label for="Kontakt">Kontakt </label><br />
                        <input name="Kontakt" class="element text medium" type="text" value="<? echo $row2['Kontakt']; ?>"/> 
                      </li>
                      <li class="d_four">
                        <label for="Kategorie">Kategorie </label>
                        <select name="Kategorie"> 
                          <option value="" selected="selected"></option>
                          <option value="Brillengestelle" >Brillengestelle</option>
                          <option value="Brillenglas" >Brillengläser</option>
                          <option value="Kontaktlinsen" >Kontaktlinsen</option>
                        </select>
                      </li>
                      <li class="d_four">
                        <label for="eintragen">eintragen? </label><br />
                        <input name="eintragen" type="text" value="ja / nein"/>
                      </li>
                    </ul>
                  </form>
                  <br /><br /><br /><input type="submit" name="submit" value="Ändern" /><br />    
                </div>
                <a href="lieferanten.php">zurück</a>
              </div>
            </div>
          </form>
            </div>
        <div id="ie_clearing">&nbsp;</div>
      </div>
    </div>
  </div>
</div>
</body>
</html>
 

AW: Datenbank Daten ändern

Hi,

du hast zwei mysql_fetch_array. Weil?
Abgesehen davon kannst du entweder über
if(mysql_num_rows($result)) {....

prüfen, ob ein Ergebnis überhaupt vorliegt und zum anderen dir direkt
in der while die Daten ausgeben lassen.

Am besten ist es allerdings per echo '<pre>'; print_r($result); echo '</pre>';
dir anzeigen zu lassen, was alles an Ergebnis aus der DB-Anfrage kommt.

Ist $laden überhaupt gefüllt != 0 - dann gibt es ganz klar einen Fehler in der while, da $result nicht vorhanden ist ;)
 
AW: Datenbank Daten ändern

Hallo,
dein Fehler liegt in Zeile 69

$query2 = "SELECT * FROM bestellen WHERE Lieferant=='".$_POST['Lieferant']."'";

Hier hast du zwei == Zeichen. SQL mag nur eines!

Ersetzte die Zeile in

$query2 = "SELECT * FROM bestellen WHERE Lieferant='".$_POST['Lieferant']."'";

Holger
 
AW: Datenbank Daten ändern

Jo oder so :)

Allerdings teste danach - also nach der Korrektur - direkt mal dein Eingabefeld mit einem Leerzeichen und sende den form-tag ab ;)
 
AW: Datenbank Daten ändern

Könnt Ihr mir auch beim "UPDATE" helfen?
Wenn ich beim "UPDATE `bestellen` SET Web='$Web' WHERE Lieferant='".$_POST['Lieferant']."'" die Variable $Web benutze, dann wird der Wert der vorher drin stand gelöscht und wenn ich da aber was eintrage zB "www" dann wird auch "www" in die DB geschrieben.
Die Variable scheint also leer zu sein, richtig?

Wie bekomme ich dann den Wert aus dem Eingabefeld da rein?

Kenn mich nicht so gut mit PHP aus.

PHP:
<?
    //MySQL includieren
    include("global.php");
    
    $laden=0;
    $aendern=0;

  if($laden==0)
  {
    $query = "SELECT * FROM bestellen ORDER BY Lieferant";
    $result = mysql_query($query);
    $row = mysql_fetch_array($result);
    $laden = 1;
  }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Kontaktlinsen</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<link href="css/style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div class="page_margins">
  <div class="page">
    <div id="header">
      <div id="logo"><a href="index.html"><img src="images/logo.gif" alt="" title="" border="0" height="75" width="400" /></a></div>
      <div id="topnav">
        <span>Kontaktlinsen</span>
      </div>
    </div>
    <div id="main">
      <div id="col3">
        <div id="col3_content" class="clearfix"> <a id="content" name="content"></a>
          <form method="post">
            <div id="cont">
              <div id="wN">
                <h5>Lieferanten ändern</h5>
                <div id="form_container">
                  <form id="form_263623" action="aendern.php" method="POST">
                    <h2>Welchen Lieferanten möchten Sie ändern</h2>
                    <ul>
                      <li class="d_four">
                        <label for="Lieferant">Lieferant </label>
                        <select name="Lieferant">
<?php
    while ($row = mysql_fetch_assoc($result))
      {
?> 
                          <option value="<? echo $row['Lieferant']; ?>"">
<?php
          printf ($row['Lieferant']);
?>
                          </option>
<?php
        }
?>
                        </select>
                      </li>
                    </ul>
                  </form>
                  <br /><br /><input type="submit" name="submit" value="laden" /><br /><br />
                </div>
<?
  if($laden==1)
    {
      $query2 = "SELECT * FROM bestellen WHERE Lieferant='".$_POST['Lieferant']."'";
      $result2 = mysql_query($query2);
      $row2 = mysql_fetch_array($result2);      
      echo mysql_error();
      $aendern=1;
      $laden=0;
    } 
?>
                <div id="form_container">
                  <form id="form_263623" action="lb_bearb.php" method="POST">
                    <h2>Ändern</h2>
                    <ul>
                      <li class="d_four">
                        <label for="Lieferant">Lieferant </label>
                             <input name="Lieferant" type="text" value="<? echo $row2['Lieferant']; ?>"/> 
                      </li>
                      <li class="d_four">
                        <label for="Web">Web </label>
                        <input name="Web" class="element text medium" type="text" value="<? echo $row2['Web']; ?>"/> 
                      </li>
                      <li class="d_four">
                        <label for="Benutzer">Benutzer </label>
                        <input name="Benutzer" class="element text medium" type="text" value="<? echo $row2['Benutzer']; ?>"/> 
                      </li>
                      <li class="d_four">
                        <label for="Passwort">Passwort </label>
                        <input name="Passwort" class="element text medium" type="text" value="<? echo $row2['Passwort']; ?>"/> 
                      </li>
                      <li class="d_four">
                        <label for="Kundennummer">Kundennummer </label>
                        <input name="Kundennummer" class="element text medium" type="text" value="<? echo $row2['Kundennummer']; ?>"/> 
                      </li>
                      <li class="d_four">
                        <label for="Kontakt">Kontakt </label><br />
                        <input name="Kontakt" class="element text medium" type="text" value="<? echo $row2['Kontakt']; ?>"/> 
                      </li>
                      <li class="d_four">
                        <label for="Kategorie">Kategorie </label>
                        <select name="Kategorie"> 
                          <option value="" selected="selected"></option>
                          <option value="Brillengestelle" >Brillengestelle</option>
                          <option value="Brillenglas" >Brillengläser</option>
                          <option value="Kontaktlinsen" >Kontaktlinsen</option>
                        </select>
                      </li>
                    </ul>
                  </form>
                  <br /><br /><br /><input type="submit" name="submit" value="Ändern" /><br />
<?
  if($aendern==1)
    {
      $query = "UPDATE `bestellen` SET Web='$Web' WHERE Lieferant='".$_POST['Lieferant']."'";
      $update = mysql_query($query);
      echo mysql_error();
      echo $Web;
      $aendern=0;
      $laden=0;
    }
?>    
                </div>
                <a href="lieferanten.php">zurück</a>
              </div>
            </div>
          </form>
            </div>
        <div id="ie_clearing">&nbsp;</div>
      </div>
    </div>
  </div>
</div>
</body>
</html>
 
AW: Datenbank Daten ändern

Hallo,
du darfst nicht SET Web='$Web' schreiben, sondern
SET Web='$_POST[Web]'

Nur so wird der Inhalt vom Textfeld in die DB geschrieben.

Noch ne Anmerkung:

Gib deinen Submit-Buttons einen eindeutigen Namen. z.B.

<input type="submit" name="aendern" value="Ändern" />

Dann kannst du anstatt mit

if($aendern==1)

if (isset($_POST[aendern])){
<dein update-code>
}

verwenden. Ist sicherer. Das Update soll ja nur beim klicken den Buttons durchgeführt werden.
Gleiches gilt für alle anderen Submit-Button

Holger
 
AW: Datenbank Daten ändern

Hab den Fehler gefunden ... hab die <form>-tags geschachtelt ...
 
Zuletzt bearbeitet von einem Moderator:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
119.002
Beiträge
1.540.312
Mitglieder
23.157
Neuestes Mitglied
Schutzengel088
Oben