Problèmes fonctionnels #24
OPAC : ajout dans le panier "lecteur" du résultat d'une recherche multicritère
0%
Description
Dans l'OPAC, avec les paniers activés pour les utilisateurs (anonymes),
pour les résultats d'une recherche multicritère,
le lien "Ajouter le résultat dans votre panier" ne met qu'une seule notice du résultat dans le panier.
Alors que toutes les notices du résultat de la recherche multi-critère devraient être ajoutés au panier.
Proposition de solution :
-------------------------
dans "/pmb/opac_css/cart_info.php" :
vers la ligne 163 : "case extented" et suivantes,
modifier le code comme suit :
case "extended":
$es=new search();
$table=$es->make_search();
$notices = '';
$q="select group_concat(distinct notice_id separator ',') from $table group by notice_id";
$r = mysql_query($q,$dbh);
if(mysql_num_rows($r)) {
// $notices = mysql_result($r,0,0);
$notices = array();
while ($row = mysql_fetch_array($r)) {
$notices[] = $row0;
}
$notices = implode(",", $notices);
$fr = new filter_results($notices);
$notices = $fr->get_results();
}
add_notices_to_cart($notices);
break;
Historique
#1 Mis à jour par PMB Services il y a plus de 11 ans
- Catégorie mis à OPAC - Recherches
Frédéric, peux-tu préciser la version de PMB. Je n'arrive pas à reproduire le problème.
Dans le code que tu soumets, il y a une incohérence :
le group_concat agrège les identifiants de notice séparés par une virgule, puis tu refais la ma même chose avec une boucle en dessous, comme si il y avait une ligne par identifiant.
De plus, attention avec le group_concat qui est limité par défaut à 1024 caractères. Le résultat est vite tronqué.
Extrait de la doc mysql :
"The result [of group_concat] is truncated to the maximum length that is given by the group_concat_max_len system variable, which has a default value of 1024."