Moin Brotfische,
hätte nie gedacht das ich wegen einen Simplen LIKE-Befehl in einer Sackgasse stehen würde.
Also ich habe eine Suche in Ajax konzeptiert.
Ausgeführt wird die Methode company().
Script:
PHP
<?php
class Ajax
{
public $db;
function __construct()
{
require_once 'db.class.php';
$this->db = new Database;
}
//firma
public function company($str)
{
try
{
$this->db->Query("SELECT * FROM customers WHERE firma LIKE '%$str%'");
$this->db->execute();
if($this->db->rowCount()==0) {return 0;} else {
$f = $this->db->fetchAll();
$r = '';
for($x=1;$x<$this->db->rowCount();$x++) {
$r.= $f[$x]['firma'].'<br />';
}
return $r;
}
} catch(PDOException $e) {
die($e->getMessage());
}
}
}
?>
Alles anzeigen
Problembeschreibung:
Wenn man in der Suche etwas eingibt, gibt MySQL ALLE existierenden Datensätze in der Tabelle aus. Egal welches Zeichen man n der Suche schreibt. Auch Zeichen die in der Datenbank nicht vorhanden sind. Es macht kein Unterschied in welche Anordnung % ist. Es werden immer alle "Kunden" angezeigt.
Laut MySQL was ich nochmal nachgesehen habe denke ich habe ich alles richtig gemacht oder hab ich einen Denkfehler?
Liebe Grüße
Patrick