praegune kellaaeg 19.06.2025 18:24:53
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
Pihlakas
HV kasutaja

liitunud: 18.10.2004
|
05.12.2008 15:29:45
Järelmaksukalkulaator Joomla 1.0 Virtuemart 1.0.15 |
|
|
Tere, otsisin www.joomla.ee lehelt siukest moodulit, aga kuna ei leidnud siis otsustasin ise midagi pusida. leidsin netis, mingi laenumakse kalkulaatori ja proovisin siis ümber teha nii, et see vastaks minu vajatustele. Igatahes lahendus tuli selline nagu all on näha.
Orginaali demo KLIKI SIIA
Minu poolt muudetud demo KLIKI SIIA
Vasakul tulbas (kerige nats alla).
LAE ALLA
Install käib nii nagu moodulil ikka. Keele peate valima mooduli alt Estonian või kui teil on joomla eesti keeles, siis ei ole vahet (kuna ta võtab automaatselt joomla default keele).
Nüüd, aga on järgmine küsimus. Kas on võimalik teha nii, et ta võtaks automaatselt selle toote hinna databaasist?
Joomla 1.0, Virtuemart 1.0.15, Databaas mySQL, Keeli on seal kasutatud javascript (arvutamiseks) ja php.
Ma ei tea midagi databaasidest ja ei ole programeeria (tegelt olen põgusalt kokkupuutunud databaasidega, aga jah...)
Või on see liiga keeruline ja jätan parem nii nagu on?
viimati muutis Pihlakas 06.12.2008 01:11:04, muudetud 1 kord |
|
Kommentaarid: 10 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
9 |
|
tagasi üles |
|
 |
neros
HV Guru

liitunud: 26.11.2003
|
06.12.2008 01:10:15
|
|
|
Ma ei saa küll päris täpselt aru kuidas see töötab, aga loogiline oleks küll kui hinna saaks andmebaasist võtta...
//loo ühendus
//...
$tootenimi = $_POST['field']; //mingi väli kus on toote nimi kirjas, samal kujul mis andmebaasiski
$qry = mysql_query("SELECT hind FROM andmebaas WHERE toode = '$tootenimi' "); // sql query
$row = mysql_fetch_row($qry); // tee queryst massiiv
echo "Hind: ".$row[0]; //esimene (ja ainuke) element massiivist, mis peaks sisaldama hinda
|
Ja igal pool kus on hinda vaja, echod $row[0].
In addition, "hind" on andmebaasi väli kus hind kirjas, "andmebaas" on tabeli nimi kus hind jms sees on, ning "toode" on lahter kus on märgitud toote nimi või ID või mis iganes "unique" väli mille järgi tooteid eristatakse.
|
|
Kommentaarid: 48 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
40 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
06.12.2008 01:29:14
|
|
|
No aga sedas väga ei saa. Oletame, et on lehel 15 eset, kas siis teeksid sellise pika rippmenüü sinna kus hinda saaks valida? Õigem oleks, panna tootele onclick peale ja kui klikkida siis viskab selle toote hinna sinna kasti aga sellel on see häda jälle, et kasutajad ei pruugi seda välja mõelda.
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
Pihlakas
HV kasutaja

