Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP + JavaScript laskemista

Mee [13.03.2007 13:49:07]

#

Kysyisin vain että miksiköhän tämä ei toimi?

<?php
$merkit = "1 1 1 1";
$muunnin = str_replace(" ", " + ", $merkit);
$rajaytin = explode(" ", $merkit);
$laskemerkit = count($rajaytin);
$kokonainen = "<img src='star-1.gif'> ";
$tyhja = "<img src='star-0.gif'> ";
$puolikas = "<img src='star-puoli.gif'> ";
?>
<script>
var lasku = ( <?php echo $muunnin; ?> ) / <?php echo $laskemerkit; ?>;
if (lasku == "0") {
document.write("<?php echo $tyhja . $tyhja . $tyhja . $tyhja . $tyhja; ?>");
}
elseif (lasku <= "1") {
document.write("<?php echo $kokonainen . $tyhja . $tyhja . $tyhja . $tyhja; ?>");
}
elseif ("1" < lasku and lasku <= "1.5") {
document.write("<?php echo $kokonainen . $puolikas . $tyhja . $tyhja . $tyhja; ?>");
}
elseif ("1.5" < lasku and lasku <= "2") {
document.write("<?php echo $kokonainen . $kokonainen . $tyhja . $tyhja . $tyhja; ?>");
}
elseif ("2" < lasku and lasku <= "2.5") {
document.write("<?php echo $kokonainen . $kokonainen . $puolikas . $tyhja . $tyhja; ?>");
}
elseif ("2.5" < lasku and lasku <= "3") {
document.write("<?php echo $kokonainen . $kokonainen . $kokonainen . $tyhja . $tyhja; ?>");
}
elseif ("3" < lasku and lasku <= "3.5") {
document.write("<?php echo $kokonainen . $kokonainen . $kokonainen . $puolikas . $tyhja; ?>");
}
elseif ("3.5" < lasku and lasku <= "4") {
document.write("<?php echo $kokonainen . $kokonainen . $kokonainen . $kokonainen . $tyhja; ?>");
}
elseif ("4" < lasku and lasku <= "4.5") {
document.write("<?php echo $kokonainen . $kokonainen . $kokonainen . $kokonainen . $puolikas; ?>");
}
elseif ("4.5" < lasku and lasku <= "5") {
document.write("<?php echo $kokonainen . $kokonainen . $kokonainen . $kokonainen . $kokonainen; ?>");
}
else {
document.write("<?php echo $tyhja . $tyhja . $tyhja . $tyhja . $tyhja; ?>");
}
</script>

Mielestäni kaikki on oikein mutta scripti ei vain tulosta mitään.

Lebe80 [13.03.2007 14:35:41]

#

document.write("<?php .... !!!!!!

Hei jäbä... Php ajettu jo palvelimella ennen kuin jS on tulostetaan käyttäjän selaimelle.

Muistaakseen myös <script> vaatisi jonkin sortin esim. typen, jotta selain tietäisi mikä kieli on kyseessä.

1. Php ajetaan siis "kerran" jonka jälkeen tulosteet yms. lähetetään käyttäjälle.
2. JavaScript ajetaan käyttäjän selaimella, ei palvelimella niinkuin php.

3. En näe syytä miksi javaScript on edes sotkettu tähän, kaiken voisi hoitaa pelkälläphp:lla...

Suosittelen möys erilaisten looppien käyttöä yksinkertaistamaan "koodia".

Mee [13.03.2007 15:18:12]

#

Lebe80 kirjoitti:

document.write("<?php .... !!!!!!

Hei jäbä... Php ajettu jo palvelimella ennen kuin jS on tulostetaan käyttäjän selaimelle.

Muistaakseen myös <script> vaatisi jonkin sortin esim. typen, jotta selain tietäisi mikä kieli on kyseessä.

1. Php ajetaan siis "kerran" jonka jälkeen tulosteet yms. lähetetään käyttäjälle.
2. JavaScript ajetaan käyttäjän selaimella, ei palvelimella niinkuin php.

3. En näe syytä miksi javaScript on edes sotkettu tähän, kaiken voisi hoitaa pelkälläphp:lla...

Suosittelen möys erilaisten looppien käyttöä yksinkertaistamaan "koodia".

No jus on noin vakavaa, voisit samantien kertoa miten tuo hoidetaan pelkällä pee hoo peellä. $laske = "1 + 1 + 1 + 1"; ei toimi. Jos keksit kerro mullekkin!

T.M. [13.03.2007 15:28:12]

#

$laske = 1 + 1 + 1 + 1;

Mee [13.03.2007 15:39:38]

#

Muuten hyvä mutta... jos kirjoitan <?php echo $muunnin; ?> scripti tulostaa 1 + 1 + 1 + 1 eikä sitä nelosta
Muoks. Oletetaan että $merkit- muuttujan arvo onkin file_get_contents("numerot.txt"); ja numerot.txt on kokoajan muuttuva.

Niko [13.03.2007 16:20:07]

#

evalilla voit suorittaa mutta kantsii sitten poistaa ne komennot joita et haluat tai teet ite funkkarin joka laskee stringistä arvon tai otat valmiin koodi vinkeistä.

Lebe80 [14.03.2007 11:44:31]

#

Mee kirjoitti:

No jus on noin vakavaa, voisit samantien kertoa miten tuo hoidetaan pelkällä pee hoo peellä. $laske = "1 + 1 + 1 + 1"; ei toimi. Jos keksit kerro mullekkin!

Ei ole vakavaa, mutta varmaankin voisit kertoa miksi tähdet (tms) pitää tulostaa lauseesta "1 1 1 1". Miksei tuo voisi suoraan olla pistemäärä (esim luku 4, 4.5 yms.)?

Eli sinulla on hieman logiikka hukassa, mutta ei se haittaa. Kysele lisää niin yritetään keksiä siihen parempi "systeemi".

Vastaus

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

Tietoa sivustosta