Hei,
Teen php-softaa, jossa haen kannasta id:n vierasavaimeksi. Arvo tulee haussa muuttujaan, mutta kun yritän kasvattaa sitä, se häviää (nollaantuu). Täten arvoksi tulee aina 1.
$_select = "SELECT MAX(ruokinta_idx) FROM RUOKINTALASKELMA"; if (! $hauntulos = mysql_query($_select,$yhteys)) echo "Haku epäonnistui!"; while (list($ruokinta_fk) = mysql_fetch_row($hauntulos)){ $ruokinta_fk++; } //$ruokinta_fk = $ruokinta_fk + 1;
Arvo nollaantuu, vaikka sitä yrittää kasvattaa tuolla tavoin, mikä on viimeisellä rivillä kommentissa. Missä vika?
Kun tulostaa while-rakenteessa muuttujan arvon näytölle, se on sama kuin id:n arvo, eli siinä arvo on vielä "tallessa".
Tässä ehdotus, kuinka itse tuon tekisin:
$_select = "SELECT MAX(ruokinta_idx) AS ruokinta_idx FROM RUOKINTALASKELMA"; if (! $hauntulos = mysql_query($_select,$yhteys)) echo "Haku epäonnistui!"; $yht = 0; while ($row = mysql_fetch_assoc($hauntulos)){ //hmm... miksi while? kaiketi MAX(ruokinta_idx) palauttaa vain yhden rivin //no anyway $yht += $row['ruokinta_ix']; } echo $yht;
Aihe on jo aika vanha, joten et voi enää vastata siihen.