Textfelder in Schleife generieren

cIIk

Grünschnabel
Hallo!

Folgendes Problem: In einem Warenkorb sollen die bisher ausgewählten Artikel dargestellt werden, und dann für jeden Artikel ein Textfeld generiert werden in dem die gewünschte Menge eingegeben werden kann.
PHP:
if(file_exists($file))                          // Artikel aus File holen
      {
              $fg=file($file);  
              foreach($fg as $tc) 
			{
                    $as=explode(",",$tc); 
                    $c=count($as);                 //Produktcounter
                    unset($as[ $c-1]); 
			}
                    foreach($as as $produkte) 


                           	  {

								
             mysql_connect("host","user","pw"); 
		     mysql_select_db('db'); 

				$qr = mysql_query("SELECT id FROM table where id = $produkte"); 
				$row = mysql_fetch_array($qr);
                 
                  echo [ ausgabe des artikels in tabelle]
                  <form action="snmbestellen2.php" method="post"> <input type="text" value="1" name="variable<? php echo $c-1; ?>" size="5"><br>  // Textfeld für die Eingabe der Menge

                      		       }
      }

Okay, diese Artikel sollen beim klick auf den "Bestellen button" an die nächste Seite weitergegeben werden [bestellen2.php].
Das Benennen der Textfelder funktioniert aber nicht richtig... weiss jemand wie es richtig geht?
 
Wieso funktioniert es denn nicht richtig? Dein Code sieht irgendwie sehr merkwürdig aus. Ich weiß weder, was da plain HTML ist und was über ein echo durch PHP ausgegeben wird (z.B.: "[ ausgabe des artikels in tabelle]" ?).

So sollte ein Formular schon gehen:
PHP:
//du brauchst nicht jedes Mal aufs neue in der Schleife zur DB connecten, einmal reicht!
$con = mysql_connect("host","user","pw"); 
mysql_select_db('db');

echo '<form action="snmbestellen2.php" method="post">';
foreach ($as as $produkte) {
    $qr = mysql_query("SELECT id FROM table where id = $produkte"); 
    $row = mysql_fetch_array($qr);

    echo '<input type="text" value="1" name="variable'. ($c-1) .'" size="5"><br />'  //Textfeld für die Eingabe der Menge
}
echo '</form>';
 
da hab ich beim posten nicht aufgepasst, sorry.
danke für deine Hilfe.
Wie muss es denn in snmbestellen2.php aussehen damit die Anzahl dort auch übernommen wird?

PHP:
echo "<p> Sie haben Artikel XY <b>".$_POST[variable][$c-1].".</b> mal bestellt <br></p>";
so siehts bis jetzt aus, tut aber nicht. Ausgabe ist
"Sie haben Artikel XY . mal bestellt "
 
PHP:
echo "<p> Sie haben Artikel XY <b>".$_POST['variable'.($c-1)].".</b> mal bestellt <br></p>";
 
Hi
dass es vorher nicht funktioniert hat war eigentlich logisch weil sich $c nicht ändert.
Ich hab jetzt einen richtigen Counter eingebaut, dessen Wert an den Namen des Textfelds angehängt werden soll um eine eindeutige Kennzeichnung zu bekommen.
PHP:
<?
$txt=0;             // der Artikelcounter
if(file_exists($file))                // Artikel aus der File holen
      {
              $fg=file($file);  
              foreach($fg as $tc) 
		                      	{
                    $as=explode(",",$tc); 
                    $c=count($as);
                    unset($as[ $c-1]); 
			                     }
		

	                        foreach($as as $produkte) 
			                              {
				           $txt++;           // Counter hoch
				           $qr = mysql_query("SELECT id,name,typenbezeichnung,zusatzbezeichnung,bj,tieferlegung,artikelnummer,schnaeppchenpreis FROM S_Tieferlegungsfedern where id = $produkte"); 
				           $row = mysql_fetch_array($qr);

				          [hier wird der Artikel dargestellt, daneben das Textfeld]

				           ?><form action="http://www.[URL]/snmbestellen2.php" method="post"><input type="text" value="1" name=<? echo "menge'. $txt .'";?> size="5"><br /><?
                      		       }
      }
?>


das Ganze geht dann an snmbestellen2.php, wo's jetzt so aussieht:

PHP:
echo "<p> Sie haben Artikel".$produkte." <b>".$_POST['menge'.'.$txt.']."</b> mal bestellt <br></p>";
Hoffe Ihr versteht mich :)

Die Menge bleibt aber leer...
 
PHP:
$_POST['menge'.'.$txt.']
Das kann ja nicht funktionieren.
Versuchs so:
PHP:
$_POST['menge'.$txt]
 
Zurück