Empfehlungen: Erweiterte Suche

Ausgabe von Daten nach Sucheintrag durch User

Daten auslesen, verarbeiten und den Views übergeben

Ausgabe von Daten nach Sucheintrag durch User

Beitragvon Kekskruemel » So 21. Nov 2010, 17:53

Hallo Leute,

ich habe erneut 3 Tabellen:
Stations(id, name, adresse, city, tel, fax, modified, ...)
Prices(id, station_id, petrol_id, value, created)
Petrols(id, name)

der Nutzer hat nun die Möglichkeit über stations/search eine Stadt (City) einzugeben und dann auf "Suchen" zu klicken. Das Formular leitet weiter auf stations/result.
Hier sollen nun die Ergebnisse in einer Tabelle dargestellt werden.

Ich habe im Controller stations die beiden Funktionen definiert und die zwei Views erstellt. Search funktioniert insoweit, dass er auf result weiterleitet und in result auch die "Stadt" ankommt als Suche.

Im Controller stations:
Code: Alles auswählen
        function search() {
                if (!empty($this->data)) {

                }
                $petrols = $this->Station->Petrol->find('list');
                $this->set(compact('petrols', 'station', 'prices'));
        }


        function result() {
                 $this->Station->recursive = 2;
                 $stations = $this->Station->findAllbyCity($this->data['Station']['city']);
                 $this->set('stations', $stations);
        }


Search View:
Code: Alles auswählen
<div class="stations index">
        <h2><?php __('Adressen suchen');?></h2>
<?php echo $this->Form->create('Station', array('url' => array('controller' => 'stations', 'action' => 'result')));?>
        <fieldset>
                 <legend><?php __('Suchen in'); ?></legend>
        <?php
                echo $this->Form->input('city');
                echo $this->Form->input('petrol_id');
                echo $this->Form->input('land');
        ?>
        </fieldset>
<?php echo $this->Form->end(__('Suchen', true));?>

</div>


Result View:

Code: Alles auswählen
<div class="stations index">
        <h2><?php __('Ergebnisse');?></h2>

        <?php print_r($stations); ?>  

</div>


Entsprechend wird per FindByAllCity(Variable) nach Einträgen in der Datenbank gesucht.
Die angezeigte SQL scheint für mich auf richtig zu sein, aber er zeigt nichts an. Ich möchte das array mit den Ergebnissen erst einmal nur mit print_r($stations) ausgeben, damit ich sehe das die Ergebnisse stimmen. Formatierung ist dann ja kein Problem. Leider kommt nichts an. Die Seite Result bleibt bis auf die Überschrift und "Array ( )" leer.

SQL
Code: Alles auswählen
SELECT `Station`.`id`, `Station`.`modified`, `Station`.`name`, `Station`.`adress`, `Station`.`postcode`, `Station`.`city`, `Station`.`active`, `Station`.`land`, `Station`.`sm`, `Station`.`info`, `Station`.`money`, `Station`.`opentimesweek`, `Station`.`opentimessaturday`, `Station`.`opentimessunday`, `Station`.`pic`, `Station`.`tel`, `Station`.`fax`, `Station`.`mail`, `Station`.`web`, `Station`.`zugriffe`, `Station`.`breite`, `Station`.`laenge` FROM `stations` AS `Station` WHERE `Station`.`city` = 'Dresden'
Kekskruemel
 
Beiträge: 15
Registriert: Di 16. Nov 2010, 10:45

Re: Ausgabe von Daten nach Sucheintrag durch User

Beitragvon havanna » Di 23. Nov 2010, 00:12

was du im Debugging siehst (das SQL) kannst du Copy-paste in den PhpMyAdmin einfügen und als Select ausführen.

Wird da was angezeigt? Wenn nein, Abfrage bzw. Einträge in der DB prüfen.

Ciao Thomas
Benutzeravatar
havanna
 
Beiträge: 191
Registriert: Mi 15. Okt 2008, 23:12
Wohnort: Bodman-Ludwigshafen
CakePHP-Version: 1.2.x
OS: WIN

Re: Ausgabe von Daten nach Sucheintrag durch User

Beitragvon Kekskruemel » Di 23. Nov 2010, 08:05

Ach Nein bin ich dumm :-) Ich habe gar nicht mehr den entsprechenden Eintrag zu Dresden drin, den hatte ich ja in einer vorherigen Aktion gelöscht. Mit den anderen vorhandenen Einträgen funktioniert es.
Danke für den einfachen Gedankenanstoss.
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