"myXOOPs"-Fortgeschrittener
Gepostet am:07.05.2007 20:02
#1
Suchfunktion arbeitet bei CD-Base nicht richtig !?
07.05.2007 20:02 Ok versuche gerade das Modul an meine Anforderungen (Datenbank über Elvis-CDs mit Suchfunktion Welches Lied ist auf welcher CD) anzupassen, schaffe es aber nicht den vorhandenen Wert "Hurt" in der Tabelle xoops_cdbase_lyrics in der Spalte titulo (blöd dass der erstprogrammierer da keine englischen tabellen verwendet hat) über die Suchfunktion zu finden

Lt. Code müsste er das aber

function cdbase_search($queryarray, $andor, $limit, $offset, $userid)
{
global $xoopsDB;
$ret = array();
if ( $userid != 0 ) {
return $ret;
}
$dis = $xoopsDB->prefix("cdbase_discs");
$art = $xoopsDB->prefix("cdbase_artists");
$lyr = $xoopsDB->prefix("cdbase_lyrics");
$sql = "SELECT ".$dis.".id_art, ".$dis.".album, ".$art.".artista, ".$lyr.".titulo "
. "FROM ".$dis.", ".$art.", ".$lyr." WHERE ((".$art.".id_art = ".$dis.".id_art) AND (".$art.".id_art = ".$lyr.".id_art))";
// because count() returns 1 even if a supplied variable
// is not an array, we must check if $querryarray is really an array
$count = count($queryarray);
if ( $count > 0 && is_array($queryarray) ) {
$sql .= "AND ((album LIKE '%$queryarray[0]%' OR artista LIKE '%$queryarray[0]%') ";
for ( $i = 1; $i < $count; $i++ ) {
$sql .= " $andor ";
$sql .= "(album LIKE '%$queryarray[$i]%' OR artista LIKE '%$queryarray[$i]%')";
}
$sql .= ") ";
}
$sql .= "ORDER BY id_art DESC";
$result = $xoopsDB->query($sql,$limit,$offset);
$i = 0;
while ( $myrow = $xoopsDB->fetchArray($result) ) {
$ret[$i]['image'] = "images/cd.gif";
$ret[$i]['link'] = "index.php?id_art=".$myrow['id_art'];
$ret[$i]['title'] = $myrow['artista'].": ".$myrow['album'];
$ret[$i]['time'] = "";
//$ret[$i]['uid'] = $myrow['contents_uid'];
$i++;
}
return $ret;
Was ich nicht verstehe für was oben die vars in der function $queryarray, $andor, $limit, $offset für bedeutung haben ?
Hoffe mal dass da des mal einer für mich überprüfen kann. Oder mir erklären kann wie die Suchfunktion generell aufgebaut ist (die module-wikiseiten sind ja seit monaten weg) oder hat noch jemand die moduleanleitung irgendwann mal runtergeladen ??
wird da überhaupt die spalte titulo weiter unten in die suche mit eingeschlossen ???
edit: habs gerade selbst rausgefunden

die sql abfrage hatte sich nur auf album und artista beschränkt, gefehlt hatte da die selbe option für titulo (also war die suchfunktion eher fehlerhaft
hab zwar selbst gelöst, aber vielleicht kann das ja mal selbst einer brauchen um evtl ne eigene suchfunktion zu bauen fürs eigene module