Incrémenter un champ dans la base a chaque no

hadjir Messages postés 132 Statut Membre -  
P@t@ch0n Messages postés 603 Statut Membre -
Bonjour,
Bonjour,
j'ai une question :
table "stage" contient les champs : terme, occure, url,titre,resume,code_doc
code_doc : je doit codé chaque nouveau document c-à-d a chque rentré d'un URL j'incrémente le code_doc si non j'ai rien fait.

je fait un code php qui permet de parcourir la base de donnée et quand je rentre un nouveau URL, je teste si cette URL existe je l'insert pas dans la base mais si non (si cette URL n'existe pas dans la base de données) alors j'incrément le code_doc et j'insert dans la base de donnée.

voila le code :

<?php
$sql_rech=mysql_query("select * from stage order by code_doc");
while (($tab_rech=mysql_fetch_array($sql_rech)) and (($tab_rech['url']!= $code)))
{}


if ($tab_rech['url']!=$code)
{
$x= $tab_rech['code_doc'];
$x++;
foreach( $stats as $mot => $nb)
{
$sql = "INSERT INTO stage 
       (terme, occure, url,titre,resume,code_doc) 
       VALUES
       ('" . $mot . "', $nb, '" . $code ."','".$champs1_titre."','".$champs1_descr."','".$x."')
       ";   
mysql_query($sql) or die (mysql_error());
}
}
?>




avec la connexion c'est sur.

ma question :
1-j'arrive a faire le teste dans la base de données si cette URL existe alors je l'insert pas dans la base de données.
mais dans le cas contraire (si cette URL n'existe pas) j'arrive a inserer dans la base de données mais j'arrive pas a incrémenter le code_doc???????????

donc a ce qu'il ya qlq peut me répondre a ma question c'est trés important de la suite de mon travail.

merci d'avance.

2 réponses

Ki!l Messages postés 100 Statut Membre 36
 
mais pourquoi tu n'utilise pas auto increment dans ta base de données
1
P@t@ch0n Messages postés 603 Statut Membre 85
 
Les solutions à entreprendre :

- Jeter ton code à la poubelle et recommencer proprement.
- Consulter des tutos.
- Pour ton problème de base, consulter la doc MySQL sur le ON DUPLICATE KEY https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html
0