Gast Hornochse Geschrieben 26. November 2012 Geschrieben 26. November 2012 Hallo Community, ich habe eine MySQL-Datenbank mit nur einer Tabelle, in der die folgenden Spalten angelegt wurden: EAN, Bezeichnung, Beschreibung, Preis Nun habe ich eine HTML-Seite erstellt mit einem Formularfeld, in dem die EAN-Nummer eingegeben wird. Nach einem Klick auf den Prüfen-Butten erscheint meine PHP-Seite mit der eingegebenen EAN-Nummer und den dazugehörigen Daten (Bezeichnung, Beschreibung, Preis). Gebe ich nichts in das Formularfeld ein und klicke gleich auf Prüfen, so werden mir alle Datensätze angezeigt. So weit, so gut, klappt erstmal. Nun würde ich aber beim Aufruf der HTML-Seite direkt meine gewünschte Eingabe in das Feld mitgeben. Ich würde also gerne eingeben: www.domain.de/seite.html?feldname=123456789 Im Formularfeld soll nun automatisch 123456789 eingetragen werden, klappt aber nicht. Wie stell ich das denn an? Andere Frage: Kann ich auch gleich den entsprechenden Datensatz über die URL aufrufen lassen? Danke schonmal! MfG Zitieren
flashpixx Geschrieben 26. November 2012 Geschrieben 26. November 2012 Nimm anstatt einer statischen HTML Seite eine PHP Seite und greife die via Get übergebenen Daten ab und fülle sie in die Felder des durch die PHP Seite erstellten Formulars (anhand der Daten kannst Du natürlich auch den Datensatz laden) Zitieren
Gast Hornochse Geschrieben 26. November 2012 Geschrieben 26. November 2012 (bearbeitet) Danke flashpixx, aber ich muss dazusagen, ich bin Anfänger bei php und versteh erstmal nur Bahnhof was du geschrieben hast ;-) Das hier war meine ean.html (Ausgangsdatei): <html><head><title>EAN-Code-Abfrage</title></head> <body> <form action="eanergebnis.php" method="POST"> <input type="text" name="ean" /><br/> <input type="submit" value="Prüfen" /> </form> </body> </html> Und das hier meine eanergebnis.php (Zieldatei): <?php $link = mysql_connect("localhost", "xxx", "xxx") or die(mysql_error()); mysql_select_db("xxx") or die(mysql_error()); $ean = $_POST ['ean']; if(empty($ean)) { $result = mysql_query("SELECT * FROM ean"); } else { $result = mysql_query("SELECT * FROM ean WHERE ean = '$ean'") or die(mysql_error()); } echo "<table border='1'>"; echo "<tr> <th>EAN-Code</th> <th>Bezeichnung</th> <th>Beschreibung</th> <th>Preis</th></tr>"; while($row = mysql_fetch_array( $result )) { echo "<tr><td>"; echo $row['ean']; echo "</td><td>"; echo $row['bezeichnung']; echo "</td><td>"; echo $row['beschreibung']; echo "</td><td>"; echo $row['preis']; echo "</td></tr>"; } echo "</table>"; ?> Bearbeitet 26. November 2012 von Hornochse Zitieren
Gast Hornochse Geschrieben 26. November 2012 Geschrieben 26. November 2012 Sorry, auch das ist für mich nur Bahnhof... Bin ja schon froh, dass ich überhaupt die Verbindung zur MySQL-Datenbank hingekriegt habe und dass die Auswertung soweit funktioniert... Zitieren
flashpixx Geschrieben 26. November 2012 Geschrieben 26. November 2012 Du solltest verstehen was Du programmierst. PHP: $_GET - Manual PHP: $_POST - Manual Du verwendest schon Post, d.h. Du musst Dir nur überlegen wie Du das entsprechend umschreibst. Parameter, die an der URL stehen, werden via $_GET gelesen, d.h. Du musst prüfen, ob diese Parameter gesetzt sind, wenn ja, nimmst Du diese direkt und arbeitest mit denen, wenn nein, dann zeigst Du einfach Dein Formfeld an. Wenn Du nun festgestellt hast, dass Parameter an der URL hängen, kannst Du diese in den HTML Code einbinden siehe dazu SELFHTML: HTML/XHTML / Formulare / Eingabefelder und Eingabebereiche sprich Du musst nur den HTML Code passend mit den Parametern zusammenfügen. Zitieren
Gast Hornochse Geschrieben 27. November 2012 Geschrieben 27. November 2012 Vielen Dank, habs hinbekommen! Ging ja einfach ;-) Ich habe jetzt zwei PHP-Seiten angelegt, einmal mit GET, damit ich die EAN an die URL hängen kann und einmal mit POST um die Eingabe aus dem Formularfeld der HTML-Seite zu verarbeiten. Danke! Zitieren
flashpixx Geschrieben 27. November 2012 Geschrieben 27. November 2012 geht auch alles in eine Seite prüfe get wenn Parameter angegeben generiere Form mit Parameter andernfalls generiere Form ohne Parameter wenn Parameter vorhanden dann führe mysql aus erzeuge Ausgabetabelle Du solltest Post und Get nicht unbedingt mischen Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.