incrementation d'un champs

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : incrementation d'un champs

par ruly » 15 juil. 2005, 15:10

de rien et bon week-end à toi aussi ;)
bien merite... mais ca dans 3 ptites heures :wink:

merci encore

par ouckileou » 15 juil. 2005, 15:02

de rien et bon week-end à toi aussi ;)

par ruly » 15 juil. 2005, 14:56

Ca marche super bien merci

et meme si je supprime ca me prend le dernier c'est parfait

un grand merci et un excelent weekend!!!!!

:wink:

par ouckileou » 15 juil. 2005, 14:35

ca a l'air de marche. je vais faire les test jusqu'a 20 et te tiens au courant
ah oui c'est vrai que c'était le problème de départ... :lol:

mais avec le système que je t'ai filé, en cas de suppressions de lignes
model_id et it_num pourront être désynchronisés, à toi de voir si ça te gêne

par ruly » 15 juil. 2005, 14:33

je n'avais pas corrigé ton code, juste fais des commentaires
essaye avec ça :
// recuperation du dernier n°it : on tri les enregistrement suivant model_id décroissant, et on ne prend que le premier résultat
$sql_it = "SELECT it_num FROM model ORDER BY model_id DESC LIMIT 0,1";

$req_it = mysql_query($sql_it) or die('Erreur SQL !<br>'.$sql_it.'<br>'.mysql_error());
$cols_it = mysql_num_rows($req_it);

// comme on a qu'une ligne, on récupère la ligne d'indice 0
$it_num = mysql_result($req_it,0,"it_num");


$it_num_tmp = explode("-", $it_num);
$lt = $it_num_tmp[0];
$ch = $it_num_tmp[1];
echo $lt.'<br>';
echo $ch.'<br>';
$ch = $ch + 1;
$it_num = $lt.'-'.$ch;

echo $ch.'<br>';
ca a l'air de marche. je vais faire les test jusqu'a 20 et te tiens au courant

en tout cas un grand et enorme merci :agenouille:

par ruly » 15 juil. 2005, 14:31

Modération : ruly, merci de respecter les gens qui tentent de t'aider en bannissant de tes pratiques l'utilisation de langage SMS. Tu as un vrai clavier devant toi et on est pas dans un grand prix de Formule 1.
ok desole.... je vais faire un grand effort promi

et un grand merci a tous ceux qui sont sur ce forum pour aider les gens comme moi :wink:

par ouckileou » 15 juil. 2005, 14:31

je n'avais pas corrigé ton code, juste fais des commentaires
essaye avec ça :
// recuperation du dernier n°it : on tri les enregistrement suivant model_id décroissant, et on ne prend que le premier résultat
$sql_it = "SELECT it_num FROM model ORDER BY model_id DESC LIMIT 0,1";

$req_it = mysql_query($sql_it) or die('Erreur SQL !<br>'.$sql_it.'<br>'.mysql_error());
$cols_it = mysql_num_rows($req_it);

// comme on a qu'une ligne, on récupère la ligne d'indice 0
$it_num = mysql_result($req_it,0,"it_num");


$it_num_tmp = explode("-", $it_num);
$lt = $it_num_tmp[0];
$ch = $it_num_tmp[1];
echo $lt.'<br>';
echo $ch.'<br>';
$ch = $ch + 1;
$it_num = $lt.'-'.$ch;

echo $ch.'<br>';

par Cyrano » 15 juil. 2005, 14:28

Modération : ruly, merci de respecter les gens qui tentent de t'aider en bannissant de tes pratiques l'utilisation de langage SMS. Tu as un vrai clavier devant toi et on est pas dans un grand prix de Formule 1.

par ruly » 15 juil. 2005, 14:25

// recuperation du dernier n°it:
$sql_it = "select it_num from model ORDER BY it limit 0,1"; // récupère plutôt l'identifiant numérique, puisque c'est là-dessus que tu te bases
// il faut ensuite que tu fasses un ORDER BY DESC sur cet identifiant

$req_it = mysql_query($sql_it) or die('Erreur SQL !<br>'.$sql_it.'<br>'.mysql_error());
$cols_it = mysql_num_rows($req_it);

