[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