[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pmb.user] Re: Cote romans et albums
Pas de problème voici le script "corrigé" et adapté à nos besoins
AUT
T
ou TIT
DEW
AUT
ou DEW
TIT
Cordialement,
Aline Aublé.
<?php
// +-------------------------------------------------+
// contributeurs (voir www.sigb.net)
// +-------------------------------------------------+
// $Id: custom_cote_04.inc.php,v BMA 2006/02/07 Claude ALTAYRAC Exp $
// custom function to prefill the cote field when adding a new document
//
// if exists an author at level 0
// cote = dewey + 3 char of author
// else
// cote = dewey + 3 char of title + vol. number
//
// created by Marco Vaninetti, modified by Gautier Michelin
function prefill_cote($id_notice=0,$cote="") {
global $dbh;
$res_dewey = '';
$res_author = '';
$res_title = '';
$res_nvol = '';
$res_cote = '';
if (!$cote) {
// fetch the dewey code
$requete = "SELECT indexint_name FROM indexint, notices where
notice_id='$id_notice' and indexint=indexint_id ";
$result = @mysql_query($requete, $dbh);
$nbr_lignes = mysql_num_rows($result);
if ($nbr_lignes) {
$res = mysql_fetch_object($result) ;
$res_dewey= $res->indexint_name;
}
// fetch the title and the volume number
$requete = "SELECT index_sew, tnvol FROM notices WHERE notice_id=
'$id_notice' ";
$result = @mysql_query($requete, $dbh);
$res = mysql_fetch_object($result);
$res_title = strtoupper(str_replace(" ","",$res->index_sew));
$res_nvol = $res->tnvol;
// fetch the first author, but only if his responsability_type is 0
$requete = "SELECT index_author, responsability_type FROM authors,
responsability WHERE author_id=responsability_author and
responsability_notice = '$id_notice' and responsability_type = '0' LIMIT 1";
$result = @mysql_query($requete, $dbh);
$nbr_lignes = mysql_num_rows($result);
// build the code using also the author name
if ($res_dewey) {
if ($nbr_lignes) {
$res = mysql_fetch_object($result);
$res_author = strtoupper(substr(str_replace("
","",$res->index_author),0,3));
$res_title = substr($res_title,0,3);
$res_cote = $res_dewey." ".$res_author;
} else
{
// no author at responsability_type 0 so build the code using only the
title
$res_title = substr($res_title,0,3);
$res_cote = $res_dewey." ".$res_title." ".$res_nvol;
}
} else
{
if ($nbr_lignes) {
$res = mysql_fetch_object($result);
$res_author = strtoupper(substr(str_replace("
","",$res->index_author),0,3));
$res_title = substr($res_title,0,1);
$res_cote = $res_author." ".$res_title;
} else
{
// no author at responsability_type 0 so build the code using only the
title
$res_title = substr($res_title,0,3);
$res_cote = $res_title." ".$res_nvol;
}
}
return $res_cote;
} else return $cote ;
}
----- Original Message -----
From: "NAGET Caroline" <obsidienne@gmail.com>
To: <pmb.user@pizz.net>
Sent: Thursday, February 09, 2006 10:38 AM
Subject: [pmb.user] Re: Cote romans et albums
>
> Bonjour,
>
> Super que vous ayiez obtenu le résultat que vous cherchiez ^_^
> Est-ce qu'il serait possible de copier le script que vous utilisez sur
> la liste ? Ce serait pour mutualiser les résultats...
>
> Cordialement,
>
> Caroline Naget
>
> ---------------------------------
> On 2/9/06, Bibliothèque Municipale d'Auxonne <bm.auxonne@wanadoo.fr>
wrote:
> >
> > Bonjour,
> > Merci pour tout, un informaticien m'a refait un script qui correspond
Ã
> > mes attentes et corrige même l'espace qui se met devant la cote générée
par
> > le script de base ;-)
> > En fait il a rajouté une boucle qui teste tout et j'ai bien :
> > AUT
> > T
> > et si pas d'auteur
> > TIT
> > Merci pour les explications, cela nous a fait gagner du temps.
> > Cordialement,
> > Aline Aublé.
> >
> >
> > ----- Original Message -----
> > From: "NAGET Caroline" <obsidienne@gmail.com>
> > To: <pmb.user@pizz.net>
> > Sent: Thursday, February 09, 2006 7:01 AM
> > Subject: [pmb.user] Re: Cote romans et albums
> >
> >
> > >
> > > Bonjour,
> > >
> > > Désolée pour le petit délai, j'ai eu très peu de temps disponible ces
> > > derniers jours...
> > >
> > > Alors pour avoir un retour à la ligne entre les trois lettres de
> > > l'auteur et le titre, voilà ce que je propose :
> > >
> > > Remplacer dans custom_cote_02 le dernier paragraphe par :
> > >
> > > -----
> > > // build the code using also the author name
> > > if ($nbr_lignes) {
> > > $res = mysql_fetch_object($result);
> > > $res_author = strtoupper(substr(str_replace("
> > ","",$res->index_author),0,3));
> > > $res_title = substr($res_title,0,1);
> > > $res_cote = $res_author."<br />".$res_title;
> > > } else
> > > {
> > > // no author at responsability_type 0 so build the code using only
> > > the title
> > > $res_title = substr($res_title,0,1);
> > > $res_cote = $res_title;
> > > }
> > > return $res_cote;
> > > } else return $cote ;
> > > }
> > > ------
> > >
> > > Ca change l'affichage dans l'interface d'administration et dans
> > > l'OPAC. Par contre ça rajoute du xhtml dans le texte de la cote, et je
> > > ne trouve pas ça optimal... mais je n'ai pas vraiment d'autre
> > > solution... Quelqu'un, une idée ?
> > >
> > > Ce qui apparaît avec le script, c'est :
> > > - S'il y a un auteur :
> > > AUT
> > > T
> > > - Sans auteur :
> > > T
> > >
> > > Est-ce que c'est ce que vous cherchez ?
> > >
> > > Bonne journée à toute la liste,
> > >
> > > Caroline Naget
> > >
> > > ***********************
> > > On 2/4/06, Bibliothèque Municipale d'Auxonne <bm.auxonne@wanadoo.fr>
> > wrote:
> > > >
> > > > Re-bonjour Caroline,
> > > >
> > > > En fait ce que je souhaite, et que je ne suis pas certaine de
pouvoir le
> > > > paramétrer seule, c'est la génération automatique de la cote pour
mes
> > > > fictions comme suit : les trois premières lettres de l'auteur et en
> > dessous,
> > > > la première lettre du titre.
> > > > Je ne vois pas trop où mettre cela dans le code php.
> > > > Merci et à bientôt,
> > > > Aline Aublé.
> > >
> > > Liste de diffusion pmb.user
> > > Pour se dsinscrire :
mailto:pmb.user_request@sigb.net?subject=unsubscribe
> > >
> > >
> > >
> > >
> >
> >
> >
> >
> > Liste de diffusion pmb.user
> > Pour se d�sinscrire :
mailto:pmb.user_request@sigb.net?subject=unsubscribe
> >
> >
> >
>
> Liste de diffusion pmb.user
> Pour se dsinscrire : mailto:pmb.user_request@sigb.net?subject=unsubscribe
>
>
>
>
Liste de diffusion pmb.user
Pour se désinscrire : mailto:pmb.user_request@sigb.net?subject=unsubscribe