webForumDet fria alternativet
Logga in / Bli medlem

skapa variabel i loop

PHP

4 svar · 223 visningar · startad av garda

Medlem sedan dec. 200139 inlägg
Trådstart#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???

Medlem 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.

Medlem 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:-)

Medlem 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.

Medlem sedan dec. 200139 inlägg
#5

Oj oj oj, va bra det blev! Tack

263 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)