editierbare Liste aus MySQL

Camod

Grünschnabel
Hallo an Alle,

ich habe eine Frage und hoffe dass mir jemand helfen kann.
Es geht um folgendes, ich arbeite mit einem Warenwirtschaftssystem (CAO-Faktura). Nun kann ich in dieses die Preisliste meiner Händler importieren. Die Daten werden in einer MySQL Datenbank gespeichert. Beim Artikelimport fehlen aber zwei wichtige Dinge, nämlich den Verkaufspreis und die vorhanden Menge.

Diese Dinge über die Warenwirtschaft händisch zu ändern ist sehr mühseelig da jeder Artikel einzeln aufgerufen werden muss.

Jetzt war meine Überlegung, ich generiere mir eine List mit PHP, die mir alle Artikel anzeigt, deren Verkaufspreis noch 0 ist. Die Daten die einzugeben sind, werden in Textfelder ausgegeben. Dort kann ich dann der Verkaufspreis und die Menge eingeben und klick auf einen OK Button, der mir die Daten in die MYSQL DB überträgt und danach verschwindet der Artikel aus der List.

Das einzige Problem bei der Sache ist das, dass ich kein PHP kann, und so hoffe ich, dass mir hier vielleicht jemand helfen kann.

Habe hier mal ein HTML-Beispiel gemacht, damit besser sichtbar gemacht wird, was ich meine:
http://web2.138080.vserver.de/vorlage.html


Soweit bin ich bis jetzt alleine gekommen:

PHP:
<?
mysql_connect("localhost", "*****", "*****")
	or die ("Keine Verbindung moeglich");
	
mysql_select_db("CAO")
	or die ("Die Datenbank existiert nicht");

	$abfrage="SELECT * FROM artikel WHERE VK5 = 0 ORDER BY REC_ID;";
	$ergebnis=mysql_query($abfrage);
	
	if ($ergebnis)
	
	echo "<FORM ACTION='update.php' METHOD='post'>
	<table border=\"1\" cellspacing=\"2\" ".
	"cellpadding=\"5\" WIDTH=\"100\%\" >\n";

	echo "<tr><th>ID</th><th>LANGNAME</th><th>EK Preis</th>";
	echo "<th>VK5</th><th>VK5B</th><th>MENGE</th><th>OK</th></tr>\n";
	
	while ($row = mysql_fetch_object($ergebnis))
	{

	echo "<tr>";
	echo "<td>".$row->REC_ID."</td>";
	echo "<td>".$row->LANGNAME."</td>";
	echo "<td>".$row->EK_PREIS."</td>";
	//echo "<td>".$row->VK5."</td>";
	echo "<td><INPUT TYPE='text' NAME='VK5' VALUE='$row->VK5'</td>";
	//echo "<td>".$row->VK5B."</td>";
	echo "<td><INPUT TYPE='text' NAME='VK5B' VALUE='$row->VK5B'</td>";
	//echo "<td>".$row->MENGE_START."</td>";
	echo "<td><INPUT TYPE='text' NAME='MENGE_START' VALUE='$row->MENGE_START'</td>";
	echo "<td><input type='submit' name='Submit' value='OK' /></td>";
	echo "</tr>";
	}
?>
 
Hi,

ein vollständiges Script kann ich dir im Augenblick zwar nicht schreiben, aber vielleicht ein paar Tipps und Ideen mitgeben.
Wenn ich dich richtig verstanden habe, ist das Problem recht einfach zu beheben.

Als erstes musst du deinem PHP Script natürlich die Datenbank zeigen. Das machst du am besten in einer extra Datei die du dann später inkludierst.

So und nun zum Eigentlichen:
<table>

<?

// Alles auslesen was einen VK-Preis von 0 hat:
$sql = mysql_query("Select * from deineDatenbank where verkausfpreis = 0");
while($result=mysql_fetch_assoc($sql))
{
?>
<tr>
<td><? echo $result[produkt] ?></td>
<td><? echo $result[anzahl] ?></td>
<td><? echo $result[vkpreis] ?></td>
</tr>
<?
}
?>
</table>

Wenn du das ganze dann noch bearbeiten willst, ersetzt du die <td> am besten durch <input type="text">

Sorry hatte leider nicht mehr Zeit, hoffe du kommst damit weiter
 
Vielen Dank, das hat mir schon ein Stück geholfen.

PHP:
<?
include ("connection.php");
?>
<!-- Hier beginnt die Tabelle-->
<form name="form2" method="post" action="">
<table width="100%" align="center" cellpadding="2" cellspacing="2">
<?
//SQL Tabelle anzeigen

$sql = mysql_query("SELECT * FROM artikel WHERE VK5 = 0");
while($result=mysql_fetch_assoc($sql))
{
?>
<tr>
<td width="40"><? echo $result[REC_ID] ?></td>
<td><? echo $result[LANGNAME] ?></td>
<td width="60"><input name="VK5" type="text" value="<? echo $result[VK5] ?>" size="10"></td>
<td width="60"><input name="VK5B" type="text" value="<? echo $result[VK5B] ?>" size="10"></td>
<td width="60"><input name="MENGE_START" type="text" value="<? echo $result[MENGE_START] ?>" size="10"></td>
<td width="60" valign="middle">
  <div align="center">
    <input type="submit" name="Submit" value="Ok">
  </div>
</td>
</tr>
<?
}
?>
<!-- Hier endet die Tabelle-->
</table>
</form>

Wie mache ich das jetzt, dass der OK-Button die eingegeben Daten aktualisiert?
 
PHP:
<? 
include ("connection.php");

if (isset($_GET['REC_ID']))
   {
        $sql=mysql_query("UPDATE artikel SET VK5=$VK5, VK5B=$VK5B, MENGE_START=$MENGE_START WHERE REC_ID='".$_GET['REC_ID']."'");
		     if (mysql_errno()) echo mysql_error();
			      header("Location:auflistung.php");
	}
	else
	   {      
	   echo "Keine Änderungen durchgeführt";
	   }
?>

So sieht meine update.php aus. Funktioniert aber nicht.
 
Es geht mir eher um den Programmierstil als tatsächlich um diesen Fall. Denn dein Code könnte auch Vorbild für andere sein, die sich dann eben diesen Programmierstil abschauen. Wenn diese dann später damit Probleme haben, heißt es dann: „Aber die anderen machen es doch nicht anders?“
 
Zurück