$it_num = mysql_result($req_it,0,"it_num"); // si tu ne récupères qu'une ligne, son indice est 0 !
$it_num_tmp = explode("-", $it_num);
$lt = $it_num_tmp[0];
$ch = $it_num_tmp[1];
echo $lt.'<br>';
echo $ch.'<br>';
$ch = $ch + 1;
$it_num = $lt.'-'.$ch;

echo $ch.'<br>';
:lol: :lol: :lol: :lol: :lol:

moi ca me fait trop rire parce ke des uqe je change qqch ca fait ce k'il veut....

la avec cette facon... ben le dernier it c le 1 et le prochain c le 2 alors que dans ma base j'en suis deja au 12eme

je capte vraiement pas grnad chose today ca doit etre la chaleur et vendredi :lol: :lol: :lol: :lol:

non mais sans dec. c moi ou franchement chui le seul a rien capte pour koi ca marche pas???

par ouckileou » 15 juil. 2005, 14:25

je persiste à ne pas comprendre l'intérêt de tout ça

si tu as d'un coté un identifiant classique, un nombre auto incrémenté
et que de l'autre tu veux un identifiant en plus avec IT-

qu'est-ce qui se passera si tu supprimes des enregistrements, à la prochaine insertion :

l'identifiant maximum enregistré sera 5, celui qui sera généré pour ton insertion sera 9, et l'identifiant que tu créeras toi pour cet insertion sera IT-5

ça ne te pose pas de problème ?

par ouckileou » 15 juil. 2005, 14:19

// recuperation du dernier n°it:
$sql_it = "select it_num from model ORDER BY it limit 0,1"; // récupère plutôt l'identifiant numérique, puisque c'est là-dessus que tu te bases
// il faut ensuite que tu fasses un ORDER BY DESC sur cet identifiant

$req_it = mysql_query($sql_it) or die('Erreur SQL !<br>'.$sql_it.'<br>'.mysql_error());
$cols_it = mysql_num_rows($req_it);

$it_num = mysql_result($req_it,0,"it_num"); // si tu ne récupères qu'une ligne, son indice est 0 !
$it_num_tmp = explode("-", $it_num);
$lt = $it_num_tmp[0];
$ch = $it_num_tmp[1];
echo $lt.'<br>';
echo $ch.'<br>';
$ch = $ch + 1;
$it_num = $lt.'-'.$ch;

echo $ch.'<br>';

par ruly » 15 juil. 2005, 14:15

donc fair comme ceci:

/

Code : Tout sélectionner

/recuperation du dernier n°it: $sql_it = "select it_num from model limit 0,1"; $req_it = mysql_query($sql_it) or die('Erreur SQL !<br>'.$sql_it.'<br>'.mysql_error()); $cols_it = mysql_num_rows($req_it); $it_num = mysql_result($req_it,1,"it_num"); $it_num_tmp = explode("-", $it_num); $lt = $it_num_tmp[0]; $ch = $it_num_tmp[1]; echo $lt.'<br>'; echo $ch.'<br>'; $ch = $ch + 1; $it_num = $lt.'-'.$ch; echo $ch.'<br>';
mais la ca me met:
  • Warning: mysql_result(): Unable to jump to row 1 on MySQL result index 9 in c:\program files\easyphp1-7\www\leopard\it\inc\model\model_insert.php on line 64

    Notice: Undefined offset: 1 in c:\program files\easyphp1-7\www\leopard\it\inc\model\model_insert.php on line 67
????? je fais koi moi ya rien ki marche comme on veut :roll: en plus c vendredi lol :wink:

par ouckileou » 15 juil. 2005, 11:59

//recuperation du dernier n°it:
$sql_it = "select it_num from model order by 1 desc";
qu'est-ce que c'est que "ORDER BY 1" ??

et puis, plutôt que de récupérer toutes tes lignes de résultat et d'accéder à la dernière, tu peux ne sortit que la dernière en utilisant LIMIT 0,1

par ruly » 15 juil. 2005, 11:55

ma tabe est comme ceci:

Code : Tout sélectionner

model_id manufacturier_id type_id manager_id model_nom chemin_acces version russel_num it_num date_maj date_reception repertoire_vd
et si je met comme tui dis

Code : Tout sélectionner

[php mysql_result($req_it,1,"it_num"); [/php
ben pour le suivant ca me met 8 (ancien) et 9 (incrementer)

par ouckileou » 15 juil. 2005, 11:50

je supprime mon message j'ai dit n'importe quoi :lol: