Code : Tout sélectionner
select id from matable
where oid=(select max(oid) from matable)
c'est une solution, mais le pricipal intéret de cette seconde table est de localiser rapidement les numéros temporaires, pas besoin de passer par là si tu peux créer un code temporaire comme te l'ai proposé Cyrano (je pensais que ton numéro était un nombre pur => pas possible de lui mettre un préfixe)il est de type chaine de caractere
mais si je fais une table numero temporaire, je met un numero de depart dedans et chque fois que j insere un enregistrement je prend le dernier de cette table aleatoire et je l incremente de 1.
Et donc à chaque fois j ajouterai le numero de serie provisoire dans ma vrai table , celle qui stocke mes objet et aussi dans la table numero temporaire ?
Code : Tout sélectionner
SELECT SUBSTRING(MAX(code),4) FROM table WHERE code LIKE "TMP%"if(isset($_POST['Ajouter'])){
if(empty($_POST['nums']))
{
$sql6="select numprov from numeroprov
where idprov=1 ";
$result6=pg_query($sql6);
while($list6=pg_fetch_array($result6))
{
$series6=$list6['numprov'];
$taille=strlen($series6);
$base=substr($series6, 0, 4);
$chiffre=substr($series6, -1, $taille-4);
}
}
for($i=1;$i<=$_POST['qte'];$i++)
{
$sql1="select numcommande from commandes where bon_commande='".$_POST['numc']."'";
$res=pg_query($sql1);
while($list=pg_fetch_array($res))
{
$bcom=$list['numcommande'];
}
if(empty($_POST['nums']))
{
$chiffre=$chiffre+1;
$prov=$base.$chiffre;
}
else
{
$series=$_POST['nums'];
}
$sql="insert into objet(numserie, numcommande,numposte,numinventaire,type_objet, marque, modele, propriete1 , propriete2, propriete3, propriete4, propriete5,propriete6, propriete7, propriete8, propriete9, propriete10, commentaire1, commentaire2, prix, date_livraison, duree_garantie_site, duree_garantie_atelier, contrat_de_maintenance, date_fin_contrat) values ('".$prov."',".$bcom.",7, '".$_POST['numi']."', '".$_POST['fam']."','".$_POST['marq']."','".$_POST['mod']."', '".$_POST['p1']."','".$_POST['p2']."','".$_POST['p3']."','".$_POST['p4']."','".$_POST['p5']."','".$_POST['p6']."','".$_POST['p7']."','".@$_POST['p8']."','".$_POST['p9']."','".$_POST['p10']."','".$_POST['comm1']."','".$_POST['comm2']."'";
$null="NULL";
if(!empty($_POST['prix'])){
$sql=$sql." , ".$_POST['prix'];
}else{
$sql=$sql." , ".$null;
}
if(!empty($_POST['liv'])){
$sql=$sql." , '".$_POST['liv']."'";
}else{
$sql=$sql." , ".$null;
}
if(!empty($_POST['sit'])){
$sql=$sql." , ".$_POST['sit'];
}else{
$sql=$sql." , ".$null;
}
if(!empty($_POST['ret'])){
$sql=$sql." , ".$_POST['ret'];
}else{
$sql=$sql." , ".$null;
}
if(!empty($_POST['fin'])){
$sql=$sql.",'".$_POST['numcontr']."' , '".$_POST['fin']."'";
}else{
$sql=$sql.",'".$_POST['numcontr']."' , ".$null;
}
$sql=$sql.")";
echo $sql;
echo "<b>".$prov."</b>";
$result=pg_query($sql);
$dat=date("d/m/Y");
$sql2="insert into etat_objet (date,numserie,numetat) values ('".$dat."','".$prov."', 1)";
$resu=pg_query($sql2);
$sql7="update numeroprov set numprov='".$prov."' where idprov= 1 ";
$resu7=pg_query($sql7);
}
}