liitunud: 18.10.2004
|
08.12.2008 14:20:25
|
|
|
madedog kirjutas: |
Ma ei saa küll päris täpselt aru kuidas see töötab, aga loogiline oleks küll kui hinna saaks andmebaasist võtta...
//loo ühendus
//...
$tootenimi = $_POST['field']; //mingi väli kus on toote nimi kirjas, samal kujul mis andmebaasiski
$qry = mysql_query("SELECT hind FROM andmebaas WHERE toode = '$tootenimi' "); // sql query
$row = mysql_fetch_row($qry); // tee queryst massiiv
echo "Hind: ".$row[0]; //esimene (ja ainuke) element massiivist, mis peaks sisaldama hinda
|
Ja igal pool kus on hinda vaja, echod $row[0].
In addition, "hind" on andmebaasi väli kus hind kirjas, "andmebaas" on tabeli nimi kus hind jms sees on, ning "toode" on lahter kus on märgitud toote nimi või ID või mis iganes "unique" väli mille järgi tooteid eristatakse. |
Selline küsimus siis, et kuidas ta oskaks hinna võtta olenevalt tootest. Näiteks kui inimene on ühe toote peal ja läheb järgmise peale siis arvuti saab ise aru milline hind võtta databaasist? Kasutusel on koguaeg üks ja sama järelmaksukalkulaator. Muidugi võibolla oleks lahendus see, et panen igale tootele erineva järelmaksukalkulaatori ja määran kindla hinna.
andrusny kirjutas: |
No aga sedas väga ei saa. Oletame, et on lehel 15 eset, kas siis teeksid sellise pika rippmenüü sinna kus hinda saaks valida? Õigem oleks, panna tootele onclick peale ja kui klikkida siis viskab selle toote hinna sinna kasti aga sellel on see häda jälle, et kasutajad ei pruugi seda välja mõelda. |
Tegelt ma mõtlesin, et kui inimene avab toote siis alles näitab see järelmaksukalkulaator seda hinda.
Leht mis näitab toodet.
<br/>
<table border="0" style="width: 100%;">
<tbody>
<tr>
<td rowspan="3" valign="top" style="text-align:center; cursor:pointer; cursor:hand;"><br/><a href="{zoom_image}" name="{product_name}" id="product_image_link" title='{product_name}' alt='{product_name}' rel="lightbox[]"></a><img name="product_image" alt='{product_name}' src="{full_image}" height="110" border="0" rel="lightbox[]"/><br/><br/>{more_images}</td>
<td rowspan="1" colspan="2">
<h1>{product_name} {edit_link}</h1>
</td>
</tr>
<tr>
<td rowspan="1" colspan="2">Tootja: {manufacturer_link}<br /></td>
</tr>
<tr>
<td width="50%" valign="top" align="left">{product_price}<br /></td>
<td valign="top">{product_packaging}<br /></td>
</tr>
<tr>
<td rowspan="1" colspan="3"><hr />{product_description}<br/><span style="font-style: italic;">{file_list}</span></td>
</tr>
<tr>
<td>{product_availability}<br /></td>
<td colspan="2"><br />{addtocart}</td>
</tr>
<tr>
<td colspan="3">{product_type}</td>
</tr>
<tr>
<td colspan="3"><hr />{product_reviews}</td>
</tr>
<tr>
<td colspan="3">{product_reviewform}<br /></td>
</tr>
<input type="Button" value=" Tagasi " onclick="history.go(-1)" />
<tr>
<td colspan="3">{related_products}<br /></td>
</tr>
<tr>
<td colspan="3"><div style="text-align: center;">{vendor_link}<br /></div><br /></td>
</tr>
</tbody>
</table>
{navigation_childlist}<br style="clear:both"/>
|
Ja järelmaksukalkulaatori kood on järgnev
<?php
/**
* @version $Id: mod_mortgage.php 2007-05-02 v1.0
* @package Joomla
* @copyright Copyright (C) 2007 e-noise.com. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* Mortgage Calculator is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
*/
// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );
global $mosConfig_absolute_path, $mosConfig_lang;
// Retreive parameters
$moduleclass_sfx = intval( $params->get( 'moduleclass_sfx', '' ) );
$interest_rate = $params->get( 'interest_rate', '3.5' );
$currency = $params->get( 'currency', 'EUR' );
$interest_rate_editable = $params->get( 'interest_rate_editable', '0' );
$lang_mode = $params->get( 'lang_mode', 0 );
$show_help = $params->get( 'show_help', 1 );
switch ($lang_mode) {
case 0 :
$mortgagecalc_lang = $mosConfig_lang;
break;
case 1 :
$mortgagecalc_lang = 'english';
break;
case 2 :
$mortgagecalc_lang = 'german';
break;
case 3 :
$mortgagecalc_lang = 'spanish';
break;
case 4 :
$mortgagecalc_lang = 'estonian';
break;
}
// Load language file
if (file_exists($mosConfig_absolute_path.'/modules/mod_mortgagecalc/'.$mortgagecalc_lang.'.php')) {
require($mosConfig_absolute_path.'/modules/mod_mortgagecalc/'.$mortgagecalc_lang.'.php');
}
else {
require($mosConfig_absolute_path.'/modules/mod_mortgagecalc/english.php');
}
// Output
?>
<script type="text/javascript" language="javascript">
function calculate_mortgage() {
var form = document.mortgage_calc_form;
// do field validation
if (form.loan.value == ""){
alert( "<?php echo _MORTGAGECALC_LOAN_AMOUNT_REQUIRED; ?>" );
} else if (form.sissemakse.value == ""){
alert( "<?php echo _MORTGAGECALC_SISSEMAKSE_REQUIRED; ?>" );
} else if (form.duration.value == ""){
alert( "<?php echo _MORTGAGECALC_DURATION_REQUIRED; ?>" );
} else if (form.interest_rate.value == ""){
alert( "<?php echo _MORTGAGECALC_INTEREST_RATE_REQUIRED; ?>" );
} else {
var loan = form.loan.value;
loan = loan.replace(",",""); // Remove commas
//Round instead of replace decimal
//loan = loan.replace(".",""); // Remove preiods
loan = Math.round(loan);
form.loan.value = loan; // refresh loan amount in form without commas or periods
var esmane = ((form.sissemakse.value / 100) * loan);
var duration = (form.duration.value); // in months
var interest_rate = form.interest_rate.value.replace(",","."); // Replace comma with period
form.interest_rate.value = interest_rate; // refresh duration in form without commas
interest_rate = (interest_rate/12); // monthly
var quote = ((loan - esmane) * interest_rate) / ( 100 * ( 1 - Math.pow ( ( 1 + (interest_rate/100) ), -duration ) ) );
if (quote.toFixed) { //if browser supports toFixed() method
quote = quote.toFixed(2);
}
if (esmane.toFixed) { //kui browser toetab toFixed() method
esmane = esmane.toFixed(2);
}
form.esmane.value = esmane;
form.quote.value = quote; // monthly
}
}
var mortgage_calc_popUpWin=0;
function mortgage_calc_popUpWindow(URLStr, left, top, width, height) {
if(mortgage_calc_popUpWin) {
if(!mortgage_calc_popUpWin.closed) mortgage_calc_popUpWin.close();
}
mortgage_calc_popUpWin = open(URLStr, 'mortgage_calc_popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}
</script>
<form action="index.php" name="mortgage_calc_form" id="mortgage_calc_form" method="post">
<table class="moduletable_<?php echo $moduleclass_sfx; ?>" border="0" cellpadding="3" cellspacing="1" width="90%">
<tr>
<td colspan="1"></td>
<td align="right">
<?php if ($show_help == 1) { ?>
<a href="Javascript:mortgage_calc_popUpWindow('modules/mod_mortgagecalc/help/help.english.php', 0, 0, 450, 370);">
<img src="modules/mod_mortgagecalc/help.png" alt="Help" border="0" />
</a>
<?php } ?>
</td>
</tr>
<tr>
<td><?php echo _MORTGAGECALC_LOAN_AMOUNT; ?></td>
<td><input type="text" name="loan" id="loan" size="8" maxlength="6" value="" class="inputbox" /></td>
</tr>
<tr>
<td><?php echo _MORTGAGECALC_SISSEMAKSE; ?></td>
<td>
<select name="sissemakse">
<option value="10">10</option>
<option value="15">15</option>
<option value="20">20</option>
<option value="25">25</option>
<option value="30">30</option>
<option value="35">35</option>
<option value="40">40</option>
<option value="45">45</option>
<option value="50">50</option>
</select>
<?php echo _MORTGAGECALC_PR; ?></td>
</tr>
<tr>
<td><?php echo _MORTGAGECALC_DURATION; ?></td>
<td> <select name="duration">
<option value="6">6</option>
<option value="12">12</option>
<option value="18">18</option>
<option value="24">24</option>
<option value="30">30</option>
<option value="36">36</option>
<option value="42">42</option>
<option value="48">48</option>
</select>
<?php echo _MORTGAGECALC_YEARS; ?></td>
</tr>
<tr>
<td><?php echo _MORTGAGECALC_INTEREST_RATE; ?></td>
<td colspan="2"><input type="text" name="interest_rate" id="interest_rate" value="<?php echo $interest_rate; ?>" size="3" class="inputbox" <?php if (empty($interest_rate_editable)) { echo 'readonly'; } ?> style="background-color:#F0F0F0;" />%</td>
</tr>
<tr>
<td><?php echo _MORTGAGECALC_SISSEMAKSE_ESMANE; ?></td>
<td colspan="2"><input type="text" name="esmane" id="esmane" size="6" readonly style="background-color:#CCCCCC;" class="inputbox" /> <?php echo $currency; ?></td>
</tr>
<tr>
<td><?php echo _MORTGAGECALC_MONTHLY_REPAYMENT; ?></td>
<td colspan="2"><input type="text" name="quote" id="quote" size="6" readonly style="background-color:#CCCCCC;" class="inputbox" /> <?php echo $currency; ?></td>
</tr>
<tr>
<td colspan="3"><input type="button" name="submit" value="<?php echo _MORTGAGECALC_CALCULATE; ?>" onClick="calculate_mortgage();" class="button" /></td>
</tr>
<tr>
<td colspan="3"><input type="button" name="form" value="<?php echo _MORTGAGECALC_FORM; ?>" onClick="window.location='http://www.stenolink.ee/index.php?option=com_facileforms&Itemid=21'" class="button" /></td>
</tr>
</table>
</form> |
|
|
Kommentaarid: 10 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
9 |
|
tagasi üles |
|
 |
neros
HV Guru

liitunud: 26.11.2003
|
08.12.2008 18:29:38
|
|
|
{product_name}
Kusagil on ju ometigi kirjas andmebaasis, mis toote nimi on. Sealtsamast võtabki.... Ma pakun et andmebaas näeb umbes selline välja:
product_id | product_name | product_type | product_price |
Jne. Eks sealt võtadki Ma ausalt ei suuda praegu koodi süveneda et täpselt uurida.
_________________ GitHub
.NET Core & Azure baasil lahendused ja arhitektuur - kontakt. |
|
Kommentaarid: 48 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
40 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
08.12.2008 19:25:38
|
|
|
Võetud sinu koodist:
<td>Laenu summa</td>
<td><input type="text" name="loan" id="loan" size="8" maxlength="6" value="" class="inputbox" /></td> |
Siia siis vaja see toote hind saada.
Kui sa selle mingil moel oled kätte saanud
<td rowspan="1" colspan="2">Tootja: {manufacturer_link}<br /></td>
</tr>
<tr>
<td width="50%" valign="top" align="left">{product_price}<br /></td>
<td valign="top">{product_packaging}<br /></td> |
Eeldan, et see {product_price} siin kuvab selle hinna siis võid proovida sellist lahendust. valuele tuleb anda see väärtus, mis seal hinnaks kuvatakse.
<input type="text" name="loan" id="loan" size="8" maxlength="6" value="{product_price} " class="inputbox" /> |
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
Pihlakas
HV kasutaja

liitunud: 18.10.2004
|
16.12.2008 14:00:50
|
|
|
Ok sõbra abiga sai tehtud.
Toote ID võtab URl-ist ja siis võtab databassist selle toote hinna.
Ma proovisin seda varianti mis sa pakkusid, aga ei toiminid kahjuks. Igatahes ja tänud.
if(isset($_REQUEST["product_id"]) && is_numeric($_REQUEST["product_id"])) {
$kaubanr = $_REQUEST["product_id"];
} else {
$kaubanr = 0;
}
if ($kaubanr > 0) {
//yhendame andmebaasi
$kasutaja =
$parool =
$andmebaas =
$hostinimi =
$yhen = mysql_connect($hostinimi, $kasutaja, $parool);
mysql_select_db($andmebaas, $yhen) or die("Ei saa andbebaasi kätte!");
$kaup = mysql_real_escape_string($kaubanr,$yhen);
$otsime_hinna = "SELECT `product_price` FROM `jos_vm_product_price` WHERE `product_id` = $kaup LIMIT 0, 30 ";
$vastus_hind = mysql_query($otsime_hinna, $yhen) or die("Vigane query");
while($rida = mysql_fetch_array($vastus_hind, MYSQL_ASSOC)){
$stuffi_hind = $rida["product_price"];
}
$kraam = round ($stuffi_hind * 1.18);
} else {
$kraam = 0;
}
|
|
|
Kommentaarid: 10 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
9 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|