Ausgabe von Formulardaten in einer Tabelle

filigrani

Mitglied
Hallo, ich habe folgendes Formular:
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
       "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Interne Stellenbörse</title>
<style type="text/css">
label { cursor:pointer; }
</style>
</head>
<body>

<h1>Formular f&uuml;r neue Stellenanzeigen: </h1>

<form action="ausgabe1.php" method="post">
  <fieldset>
    <legend>Bitte tragen Sie ihre neue Stelle ein </legend><br>
    <table>
      <tr>
        <td><label for="job">Job:</label></td>
        <td><input type="text" id="job" name="job" value="Der Stellentitel"></td>
      </tr>
      <tr>
        <td><label for="kategorie">Kategorie:</label></td>
        <td><input type="text" id="kategorie" name="kategorie" value="Die Jobkategorie"></td>
      </tr>
	  <tr>
        <td><label for="niederlassung">Niederlassung: </label></td>
        <td><input type="text" id="nl" name="niederlassung" value="Die Niederlassung"></td>
      </tr>
	  <tr>
        <td><label for="stufe">Stufe:</label></td>
        <td><input type="text" id="stufe" name="stufe" value="Die Entwicklungsstufe"></td>
      </tr>
	  <tr>
        <td><label for="kontakt">Kontakt:</label></td>
        <td><input type="text" id="Kontakt" name="kontakt" value="Der Ansprechpartner"></td>
      </tr>
	  <tr>
        <td>Link im www: </td>
        <td><input type="text" id="link" name="link" value="http://..."></td>
      </tr>
      <tr>
        <td><label for="auswahl">Link im www </label></td>
        <td><input type="checkbox" id="auswahl" name="Auswahl"></td>
		<td><input type="submit" value="Go!"></td>
      </tr>
	</table>
    <input type="submit" value="Go!">
  </fieldset>
</form>

</body>
</html>

und gebe es in folgender PHP DAtei aus:

PHP:
<html>
<head>
<title>PHP-Formular</title>
</head>
<body>
<tr>
<td><?php

echo "$job";


?></td>
<td><?php

echo "$kategorie";


?></td>
<td><?php

echo "$niederlassung";


?></td>
<td><?php

echo "$stufe";


?></td>
<td><?php

echo "$kontakt";


?></td>
<td><?php

echo "$link";


?></td>
</tr>
</body>
</html>


Das heisst die eingegeben Felder im Formular sollen dauerhaft in einer Tabelle gespeichert und ausgegeben werden.
Sprich, wenn jemand die Formularfelder füllt, dann sollten alte Einträge schon in der Tabelle gespeichert werden und die neuen ganz oben in der Tabelle erscheinen.

Kann mir jemand weiterhelfen.
Ist PHP da das richtige?

Danke...
 
PHP wäre da das richtige...

Solltest dir mal dazu MySQL Datenbanken angucken... den gespeichert sind die Variablen mit den Inhalten nur so lange... wie sie auch übergeben werden...

Also nach dem versenden des Formulares...

Musst dir also eine Tabelle in einer Datenbank anlegen in der du alle einträge speicherst.

Danach machst du einfach eine Schleife die alle Inhalte der Datenbank ausgibt...

Soweit klar? Dazu gibt es einige Tutorials in diesem Forum.

Ansonsten kann ich dir auch gerne etwas dabei helfen.
 
Dachte mir fast, dass es ohne DB nicht geht.
Kann ich denn über ein HTML Formular in die DB schreiben lassen?
MySQL ist mir bekannt, auch die Syntax.

Ansonsten wäre das Formular und der PHP-Code so richtig?
 
Das Formular wäre so richtig.
Musst die Daten nur an eine .php Datei schicken die ein SQL Query beinhaltet durch die, die Daten in die Datenbank geschrieben werden.


Für die ausgabe musst du halt wie gesagt einfach eine Schleife vorschalten... (while)
und dann einfach den Code aus deiner jetzigen ausgabe.php
Damit werden alle einträge aus der Datenbank mit allen Werten ausgegeben...

Werde dir noch ein beispiel Posten..
 
Das ist der SQL Query für das schreiben in die Datenbank.
PHP:
$sql = "INSERT anzeigen (job,kategorie,niederlassung....) VALUES ('$job','$kategorie','$nl')";


