Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP-lomakkeessa ARRAY, FOREACH ja IF yhdessa ei toimi

mizzou [10.10.2006 17:34:20]

#

Olen tekemassa "vapaa-agentti" ilmoituslomaketta jalkapallo(puulaaki) sarjaan. (yksittainen pelaaja jolla ei ole joukkuetta tayttaa lomakkeen ja se tulee sahkopostitse minulle ja toimitan lomakkeen sitten joukkueille)

Lomakkeessa on pari seuraavanlaista vaihtoehtoa: tytto vai poika ja kilpa- vai puulaakisarja. Tavoite olisi, etta kun lomake on lahetetty, kayttajalle tulostuisi ruudulle kaikki joukkueet esim. poikien puulaakisarjasta, tietenkin jos kayttaja valitsi "poika" ja "puulaaki". Yritan toteuttaa tata seuraavalla tavalla:

$PojatPuulaaki=array("Joukkue1", "Joukkue2", "Joukkue3", "Joukkue4", "Joukkue5");

if (($_POST[sukupuoli] == "poika") && ($_POST[sarja] == "puulaaki")) {
	foreach($PojatPuulaaki as $PPuu) {
	echo "<p>$PPuu</p>"; } }

Sitten tuo jatkuisi ELSEIF jos valinnat olisi "pojat" ja "kilpasarja" niin ruudulle tulostuisi toisen ARRAY:n joukkueet jota nyt en tahan kirjoittanut. Onko tuo mahdollista toteuttaa noin vai hakkaanko paata seinaan ihan turhaan. Saan tuon toimimaan ilman ARRAY:ta pelkalla IF-lausekkeella mutta silloin joudun kirjoittamaan jokaisen joukkuueen ECHO lausekkeen sisaan.

Kiitoksia avusta jalleen kerran ja jos tuohon on parempi/helpompi tapa niin kertokaa ihmeessa. (Yritan pitaa taman lomakkeen mahdollisimman simppelina.)

Olga [10.10.2006 20:10:27]

#

Näin pikaisella mietinnällä ehkä itse tekisin sen yhdellä moniulotteisella taulukolla jotenkin seuraavasti

$joukkueet = array("poika" => array("puulaaki" => array("joukkue1", "joukkue2"),
                                    "kilpa" => array("joukkue4", "joukkue8")),
                   "tytto" => array("puulaaki" => array("joukkue12", "joukkue9", "joukkue143"),
                                    "kilpa" => array("joukkue69", "joukkue0"))); // en vastaa puuttuvista suluista ja muista :)

Ja sitten halutut joukkueet saa kätevästi

$joukkuelista = $joukkueet[$_POST['sukupuoli']][$_POST['sarja']];

foreach ($joukkuelista as $joukkue) {
    print $joukkue;
} // foreach

Idean saanee tuosta ainakin selville :)

mizzou [11.10.2006 06:37:51]

#

Kiitoksia Olga vastauksesta. Lomake toimii nyt oikein hyvin (tai riittavan hyvin minun kayttoon). En ole aikaisemmin tutustunut moniulotteisiin taulukoihin joten tassa oppii koko ajan uutta.

Kiitokset viela kerran vastauksesta.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta