Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
In Formular Bestellmengen eingeben [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
In Formular Bestellmengen eingeben


 
MikeSchw
17-04-2002, 16:28 
 
Hallo,

Ich habe folgendes Problem:

Aus der Tabelle Angebote werden derzeit 6 Angebote ausgelesen, möchte jedoch, dass der User für jeden Artikel die Bestellmenge selbst eingeben kann. Nach Eingabe der Bestellmenge soll dann noch die Lieferanschrift eingegeben werden können.
Gebe ich nun in jeder Zeile verschiedene Bestellmengen an und drücke auf abschicken, so steht nun in jeder Zeile die zuletzt eingegebene Bestellmenge.
Was mache ich falsch?
Wie kann ich in jeder Zeile eine andere Bestellmenge eingeben, welche auch nach dem Abschicken für jeden Artikel weitergegeben wird?

Ich danke vorab für eure Hilfe.

$host="localhost";
$user="xxx";
$password="xxx";
$datenbank="xxx";
$connection = mysql_connect($host, $user, $password) or die ("Couldn't connect to database");
$db = mysql_select_db($datenbank, $connection) or die ("Couldn't select database");
$SQL = " SELECT COUNT(*) AS cnt FROM angebote";
$QUERY = mysql_query($SQL) or die("<select> QUERY FAILED! $SQL");
$totalRecords = mysql_result($QUERY,0,"cnt");

$SQL="select * from angebote ORDER BY id";
$result=mysql_query($SQL) or die
("Fehlermeldung=".mysql_error());
?>

<form name="bestellung" method="post" action="">
<table>
<tr>
<td>Menge</td>
<td>Best.-Nr.</td>
<td>Artikel</td>
<td>Spezifikation</td>
<td>Preis</td>
</tr>
<?
while ($row=mysql_fetch_row($result))
{
?>
<tr>
<td>
<input type=”text” name="anz" size="3" maxlength="2" value="<? echo $anz ?>">
</td>
<td><? echo $row[7] ?></td>
<td><? echo $row[4] ?></td>
<td><? echo $row[6] ?></td>
<td><? echo $row[8] ?></td>
</tr>
<?
}
mysql_free_result($result);
?>
</table>
</form>

 
MelloPie
17-04-2002, 16:38 
 
sieht so aus als wenn Deine Anzahl Felder alle name="anz" haben, dann wird natürlich der letzte Wert von anz geschrieben
Nimm ein array

 
MikeSchw
17-04-2002, 16:39 
 
und wie stelle ich das an?

 
MelloPie
17-04-2002, 16:46 
 
Du hast doch eine ID im sql mit dabei mach doch
<input name="anz[<?=$row[0]?>]" size="3" maxlength="2" value="<? echo $anz ?>">
wenn denn id an 0 steht

 
MikeSchw
17-04-2002, 16:53 
 
Also, die id steht auf pos 0. Habe natürlich gleich deine Möglichkeit ausprobiert, erhalte aber nun im Eingabefeld die Meldung (Array). Ich will doch aber die Bestellmenge.
:confused:

 
MelloPie
17-04-2002, 16:56 
 
ajo da muss als value natürlich auch ein array element rein
$anz[id] oder so...

 
MikeSchw
17-04-2002, 17:06 
 
Vielleicht stelle ich mich ja auch nur dusselig an.

<input name="anz[<?=$row[0]?>]" size="3" maxlength="2" value="<? echo $anz[id] ?>">

Habe ich jetzt so gemacht. Nun gebe ich in jeder Zeile eine andere Bestellmenge ein. Drücke nun auf Abschicken. Und was passiert? Meine Eingaben sind nun futsch. Aber es kommt immerhin kein Fehler.

Zweifel.

 
MelloPie
17-04-2002, 17:20 
 
also mal ganz langsam... da darf nicht echo $anz[id] stehen da muss $anz[$row[id]] oder ähnlich stehen...
Was willst Du denn mit den Formulareingaben machen????
in dem Script passiert doch igentlich nichts damit...

 
MikeSchw
17-04-2002, 17:34 
 
Um die Frage zu beantworten, was mit dem formular passieren soll:
Es sollen die bestellten Positionen, einschließlich die vom User eingegebenen Bestellmengen nochmals ausgegeben werden. Hier wird dann der Gesamtbestellwert ermittelt und letztendlich wird ein weiteres Formular aufgerufen, wo die Lieferanschrift eingegeben werden muss.
Vielleicht habe ich ja nur ne Blockade im Kopf.
Kann ich in dem Eingabefeld anz auch als Standardwert eine 0 vorgeben? Dann soll der User natürlich seine Bestellmenge eingeben können und der Rest wie vor?
Danke schonmal vorab für die Hilfestellung.

 
Titus
17-04-2002, 20:51 
 
Original geschrieben von MikeSchw
Kann ich in dem Eingabefeld anz auch als Standardwert eine 0 vorgeben? Dann soll der User natürlich seine Bestellmenge eingeben können und der Rest wie vor?
klaro geht das:
<input type=”text” name="anz" size="3" maxlength="2" value="<?=(int)$anz?>">


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:28 Uhr.