Hier die While schleife für die Ausgabe aller Anzeigen:
PHP:
$sql = "SELECT * FROM anzeigen ORDER 
BY id DESC"; 

$ausgabe=mysql_query($sql); 

while ($anzeige = mysql_fetch_object ($ausgabe)) 
{ 
echo $anzeige->job;
echo $anzeige->kategorie;
}
...............

und so weiter.
 
Der PHP-Code sehe jetzt so aus:


PHP:
<html>
<head>
<title>Das erste PHP-Formular</title>
</head>
<body>



<tr>
<td><?php
$sql = "INSERT anzeigen (job,kategorie,niederlassung,stufe,kontakt,link1) VALUES ('$job','$kategorie','$nl','$stufe','$kontakt','$link1')";  

$sql = "SELECT * FROM anzeigen ORDER  
BY id DESC";  

$ausgabe=mysql_query($sql);  

while ($anzeige = mysql_fetch_object ($ausgabe))  
{  
echo $anzeige->job; 
echo $anzeige->kategorie; 
echo $anzeige->nl;
echo $anzeige->stufe;
echo $anzeige->kontakt;
echo $anzeige->link1;
} 


echo "$job";


?></td>
<td><?php

echo "$kategorie";


?></td>
<td><?php

echo "$niederlassung";


?></td>
<td><?php

echo "$stufe";


?></td>
<td><?php

echo "$kontakt";


?></td>
<td><?php

echo "$link";


?></td>
</tr>
</body>
</html>

Können die SQL Befehle egal wo stehen?
 
Ich überarbeite dir das mal...

Hier nur die Ausgabe der Anzeigen die in der Datenbank stehen.
PHP:
<html>
<head>
<title>Das erste PHP-Formular</title>
</head>
<body>



<tr>
<td><?php

$sql = "SELECT * FROM anzeigen ORDER  
BY id DESC";  

$ausgabe=mysql_query($sql);  

while ($anzeige = mysql_fetch_object ($ausgabe))  
{  

echo "$anzeige->job";


?></td>
<td><?php

echo "$anzeige->kategorie";


?></td>
<td><?php

echo "$anzeige->niederlassung";


?></td>
<td><?php

echo "$anzeige->stufe";


?></td>
<td><?php

echo "$anzeige->kontakt";


?></td>
<td><?php

echo "$anzeige->link";

} 

?></td>
</tr>
</body>
</html>


Erstell eine neue PHP Datei an die du die Daten aus dem Formular schickst...
zb: anzeigeadd.php
Die dann so aussieht.
PHP:
<?php



$sql = "INSERT anzeigen (job,kategorie,niederlassung,stufe,kontakt,link1) VALUES ('$job','$kategorie','$nl','$stufe','$kontakt','$link1')";  


?>

gegebenenfalls musst du noch die Variablen entgegen nehmen die du durch das Formular schickst...
Dann würde die anzeigeadd.php so aussehen...

PHP:
<?php

$job = $_POST['job'];
$kategorie = $_POST['kategorie'];
$nl = $_POST['nl'];
$stufe = $_POST['stufe'];
$kontakt = $_POST['kontakt'];
$link1 = $_POST['link1'];

$sql = "INSERT anzeigen (job,kategorie,niederlassung,stufe,kontakt,link1) VALUES ('$job','$kategorie','$nl','$stufe','$kontakt','$link1')";  


?>

Nicht vergessen beim Formular
HTML:
<form action="anzeigeadd.php" method="post">
zu ändern.

So sollte es gehen... der SQL Query in der Form wird immer an der stelle ausgeführt an der du sie stehen hast...
 
So wie ich die Beiträge im Thread gesehn habe, scheint es mir, dass ihr davon ausgeht, dass register_globals auf ON steht...

Davon sollte man aber NIE ausgehen, da es sonst zu unschönen Fehlern, falschen Ausgaben und "Leichen" im RAM kommt...

Daten, die durch ein Formular gePOSTet werden, sollte man daher IMMER mit $_POST verwenden... Entweder man benutzt im ganzen Skript die $_POST-Variablen oder man packt $_POST am anfang des Skriptes in entsprechende Variablen, um sie dann weiter zu verwenden...
 
Zurück