Archief - PHP: $_POST met elementen met zelfde naam

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

passero

Legacy Member
Ik heb een loopje dat bepaalde zaken uit de DB haalt. Ik weet niet op voorhand hoeveel. Elke rij komt overeen met de rij uit de DB en elke rij heeft een 4tal elementen. In de html ziet het er zo uit (simplistisch getoond)

Code:
<table>
   <tr>
      <td>Label1</td>
      <td>
         <input type="text" name="el1"/>
         <input type="hidden" name="db_id" value="1"/>
      </td>
   </tr>
   <tr>
      <td>Label1</td>
      <td>
         <input type="text" name="el1"/>
         <input type="hidden" name="db_id" value="2"/>
      </td>
   </tr>
</table>

zoals je kan zien heb ik dus 2 maal een veld met de naam el1 en db_id
Als ik deze waarde wil opvragen:
$_POST["el1"]
krijg ik telkens de laatste waarde, dus van de 2de rij.

Kan ik deze niet overlopen of moet ik toch altijd unieke namen gebruiken? Dit lijkt me nogal omslachtig...

Da_Luke

Legacy Member
Ik zie nergens in je code wat er uit de Database komt, hoe je lus in elkaar zit... ik kan je wel zeggen dat het normaal is al je de gegevens opvraagt dat je alleen de laatste krijgt... aangezien de name="" bij beide velden hetzelfde is...

Toon eens je je volledige code en misschien dat we een helpende hand kunnen zijn :)

passero

Legacy Member
PHP:
while($row=mysql_fetch_array($result))
		{
			?>
			<tr>
				<td><?php echo $row["naam"];?></td>
				<td>
					<input type="text" name="dag"/>
					<input type="hidden" name="dag_id" value="<?php echo $row["dag_id"];?>"/>
				</td>
			</tr>
			<?php
		}

het gaat er hem eigenlijk alleen om, dat ik elementen dezelfde naam wil geven.
Ik refereer weer eens naar oracle... :) Als je dit binnen oracle doet, dan krijg je een array binnen voor dag_id. Dit is eigenlijk wat ik ook zou willen in php...

Tyfius

Legacy Member
Code:
name="el1[]"
Op die manier ga je een array creëren. Kijk maar eens naar het afhandelen van een checkbox in PHP voor een duidelijk voorbeeld.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan