ugrás a tartalomhoz

Változó számú chechbox dinamikus nevekkel, PHP-ben

Fedor · 2005. Dec. 20. (K), 18.00
Sziasztok!

Nincs valakinek ötlete, hogy miképp lehetne generált változóneveket használni?

Konkretizálom:

Van egy űrlapom, amely tartalmaz mondjuk 4 checkbox-ot, x1, x2, x3, x4 néven. Ha bejelölnek ezekből egyet, vagy többet, akkor ugye a form elküldése után lesz ebből 4 változóm $xn néven, ami vagy üres, vagy nem. Mondjuk, hogy mindnek van valamilyen értéke. Szeretnék lefuttatni 4 MySQL lekérdezést, ahol WHERE valami=$xn (ha $xn!=""), majd egy-egy táblázatban megjeleníteni a lekérdezések eredményét. Most ezt a parancsot bekopizhatnám négyszer a forrásba, de ez elég macerás, ráadásul a checkbox-ok száma se állandó (már a formot is úgy generálom). Adná magát, hogy tegyem be az egészet egy for ciklusba, itt viszont elakadok: Miképp tudom megoldani, hogy a változó nevében az x után mindig más szám álljon? Első körben $x1, másodikban &x2, stb, és ezek értéke természetesen az, ami az űrlapból érkezett ugyanilyen néven. Változó értékét tudom növelni ($x++), de változó nevét?
 
1

$$

Táskai Zsolt · 2005. Dec. 20. (K), 18.39
érthető formában:
$varname = "n".$i;
$$varname;

és ezt te ciklusban csinálod
Tasi
2

változóban változónév

Anonymous · 2005. Dec. 20. (K), 18.45

<?php
$x1="egyes";
$x2="kettes";
$x3="harmas";
$x4="negyes";
for ($i=1;$i<=4;$i++) {
  $x="x".$i;
  print($$x.",");
}
?>
ezzel meg tudod csinálni a dolgot.
3

:D

Anonymous · 2005. Dec. 20. (K), 18.45
nahát, valaki gyorsabb volt... :)
4

más szemlélet

Anonymous · 2005. Dec. 20. (K), 18.48
ha már az űrlapmezőben eszközölsz némi módosítást, sokkal könnyebb dolgod lesz:

<input name="x[1]">

már az űrlapon tömböt használsz, ezután, amikor feldolgozod:

$_POST["x"][1]

ez - sztem- azért jobb megoldás, mert így pl a count($_POST["x"]) visszaadja a x változók számát, foreach-csel végigmehetsz rajta, stb. kellemesebb használni. :]
5

Köszi

Fedor · 2005. Dec. 21. (Sze), 10.53
Köszönöm a sok tippet, az egyik biztos megfelel majd.

Üdv,
Fedor