Gå til innhold

Bruk av flere forms i en tabell


Anbefalte innlegg

Heisann, driver å lager et CMS system der det blandt annet skal gå ann å endre eller slette felter i en tabell som vises.

 

psaudokode:

echo "<h2>Endre eller slette personal</h2>\r\n";
	echo "<table border='1' cellspacing='0' cellpadding='2'>\r\n";
	echo "<tr>\r\n<th>Knapp</th><th>Stilling</th><th>Fullt navn</th><th>E-post</th><th>Klassekontakt</th>\r\n</tr>\r\n";
	for ($i = 0; $i<$antall; $i++) {
		$rad = mysql_fetch_array($resultat, MYSQL_ASSOC);

		$html['id'] 	  = htmlentities($rad['id'], 	   ENT_QUOTES, 'iso-8859-1');
		$html['stilling'] = htmlentities($rad['stilling'], ENT_QUOTES, 'iso-8859-1');
		$html['navn'] 	  = htmlentities($rad['navn'], 	   ENT_QUOTES, 'iso-8859-1');
		$html['epost']    = htmlentities($rad['epost'],    ENT_QUOTES, 'iso-8859-1');
		$html['kontakt']  = htmlentities($rad['kontakt'],  ENT_QUOTES, 'iso-8859-1');

		?>
		<form method='post' action='personal_utfoer.php'>
		<tr>
		<td>
		<input name='id' type='hidden' value='<?php echo $html['id'] ?>' />
		<input type='submit' value='Slett' name='slett' />
		<input type='submit' value='Endre' name='endre' />
		</td>
		<td><input name='stilling' type='text' value='<?php echo $html['stilling'] ?>' /></td>
		<td><input name='navn' type='text' value='<?php echo $html['navn'] ?>' /></td>
		<td><input name='epost' type='text' value='<?php echo $html['epost'] ?>' /></td>
		<td><input name='kontakt' type='text' value='<?php echo $html['kontakt'] ?>' /></td>
		</tr>
		</form>
	<?php
	}

echo "</table>";

 

 

W3C sin html validator ser ikke ut til å like forms for hver TR og i en tabell. Er det en bedre metode jeg kan benytte meg av?

Grunnen til at jeg til nå bruker en form for hver TR i en tabell er for å kunne skille hvordan felt jeg ønsker å endre eller slette med å bruke samme feltnavn i en for loop.

Lenke til kommentar
Videoannonse
Annonse

Om jeg har 20 rader med personell i en tabell og skal kunne editere feks rad 17 med å oppdatere ny informasjon må jeg ha en form som samsvarer med rad 17. Derfor kan jeg ikke bruke en form utenfor tabellen siden denne bare vil "ta med seg" den siste raden (rad 20) for videre behandling mot database.

 

Kunne nok kommet rundt dette med å bruke forskjellige navn på hvert felt osv, men det blir IMO en ganske klumsete og tungvindt løsning og siden det fungerer fint nå, men ikke validerer regner jeg med at det dette burde kunne løses ganske greit uten noe ekstra miksmakseri..

 

Regner med at å spinne inn forms for hver rad er en ganske vanlig praksis for å løse problemer som dette, så er sikkert en eller annen her som sitter med kunnskapen. :)

 

Evt, er det bedre måter å løse dette på?

 

edit:

Henter ut informasjon og legger det i rader basert på for loop, eks:

$antall = mysql_num_rows($resultat);
for ($i=0; $i<$antall; $i++) {
/* henter ut rader, første til siste */
}

 

Sorry hvis jeg er litt uklar her..

Endret av Nunya
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...