nummer die verwijderd zijn opnieuw toekennen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

The master

the master

07/02/2007 19:59:00
Quote Anchor link
aangezien het toch php is post ik hem hier maar
(kan uit sql geen move doen)
Ok ik ga het proberen uit te leggen.
Ik ben bezig met een project 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)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
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)
select sum (max) from reeks_tot as reeksmax
//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
insert into nummer (ver_nr, reeks_van, reeks_tot) Values (3, 41,50);
en zou het er zo uit zou uit zien

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
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. (CLICKABEL)
Afbeelding

hoop dat het duidelijk is.
en vooral dat iemand maar hier mee kan helpen :D
Gewijzigd op 01/01/1970 01:00:00 door The master
 
PHP hulp

PHP hulp

23/04/2024 15:45:56
 
- SanThe -

- SanThe -

07/02/2007 20:39:00
Quote Anchor link
De reeks nummers niet meer weeggooien. Maar een extra veld toevoegen met de naam 'bezet'. Je zet daar een 1 in indien het gebruikt is en een 0 indien vrij. Bij een nieuwe toekenning van een reeks kijk je eerst of er een 'bezet=0' is, zo ja updaten met 'bezet=1' en 'ver_nr=het bewuste nummer', zo nee, dan pas weer een nieuwe insert.
 
Arjan Kapteijn

Arjan Kapteijn

07/02/2007 20:40:00
Quote Anchor link
En het uitrekenen van een verenigingsnummer is niet nodig, dit kan automatisch door de database geregeld worden.
 
The master

the master

07/02/2007 20:51:00
Quote Anchor link
het verenigingsnummer hoeft ook niet uigerekent te worden.
hij moet automatisch een leeg waarde zoeken tussen reeks_van en reek_tot.


dit is het eerst

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
ver_nr    reeks_van     reeks_tot
1             1                  10    
2             11                 20
3             21                30
4             31                40


ver_nr 3 gaat weg dus reeks 21 tot 30 komt VRIJ.

dan heb ik dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
ver_nr    reeks_van     reeks_tot
1             1                  10    
2             11                 20
4             31                40


als ik nu ver 1 nog (bv)10 nummers wil geven krijg ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
ver_nr    reeks_van     reeks_tot
1             1                  10    
2             11                 20
4             31                40
1             41                 50


maar dat wil ik NIET hij moet eerst het gat tussen 21-30 opvullen.

het moet dus worden

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
ver_nr    reeks_van     reeks_tot
1             1                  10    
2             11                 20
4             31                40
1             21                 30


Dus ik moet berekenen wat of er een lege waarde is.
maar hoe snap ik niet :S
 
- SanThe -

- SanThe -

07/02/2007 20:57:00
Quote Anchor link
SanThe schreef op 07.02.2007 20:39:
De reeks nummers niet meer weeggooien. Maar een extra veld toevoegen met de naam 'bezet'. Je zet daar een 1 in indien het gebruikt is en een 0 indien vrij. Bij een nieuwe toekenning van een reeks kijk je eerst of er een 'bezet=0' is, zo ja updaten met 'bezet=1' en 'ver_nr=het bewuste nummer', zo nee, dan pas weer een nieuwe insert.
 
The master

the master

07/02/2007 21:24:00
Quote Anchor link
ja maar reeks nummer zijn niet van het is niet standaard 10

Reeks nummer staan niet vast met jou manier werkt het niet als ik bv 15 of 8 of 21 etc aantal nummer wil toekennen
 
- SanThe -

- SanThe -

07/02/2007 21:27:00
Quote Anchor link
En gewoon lekker overslaan? Want als 31 t/m 40 vrij is en je wilt er 8 toekennen, dan wordt het alleen nog maar lastiger.
 
The master

the master

07/02/2007 21:43:00
Quote Anchor link
SanThe schreef op 07.02.2007 21:27:
En gewoon lekker overslaan? Want als 31 t/m 40 vrij is en je wilt er 8 toekennen, dan wordt het alleen nog maar lastiger.

ja als dat kon had ik gewoon constant achter aan verder gegaan.

als ik er 8 wil toevoegen vind ik het niet erg als er 2 niet gebruikt worden.
maar ja "oude" nummer moeten herbruikt worden eis van school:(.
de rest is af behalve dit punt
 
The master

the master

09/02/2007 09:50:00
Quote Anchor link
ok ik zit nu te kijken dat ik misschien toch beter met een idee kan werken

dus dan wordt het

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
ver_nr    reeks_van     reeks_tot    ID(auto4)
1             1                  10              1
2             11                 20              2
4             31                40               3
1             41                 50              4


als ik 2 nu verwijder en voeg 11-20 aan iemand anders toe krijg ik dit

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
ver_nr    reeks_van     reeks_tot    ID(auto4)
1             1                  10              1
4             31                40               3
1             41                 50              4
3             11                 20               5


Hier kan ik ook nog mee leven als dit werkt.

maar nu wil zoeken op gegevens waarvan reeks_van is Reeks_tot + 1
om even mee te beginnen

dus reeks tot = 10 +1 = 11

ik dacht aan

select * from tabel where reeks_van = (reeks_tot +1);

maar dit werkt niet :S

dit moet de alle resultaten laten zien omdat elke reeks_van is de vorige reeks_tot +1
Gewijzigd op 01/01/1970 01:00:00 door the master
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.