Incrémenter nombre séparé par trait d'union

Fermé
talesQC - 15 mars 2018 à 15:30
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 15 mars 2018 à 18:27
Bonjour

Je souhaite incrémenter de +1 un bon de commande ayant la forme suivante: 2018-001-01.
Je souhaite que cela me retourne 2018-001-02.

Voici mon code php qui fonctionne parfaitement si mon nombre n'est pas séparé par des traits d'union.

// output data of each row
while($row = $result->fetch_assoc()) {
echo $row["Po"] +1 ;
}
} else {
echo "0 results";
}
$conn->close(); ?>" style="font-size:30pt;height:100px;width:300px; background-color:#87CEEB;" readonly /></strong>


Merci

1 réponse

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
15 mars 2018 à 18:27
'lut,
une idée c'est de séparer le numéro de bon en ses 3 différentes parties, d'incrémenter la dernière puis de recoller le tout en mettant autant de zéros que nécessaire pour que ça fasse la même longueur:
$parties = explode('-', '2018-001-01');
$parties[2] = str_pad(((int) $parties[2]) + 1, strlen($parties[2]), '0', STR_PAD_LEFT);
$reference = implode('-', $parties);
0