Ind0r
Lieutenant
- Registriert
- März 2008
- Beiträge
- 585
Hallo zusammen,
ich stehe voll auf den Schlauch.
Ich habe eine Suche programmiert die 3 Parameter 1-3 Parameter bekommt.
Nun sollte wenn 3 oder 2 Parameter mit angegeben werden, als Schlüssel fungieren.
Ich habe eine foreach Schleife die in 2 Tabellen sucht aber jeder einzelne Parameter
wird in jeder Spalte gesucht. Ich möchte aber wenn 1-3 Parameter mit angegeben werden,
auch nur ein Ergebnis das die Parameter auch verbindet z.b. Hans, Maier, Stuttgart.
Und nicht so:
Hans Maier Stuttgart <-- RICHTIG
Hans Schmidt Berlin
Hans Klaus London
Hans Schäfer Paris
...
Hans Maier Stuttgart <-- RICHTIG
Jürgen Maier Karlsruhe
Claudia Maier Bonn
Abdulah Maier Hannover
....
Hans Maier Stuttgart <-- RICHTIG
Claudia Schäfer Stuttgart
Heiko Schäfer Stuttgart
Das Problem ist in meinem Ergebnis stehen jetzt alle oben genannten Personen.
Obwohl ich eigentlich nur Hans Maier Stuttgart haben möchte. Da er als Schlüssel ein Ergebnis abliefert oder die 3 Parameter zusammenhängen und ein Ergebnis liefern.
Mein Code sieht so aus
Hoffe mir kann jem. helfen.
Gruß
Mridul
ich stehe voll auf den Schlauch.
Ich habe eine Suche programmiert die 3 Parameter 1-3 Parameter bekommt.
Nun sollte wenn 3 oder 2 Parameter mit angegeben werden, als Schlüssel fungieren.
Ich habe eine foreach Schleife die in 2 Tabellen sucht aber jeder einzelne Parameter
wird in jeder Spalte gesucht. Ich möchte aber wenn 1-3 Parameter mit angegeben werden,
auch nur ein Ergebnis das die Parameter auch verbindet z.b. Hans, Maier, Stuttgart.
Und nicht so:
Hans Maier Stuttgart <-- RICHTIG
Hans Schmidt Berlin
Hans Klaus London
Hans Schäfer Paris
...
Hans Maier Stuttgart <-- RICHTIG
Jürgen Maier Karlsruhe
Claudia Maier Bonn
Abdulah Maier Hannover
....
Hans Maier Stuttgart <-- RICHTIG
Claudia Schäfer Stuttgart
Heiko Schäfer Stuttgart
Das Problem ist in meinem Ergebnis stehen jetzt alle oben genannten Personen.
Obwohl ich eigentlich nur Hans Maier Stuttgart haben möchte. Da er als Schlüssel ein Ergebnis abliefert oder die 3 Parameter zusammenhängen und ein Ergebnis liefern.
Mein Code sieht so aus
PHP:
public function searchForAccounting($mixValue){
if(!empty($mixValue)){
$arrMixValues = explode(' ',$mixValue);
$objDB = new Database();
$arrOrderIds = array();
if(count($arrMixValues) <= 3){
foreach($arrMixValues as $mixValue){
$strSQL = 'SELECT o.orders_id
FROM '.TABLE_ORDERS.' o
JOIN '.TABLE_ORDERS_TOTAL.' ot
ON o.orders_id = ot.orders_id
WHERE ot.class = \'ot_total\'
AND o.banktransfer_owner LIKE '.$objDB->prepareInput('%'.$mixValue.'%').'
AND o.banktransfer_number = '.$objDB->prepareInput($mixValue).'
AND value = '.$objDB->prepareInput(str_replace(',','.',$mixValue));
$objDB->read($strSQL);
while($row = $objDB->fetchArray()){
$arrOrderIds[] = $row['orders_id'];
}
}
return $arrOrderIds;
}
else{
die("to much parameter");
}
}
}
Hoffe mir kann jem. helfen.
Gruß
Mridul