Hei,
haen kannasta tietoa taulukkoon ja purkaessa tämä taulukko html lomakkeen riveille, tulee muuttujiin aina +1. Esim. 'eero' -> eero1. Mistä tämä johtuu?
while( $rehu_rivi = mysql_fetch_array($rehu_tulos)) { print('<tr><td><input type="text" size="10" value = "') .$rehu_rivi["rehutyyppi"]. print('"></td>');
.... jne vastaavasti muut rivit.
EDIT: kooditagit
Toi viimeinen printti on ylimääräinen, eli sen voi ottaa ihan surutta pois. Muistaakseni print palauttaa aina 1, seuraavasti:
$hep = print "jee"; print $hep; // tulostaa 1
Edit: Joo, niinhän se tuolla manuaalissakin seisoo.
Meneekö tuollainen muka tulkista läpi? Näyttää aika oudolta.
Eli itse tekisin näin:
Heikki: Meni. Mutta näkyi vähän väärin viimeinen rivi taulukosta.
Tuli vielä sellainen ongelma eteen, kun, haen kannasta tuohon taulukkoon maksimissaan kolme riviä ja jokaista taulukon solua tarvitaan laskemiseen tulostuksen jälkeen. Jokaisen solun pitää siis olla eri niminen. Nyt yritin tehdä sellasista, että muuttujaan tallennetaan rivin indeksi, monesko rivi on menossa. Tämä liitetään kentän nimen eteen niin, että joka rivi saa oman arvonsa (1,2,3) ja näin solut voidaan erottaa.
HTML-koodi näyttää vain nyt tältä " 1muuttuja, 21muuttuja, 321muuttujan" jne. eli se lisää tuohon aina uuden indeksin eikä korvaa.
Miten ihmeessä tuon saisi korjattua?
$i= 0; while(foo) { $nimi = $i ."". $nimi ; echo"<tr><td><input type=\"text\" size=\"6\" value = $rehutyyppi name = $nimi >"; }
otin vain yhden rivin tuohon malliksi.
ja html:
name = 1rehu_nimi name = 21rehu_nimi name = 321rehu_nimi
EDIT: Niin, siis muuttujahan ei voi alkaa numerolla, mutta toimii aivan vastaavasti kun sen indeksin liittää tuonne muuttujan perään.
Aihe on jo aika vanha, joten et voi enää vastata siihen.