Avatar billede shjorth Nybegynder
28. december 2007 - 00:36 Der er 4 kommentarer og
2 løsninger

Tilføje valgfrit antal tekst felter

Hejsa.

Jeg ville gerne lave en funktion så en bruger kan vælge hvor mange tekst felter han skal bruge. (f.eks via <select)

Altså skal han kunne tage 10 i select boksen og trykker videre.

På den næste skal der så være 10 textfelter som brugeren kan udfylde og trykke "gem" så det altså gemmes i databasen.

Jeg er lidt på bar bund her, kan regne ud det er noget med løkker osv.
Dels det med at kunne vælge hvor mange text felter siden skal vise og dels det med at gemme et "ukendt" antal i databsen.

Jeg håber der er nogen der måske kender en guide til hvordan dette kan løses.

Mange tak, og god weekend :-)
Avatar billede sorensen_123 Nybegynder
28. december 2007 - 04:47 #1
$inputForm = 30; //Hvor mange bokse du vil have. Erstat den med din POST kode fra din select box (f.eks. $_POST[selectname];).

function MakeInputs ($AntalInput) {
$i = 1;
while ($i++ <= $AntalInput) {
$ii = $i - 1;
echo '
<tr>
<td>Box nr.: '. $ii .'</td>
<td><input type="file" name="box'.$ii.'"></td>
</tr>
';
}
}

MakeImgInput($inputForm);

Du kan gemme alle felterne med en while, f.eks.
$i = 1;
while ($i++ <= $inputForm) {
$ii = $i - 1;

$NowFile = 'box'. $ii;
//Og så din mysql insert kode.
Avatar billede nielle Nybegynder
28. december 2007 - 07:55 #2
Noget i denne stil:

== side1.php ==

<form action="side2.php" method="post">
Antal felter:
<select name="antalFelter">
<?
$maxAntalFelter = 50;
for ($antalFelter=1; $antalFelter<=$maxAntalFelter, $AntalFelter++) {
    echo "<option>$antalFelter</option>";
}
?>
</select>
<input type="submit" value="Næste">
</form>


== side2.php ==

<form action="side3.php" method=post">
<?
$antalFelter = $_POST['antalFelter'];
echo "<input type='hidden' name='antalFelter' value='$antalFelter'>";

for ($felt=1; $felt<=$antalFelter; $felt++) {
    echo "Felt $felt: <input type='text' name='felt$felt'><br>";
}
?>
<input type="submit" value="Næste">
</form>


== side3.php ==

<?
$hackerDestination = "http://www.bratz.com";

$antalFelter = $_POST['antalFelter'];

if (!preg_match("/^\d+$/", $antalFelter)) {
    header("Location: $hackerDestination")
} else {
    for ($felt=1; $felt<=$antalFelter; $felt++) {
        $feltVaerdi = $_POST["felt$felt"];
        $feltVaerdi = mysql_real_escape_string($feltVaerdi);

        $sql = "INSERT INTO dinTabel (ditFelt) VALUES ('$feltVaerdi')";
        mysql_query($sql) or die(mysql_error());
    }
}
?>
Avatar billede shjorth Nybegynder
30. december 2007 - 19:59 #3
Lækkert! Jeg takker.

Vil i dele point?
Avatar billede nielle Nybegynder
30. december 2007 - 20:13 #4
Du bestemmer helt selv hvordan point skal fordeles.

... og et svar :^)
Avatar billede shjorth Nybegynder
30. december 2007 - 21:05 #5
Tak igen :)

og godt nytår
Avatar billede sorensen_123 Nybegynder
30. december 2007 - 23:47 #6
Tak for points (:

Godt nytår.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester