PHP expert |
|
Ik zou het zo doen:
Je haalt de ID's op uit de database, vervolgens steek je ze in een array. Dan haal je de laatste waarde van die array eruit met PHP.net: end, x. Met die waarde kan je dan via PHP.net: range een array maken die de getallen 1 tot x. Uiteindelijk kan je dan met PHP.net: array_diff het verschil tussen die twee arrays berekenen, nu heb je dus een array waarvan de eerste waarde die waarde is die je zal moeten gaan gebruiken als ID.
Even een praktisch voorbeeldje:
<?php
$query = mysql_query("SELECT id FROM tabel")or die(mysql_error());
$aIDS = array();
while($aResult = mysql_fetch_assoc($query))
{
$aIDS[] = $aResult['id'];
}
$aAlleNummers = range(1, (int) end($aIDS));
$aVerschil = array_diff($aAlleNummers, $aIDS);
$iNieuwID = array_shift($aVerschil);
echo $iNieuwID;
?>
<?php { $aIDS[] = $aResult['id']; } $aAlleNummers = range(1, (int ) end($aIDS)); ?>
Succes |