Empfehlungen: Erweiterte Suche

AVG() in SQL, Berechnung und dann ausgeben

Daten auslesen, verarbeiten und den Views übergeben

AVG() in SQL, Berechnung und dann ausgeben

Beitragvon Kekskruemel » Do 19. Mai 2011, 20:05

Hallo,

ich bin neu bei CakePHP und habe mich an einer Kleinigkeit versucht.

Ich habe mehrere Datenbanken:
- eine mit Tankstellen (petrol_station_master)
- eine mit Kraftstofftypen (Petrol_Type_Master) und
- eine mit KRafstoffpreisen (Petrol_Price_Master

Ich habe nun einen View "Benzinrechner" in dem man seinen Durchschnittsverbrauch, Jahreskilometer und Kraftstofftyp eingibt.
Diese drei Sachen sollen an den Controller der Preis-Modells gehen und dort den Durchschnittspreis des Kraftstofftyps bestimmen. Dies wäre ja dann eine einzelne Zahl (Preis).

Dies soll es dann zur Berechnung der Kosten nutzen und die berechneten Kosten im View ausgeben.

Meine Versuche funktionieren dabei leider nicht.

View:
Code: Alles auswählen

            <h1><?php echo __('Compare Fuel Prices', True); ?></h1>
            <p><?php echo __('Compare your kind of fuel in your city or postcode.', True).'</p>'; ?>
           
            <table>
            <tr>
            <td><br><p><?php echo __('Verbrauch', true) ?></p></td>
            <td><br><?php echo $form->input("verbrauch", array('label' => '','size'=>15,'id'=>'verbrauch')); ?></td>
            </tr>
            <tr>
            <td><br><p><?php echo __('Kilometerleistung pro Jahr', true) ?></p></td>
            <td><br><?php echo $form->input("km", array('label' => '','size'=>15,'id'=>'km')); ?></td>
            </tr>
            <tr>
            <td><p><?php echo __('Fuel', true) ?></p></td>
            <td><?php echo $form->select('k', $petroltypemasters, '1'); ?></td>
            </tr>
            <tr>
            <td><p><?php echo __('Land', True); ?></p></td>
            <td>
                     
                  <?php
                $options = array('DE' => __('Deutschland',true), 'OES' => __('Österreich',true), 'CH' => __('Schweiz',true));
                echo $form->select('land', $options, 'DE');
               
                    ?></td>
            </tr>
            <tr>
            <td colspan=2 align=center>
            <p align=center><?php echo $form->submit(__('search.gif', true)); ?></p>
            </td>
            <td colspan=2><?php echo $post['average']['preis']; ?></td>
           
         
         
            </tr>
           
            </table>

 



Der Controller:
Code: Alles auswählen
<?php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

class PetrolPriceMastersController extends AppController {

    var $helpers = array('Html', 'Form','Demo','Number');
    var $name = 'PetrolPriceMasters';
    var $uses = array('User', 'PetrolPriceMaster','PetrolStationMaster','PetrolTypeMaster','PetrolStationMasterToPetrolTypeMaster');
   
   
   
   
    function benzinrechner($km=null, $verbrauch=null, $k=null, $land=null) {
   
         if (!empty($this->data)) {
           
            $petroltypemasters = $this->PetrolStationMaster->PetrolTypeMaster->find('list', array('fields' => array('id', 'Petrol_Type')));
           
            $this->set(compact('petroltypemasters'));
           
            $average = $this->PetrolPriceMaster->query('SELECT AVG(price) AS preis FROM petrol_price_masters WHERE petrol_type_master_id = '.$this->data['PetrolPriceMaster']['k'].' AND publish = 1');
           
           
            $preis = $preis * $km * $verbrauch *1/100;
            $this->set(compact('preis'));
        }
       
        if (empty($this->data)) {
     
            $petroltypemasters = $this->PetrolStationMaster->PetrolTypeMaster->find('list', array('fields' => array('id', 'Petrol_Type')));
           
            $this->set(compact('petroltypemasters'));
        }
       

    }


// Weitere Funktionen
...
 



Eigentlich ist die Idee ja nicht schwer und denke auch nur wenige Zeilen Code notwendig. aber ich bekomme es nicht hin. Kann mir wer von euch helfen?

Vielen Dank!
Kekskruemel
 
Beiträge: 15
Registriert: Di 16. Nov 2010, 10:45

Zurück zu Controller

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron