webForumDet fria alternativet

skapa variabel i loop

4 svar · 221 visningar · startad av garda

gardaMedlem sedan dec. 200139 inlägg
#1

Om jag skriver något likande detta:

for ($i=0; $i < $x; $i++) {
<input type='text' name='tel$i' value='????'>";
}

och loopar den några ggr, så kommer värdet hamna i
$tel0, $tel1, osv. men hur kan jag loopa igenom dessa variabelnamn?
Det går ju inte att skriva $tel$i... finns det något sätt
bygga en variabel???

MatteMedlem sedan aug. 20002 975 inlägg
#2

Förmodar att det är i skriptet som tar emot formuläret du tänker på loopen. Då kan du göra så här:

foreach($_POST as $key => $val) {
   if (substr($key, 0, 3) == "tel") {
      echo substr($key, 3)." = $val <br>\n";
   }
}

echo symboliserar hur du tar hand om variabeln.

Utgår ifrån att du skickar med method="post". I annat fall byt ut $_POST mot $_GET.

gardaMedlem sedan dec. 200139 inlägg
#3

Det fungerar bra, men för att vara extra besvärlig...

Om jag vill skriva ut de värden jag får, i value.
Alltså jag gör en roundtrip och vill få ut samma värden
som är inskrivna in till: <.. value="<? echo $!!! ?>">?
(oj va rörigt det blev:-)

MatteMedlem sedan aug. 20002 975 inlägg
#4

Om jag förstår dig rätt så postar du till samma sida, och vill ha de postade värden inskrivna i value i dina input-fält.
Då borde det gå att göra så här:

for ($i=0; $i < $x; $i++) {
  if (!isset($_POST["tel".$i])) $_POST["tel".$i] = "";
  <input type='text' name='tel$i' value='<?php echo $_POST["tel".$i] ?>'>";
}

Testa.

gardaMedlem sedan dec. 200139 inlägg
#5

Oj oj oj, va bra det blev! Tack

126 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)