Is er een mogelijkheid om de manier van zoeken aan te passen in de nieuwste sam php versie?
We zijn bezig met een nieuwe site.
Op de huidige site gebruik nu nog een oude joomla plugin, die zoekt echt alleen op bv de hele titel.
Als ik dat nu met het sam php script doet, krijg ik een uitkomst van elk woord dat in de titel staat.
Zodat er soms wel +2500 uitkomsten zijn van een simpel zoek opdacht.
Is er een mogelijkheid om dat aan te passen?
Manier van zoeken veranderen sam php
- renem
- ****
- Berichten: 81
- Lid geworden op: 09 jan 2018, 07:33
- SAM-versie: 2021.2
- Database: MySQL
- Windows: 10
Re: Manier van zoeken veranderen sam php
Deze heb ik bij mij toegepast. Je hebt wel een beetje kennis van php nodig maar werkt prima, een stuk beter dan de standaard zoekfunctie.
post34382.html
post34382.html
Re: Manier van zoeken veranderen sam php
Thanks!
Zoals het zoeken tussen de " " zou ik eigenlijk altijd willen hebben kan dat?
Zoals het zoeken tussen de " " zou ik eigenlijk altijd willen hebben kan dat?
Re: Manier van zoeken veranderen sam php
Ik dacht even makkelijk de If / else om te draaien in de code.playlist.php maar dat werkt niet.
Dat zou voor mij wel een ideale oplossing zijn.
Dat zou voor mij wel een ideale oplossing zijn.
Code: Selecteer alles
//########## BUILD SEARCH STRING ################
$search_words = '';
if ($search <> '') {
$search_words = array();
$search = stripslashes($search);
$quote = explode('*', $search);
reset($quote);
while(list($qkey, $qval) = each($quote)) {
if($qkey & 1) {
// Exact match
$val = trim($qval);
if (!empty($val)) {
$search_words[] = $val;
}
}
else {
// List of words
$temp = explode(' ', $qval);
reset($temp);
while (list($key, $val) = each($temp)) {
$val = trim($val);
if (!empty($val)) {
$search_words[] = $val;
}
}
}
}
}
- renem
- ****
- Berichten: 81
- Lid geworden op: 09 jan 2018, 07:33
- SAM-versie: 2021.2
- Database: MySQL
- Windows: 10
Re: Manier van zoeken veranderen sam php
Ik ben geen PHP guru, ik zou er best uit komen maar dan moet ik me er eerst weer in verdiepen. Het lijkt me echter niet moeilijk om de " " bij iedere zoekopdracht automatisch mee te laten sturen.
Re: Manier van zoeken veranderen sam php
Ik heb er nu een * van gemaakt. Alleen voor de tekst een ster plaatsen of in jou geval een " is voldoende om een directe zoek opdracht te krijgen nu in dit script.
Helaas kan ik een klein beetje php script lezen maar functioneel aanpassen zoals deze kom ik niet uit. Hopelijk jij of iemand anders wel
Helaas kan ik een klein beetje php script lezen maar functioneel aanpassen zoals deze kom ik niet uit. Hopelijk jij of iemand anders wel

Re: Manier van zoeken veranderen sam php
Het is me gelukt!!!
Ik had er natuurlijk eerder al een * van gemaakt.
deze ook toegevoegd in de volgende regel: (zie pijl)
eerst stond daar: ' '
else {
// List of words
$temp = explode('*', $qval);
reset($temp);
while (list($key, $val) = each($temp)) {
$val = trim($val);
if (!empty($val)) {
$search_words[] = $val;
}
Het complete code.playlist.php script ziet er nu dus zo uit:
P.s. dit is nu dus een gedeelte van het aangepaste script van deze pagina: post34382.html
Ik had er natuurlijk eerder al een * van gemaakt.
deze ook toegevoegd in de volgende regel: (zie pijl)
eerst stond daar: ' '
else {
// List of words

reset($temp);
while (list($key, $val) = each($temp)) {
$val = trim($val);
if (!empty($val)) {
$search_words[] = $val;
}
Het complete code.playlist.php script ziet er nu dus zo uit:
Code: Selecteer alles
<?php
// The class handling song info
include_once('classes/class.song.php');
if (ALLOW_REQUESTS) {
// An array of song objects with the top requested songs
$topRequestedSongs = Song::getTopRequestedSongs();
}
$start = Def('start', 0); // Where the playlist must start
$limit = Def('limit', 25); // How many items will be displayed
$search = Def('search'); // The search string
$character = Def('character'); // The letter to sort the playlist by
$search_fields = Def('fields'); // The fields to search in
if ("All" == $character) {
unset($character);
}
//########## BUILD SEARCH STRING ################
$search_words = '';
if ($search <> '') {
$search_words = array();
$search = stripslashes($search);
$quote = explode('*',$search);
reset($quote);
while(list($qkey, $qval) = each($quote)) {
if($qkey & 1) {
// Exact match
$val = trim($qval);
if (!empty($val)) {
$search_words[] = $val;
}
}
else {
// List of words
$temp = explode('*', $qval);
reset($temp);
while (list($key, $val) = each($temp)) {
$val = trim($val);
if (!empty($val)) {
$search_words[] = $val;
}
}
}
}
}
// An array of song objects matching the search criteria
$playlistSongs = Song::getPlaylistSongs($search_words, $character, $start, $limit, $search_fields);
$cnt = Song::getPlaylistSongCount();
//########## =================== ################
$first = $start + 1;
$last = min($cnt, $start + $limit);
// Create the previous and next links based on the result
if ($cnt > 0) {
$searchstr = urlencode($search);
$prev = max(0, $start - $limit);
if ($start > 0) {
$prevlnk = "<a href='?start=$prev&limit={$limit}&character=$character&search=$searchstr'><< Terug</a>";
}
$tmp = ($start + $limit);
if ($tmp < $cnt) {
$nextlnk = "<a href='?start=$tmp&limit={$limit}&character=$character&search=$searchstr'>Volgende >></a>";
}
}
- renem
- ****
- Berichten: 81
- Lid geworden op: 09 jan 2018, 07:33
- SAM-versie: 2021.2
- Database: MySQL
- Windows: 10
Re: Manier van zoeken veranderen sam php
Top! En bedankt voor het delen!
-
- Vergelijkbare Onderwerpen
- Reacties
- Weergaves
- Laatste bericht
-
- 1 Reacties
- 1272 Weergaves
-
Laatste bericht door Wout
-
- 9 Reacties
- 5364 Weergaves
-
Laatste bericht door radioomega
-
-
Nieuw bericht op deze manier hoef je geen buma en sena meer te betalen
door fadingfm » » in Het praatcafe !» - 48 Reacties
- 5944 Weergaves
-
Laatste bericht door dj-ben
-