Avaleht
uus teema   vasta Tarkvara »  WWW »  Järelmaksukalkulaator Joomla 1.0 Virtuemart 1.0.15 märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Pihlakas
HV kasutaja
Pihlakas

liitunud: 18.10.2004




sõnum 05.12.2008 15:29:45 Järelmaksukalkulaator Joomla 1.0 Virtuemart 1.0.15 vasta tsitaadiga

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...) icon_redface.gif

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
vaata kasutaja infot saada privaatsõnum
neros
HV Guru
neros

liitunud: 26.11.2003




sõnum 06.12.2008 01:10:15 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 06.12.2008 01:29:14 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Pihlakas
HV kasutaja
Pihlakas

liitunud: 18.10.2004




sõnum 08.12.2008 14:20:25 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
neros
HV Guru
neros

liitunud: 26.11.2003




sõnum 08.12.2008 18:29:38 vasta tsitaadiga

{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 icon_razz1.gif 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
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 08.12.2008 19:25:38 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Pihlakas
HV kasutaja
Pihlakas

liitunud: 18.10.2004




sõnum 16.12.2008 14:00:50 vasta tsitaadiga

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 thumbs_up.gif 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
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Järelmaksukalkulaator Joomla 1.0 Virtuemart 1.0.15
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
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.