hier der code
- Code: Select all
<?php
if (isset($_POST['submit']) && isset($_POST['Suchbegriff'])){
try {
// i fr improved, verbesserte neue erweiterung
$db = new MySQLi('localhost','root','', 'Kontakte');
echo 'Verbindung offen.<br />';
$sql=
('SELECT * MATCH (kontaktEmail,anrede,kontaktName,kontaktVorname,kontaktTelefon,kontaktFax,kontaktMobil,kontaktStrasse,kontaktOrt,kontaktLand,kontaktTyp,kontaktUrl,zahlungsmittel,kreditfirma,kontaktcomment)AGAINST (".$Suchbegriff.") as score FROM Kontakt WHERE MATCH (kontaktEmail,anrede,kontaktName,kontaktVorname,kontaktTelefon,kontaktFax,kontaktMobil,kontaktStrasse,kontaktOrt,kontaktLand,kontaktTyp,kontaktUrl,zahlungsmittel,kreditfirma,kontaktcomment) AGAINST (".$Suchbegriff.") ORDER BY score DESC ');
echo 'erledigt.' //kommt scheinbar bis hier aber eine ausgabe erfolgt nicht!!
$ergebnis = $db->query($sql);
while ($zeile = $ergebnis->fetch_object()) {
printf('<tr><td>%s</td><td>%s</td><td>%s</td>',
htmlspecialchars($zeile->kontaktVorname),
htmlspecialchars($zeile->kontaktName),
htmlspecialchars($zeile->kontaktEmail),
'<A href="details.php">details</A>');
}
echo'SQL geschickt. <br/>';
$db->close();
// echo 'Verbindung zu. <br />';
// // Datenbankverbindung wieder schließen
// } catch (Exception $e) {
// echo 'Ausnahme gefangen: ', $e->getMessage(), "\n";
// }
}
}
?>
Bei exakter eingabe eines vorhandenen suchbegriffs kommt er bis 'erledigt.' --> scheint zumindest so ... die gewollte ausgabe tätigt er nicht.
ps. in der details.php würde ich gerne den datensatz in der formularansicht angezeigt bekommen... das wäre dann der nächste schritt....
muss man wirklich alle textfelder einzeln matchen oder gibt es sowas wie MATCH (*) WHERE type=varchar OR type=text FROM Kontakte...
zur ergänzung der code für die DB:
- Code: Select all
CREATE TABLE `Kontakte` (
`kontaktno` INT NOT NULL auto_increment,
`kontaktEmail` varchar(255) NOT NULL,
`anrede` varchar(40) NOT NULL,
`kontaktName` varchar(255) default NULL,
`kontaktVorname` varchar(255) NOT NULL,
`kontaktTelefon` varchar(12) default NULL,
`kontaktFax` varchar(12) default NULL,
`kontaktGeburtstag` date NOT NULL,
`kontaktMobil` varchar(12) default NULL,
`kontaktStrasse` varchar(60) default NULL,
`kontaktPlz` int(11) default NULL,
`kontaktOrt` varchar(25) default NULL,
`kontaktLand` varchar(40) default NULL,
`kontaktTyp` varchar(40) default NULL,
`kontaktUrl` varchar(40) default NULL,
`infoFlag` boolean default NULL,
`mediumFlag` boolean default NULL,
`customerFlag` boolean default NULL,
`artistFlag` boolean default NULL,
`infono` boolean default NULL,
`zahlungsmittel` varchar(20) NOT NULL,
`kreditfirma` varchar(255) default NULL,
`kontaktcomment` varchar(400) default NULL,
`submit` boolean default NULL,
PRIMARY KEY (`kontaktno`),
FULLTEXT (kontaktEmail,anrede,kontaktName,kontaktVorname,kontaktTelefon,kontaktFax,kontaktMobil,kontaktStrasse,kontaktOrt,kontaktLand,kontaktTyp,kontaktUrl,zahlungsmittel,kreditfirma,kontaktcomment)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
würde mich whnsinnig über einen tip freuen die ganzen verweise auf die volltextsuche haben mich nicht wirklich weitergebracht...++
liebe grüße tine