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
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'