Ok ik ga het proberen uit te leggen.
Ik ben bezig met iets waar ik niet uit kom.
iets met de nummers toekennen aan verenigen wat voor doet niet ter zaken.
ik heb een tabel
vereniging met de waarde
ver_nr
ver_naam
etc
ik hebeen tabel nummers
met de waarde
ver_nr
reeks_van
reeks_tot
vereniging.ver_nr=nummers.ver_nr
De tabel nummer is als volgt gevuld (als voorbeeld)
Ik kan de verenigigen nu nieuwe nummer toekennen aan de hand van de hoogste waarde in de tabel.
(heb query niet bij de hand maar dat was)
stel dat we ver_nr 3 nog 10 nummer willen geven zou het worden
(40+1) + 10 -1
// -1 omdat 41 + 10 , 51 is en ik 10 nummer wil toekennen en dat is
41,42,43,44,45,46,47,48,49,50
dan zou de insert worden
en zou het er zo uit zou uit zien
Maar nu mijn echte vraag
Vereniging 3 wordt verwijderd
dan heb ik in me tabel staan
als ik nu een nieuwe nummer aan een vereniging wil geven begint die gewoon bij 41 (laatste waarde is 40 + 1 )
maar nu heb ik de nummer 21 -30 over want die zijn niet toegekent aan een vereniging.
Nu wil ik dat die nummer ook opnieuw uitgegeven kunnen worden maar hoe kan dat.
had zelf zoeits in gedachten.

hoop dat het duidelijk is.
en vooral dat iemand maar hier mee kan helpen
//
zelf dat ik ik aan iets in deze takt
(zullen fouten in zitten maar gaat om het idee)
(ik weet dat het met variabelen niet zo werk maar zo is het hopelijk duidelijk uit te leggen)
Hij gaat dus eerst controleren tussen 2 waarden (ver_nr a reeks van en ver_nr b reeks_van) of hier het aantal nummer tussen past.
JA - hij voegt ze tussen
nee hij gaat verder zoeken door bij elk ver_nr 1 nummer op te tellen enzovoort.
Maar HOE ? ik wordt van google niet veel wijzer.
ik zit vast op de goede richting maar ben even ontspoort
Ik ben bezig met iets waar ik niet uit kom.
iets met de nummers toekennen aan verenigen wat voor doet niet ter zaken.
ik heb een tabel
vereniging met de waarde
ver_nr
ver_naam
etc
ik hebeen tabel nummers
met de waarde
ver_nr
reeks_van
reeks_tot
vereniging.ver_nr=nummers.ver_nr
De tabel nummer is als volgt gevuld (als voorbeeld)
ver_nr reeks_van reeks_tot 1 1 10 2 11 20 3 21 30 4 31 40
Ik kan de verenigigen nu nieuwe nummer toekennen aan de hand van de hoogste waarde in de tabel.
(heb query niet bij de hand maar dat was)
SQL:
1
| select sum (max) from reeks_tot as reeksmax |
PHP:
1
2
3
4
| //aantal nummer mogen verschillend zijn $aantal nummer = 10 $begin_van = reeksmax +1 //laatste nummer in de tabel +1 $reeks_tot = $begin_van + $aantalnummer // is het begin waarde van de nummers + het aantal nummer. |
stel dat we ver_nr 3 nog 10 nummer willen geven zou het worden
(40+1) + 10 -1
// -1 omdat 41 + 10 , 51 is en ik 10 nummer wil toekennen en dat is
41,42,43,44,45,46,47,48,49,50
dan zou de insert worden
SQL:
1
| insert into nummer (ver_nr, reeks_van, reeks_tot) Values (3, 41,50); |
en zou het er zo uit zou uit zien
ver_nr reeks_van reeks_tot 1 1 10 2 11 20 3 21 30 4 31 40 3 41 50
Maar nu mijn echte vraag
Vereniging 3 wordt verwijderd
dan heb ik in me tabel staan
ver_nr reeks_van reeks_tot 1 1 10 2 11 20 4 31 40
als ik nu een nieuwe nummer aan een vereniging wil geven begint die gewoon bij 41 (laatste waarde is 40 + 1 )
maar nu heb ik de nummer 21 -30 over want die zijn niet toegekent aan een vereniging.
Nu wil ik dat die nummer ook opnieuw uitgegeven kunnen worden maar hoe kan dat.
had zelf zoeits in gedachten.
hoop dat het duidelijk is.
en vooral dat iemand maar hier mee kan helpen
//
zelf dat ik ik aan iets in deze takt
(zullen fouten in zitten maar gaat om het idee)
(ik weet dat het met variabelen niet zo werk maar zo is het hopelijk duidelijk uit te leggen)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| $a select min(ver_nr) as min from nummer; $b select min+1 (ver_nr) as twee from nummer; $c select reeks_tot from nummer where( $A); $d select reeks_van from nummer where ($b); $aantalnummer = xx //aantal nummer dat toegekent wordt if ($aantalnummer between $C and $D) { insert into nummer etc... } elseif ($aantalnummer NOT between $C and $D) { $b ver_nr +1 // eventueel oplaten halen uit een hidden text field en dan plus 1 doen $a ver_nr $ b +2 //of zoeits allebei de waarde worden met 1 verhoogt. insert into } else // als het nergens tussenpast voeg nieuwe reeks toe |
Hij gaat dus eerst controleren tussen 2 waarden (ver_nr a reeks van en ver_nr b reeks_van) of hier het aantal nummer tussen past.
JA - hij voegt ze tussen
nee hij gaat verder zoeken door bij elk ver_nr 1 nummer op te tellen enzovoort.
Maar HOE ? ik wordt van google niet veel wijzer.
ik zit vast op de goede richting maar ben even ontspoort