traiter des données par lot

Eléphanteau du PHP | 18 Messages

18 août 2005, 14:00

Bonjour,
Je cherche à affecter des codes de facturation à mes factures que j'enregistre environ une fois par mois.

Ma requête sélectionne dans la base de donnée tous les enregistrements qui n'ont pas de code de type "F4"
Ensuite je ne sais pas comment faire :
- pour mémoriser tous ces enregistrement dans une variable
- pour affecter à ces enregistrements le "F + numéro", sachant qu'il faut reprendre la numérotation à partir du dernier code qui a été affecté (exemple "F26", donc commencer à "F27").

Merci de votre aide

Eléphanteau du PHP | 18 Messages

19 août 2005, 12:00

Comment faire pour mémoriser plusieurs id d'une page à l'autre pour ensuite affecter une opération à un lot d'enregistrements ?

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

19 août 2005, 12:07

D'une page à l'autre ?

- GET
- POST
- SESSION
- COOKIE

Plusieurs données ?

Tableau PHP.

Mammouth du PHP | 19672 Messages

19 août 2005, 12:08

Garde les dans une variable de session en créant un tableau :
$_SESSION['id_fact'] = array();
Ensuite quand tu as besoin d'en garder une en mémoire, fais un
array_push($_SESSION['id_fact'], $valeur_id);
Ça signifie également que tu dois avoir un session_start() partout sur le site au début de chaque page avant tout envoi vers le navigateur.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 18 Messages

29 août 2005, 15:13

Je n'arrive pas à enregistrer des numéros qui se suivent à plusieurs factures à la fois.
Voici le code la page où je récupère les ID des factures auxquelles il faut affecter un numéro de facture :

Après j'arrive à détecter dans la base le dernier numero_fac qui a été enregistré : en comptant toutes les factures qui ont codecompta=1, j'obtiens le nombre à partir duquel ajouter "1" pour continuer ma numérotation.

Ensuite je ne sais pas comment générer des numero_fac qui se suivent et les affecter aux factures_id récupérés dans $factures.


<form method="post" action="">
<?
      mysql_connect ("127.0.0.1","root") or die("probleme de selection de la table :" . mysql_error());
      mysql_select_db("société");
?>
<?      $factures=$_POST["factures"];    ?>

	  <input type="varchar" size="10" name=numero_fac value=
    
	  				   $f="F";
                       $query="SELECT * FROM factures WHERE  codecompta=1 ";
                       $res=mysql_query($query);

                       $nb_res=mysql_num_rows($res);
                       $res1= $nb_res+1;
                       $res2=("$f$res1");
                       $numero_fac=$res2;

                       $requete = " SELECT factures_id FROM factures where numero_fac='$numero_fac'";
                       $rs = mysql_query($requete);


                       if($numero_fac == mysql_fetch_array($rs))
                       {
                             $i=1;
                             do {

                                 $res4= ("$f$i");
                                 $res5=$res4;
                                 $i++;

                                 } while ( $res5 == mysql_fetch_array($rs));
                        print ("$res5");

                       }
                       else
                       {

                        print ("$numero_fac");

                       }
                ?> >
				
				
<?php 
 $i=0;
   while ($i <  count($factures)):
  $affect="UPDATE factures SET numero_fac='$numero_fac' WHERE factures_id=\"$factures[$i]\"";
  $resaffect= mysql_query ($affect);
  $i++;
   endwhile;
 ?>
<br>
<b> LE NUMERO DE FACTURE :<? print("$numero_fac"); ?></font> A BIEN ETE ENREGISTRE!!</b>
		 
    <?php
                  mysql_close();
  ?>
  <div align="center">
  <input type="submit" name="Submit2" value="valider">

  </form>

Merci de m'aider