Avatar billede tras Juniormester
21. januar 2016 - 15:12 Der er 5 kommentarer og
1 løsning

Loop throug mysql og tilføj 1 til sidste navn.

Så jeg har en database med en kolonne med Navne.

Når jeg opretter en ny enhed skal den automatisk finde næste navn i rækken og sætte det ind på siden.

Eks har jeg navnene DG001,DG002 DG004

Also dg003 er ledig så den skal selv vælge den og echo / print ind i input felt.

Men den skal DG er gennemgående for alle navnene og er max på 3 tal bag efter.
Avatar billede olsensweb.dk Ekspert
21. januar 2016 - 15:52 #1
>Eks har jeg navnene DG001,DG002 DG004
lyder i mine øre som en repeterende gruppe, hvilke skal normaliceres allerede i 1 Normalform

>en kolonne med Navne.
hvordan ser din tabel ud ??


tænker at løbe den igennem og sortere, så det er nemt at finde den ledige
Avatar billede jakobdo Ekspert
21. januar 2016 - 21:34 #2
Hvorfor ikke bare bruger PRIMARY KEY og appende DG (format tal til 001, 002) osv... Så vil du altid være sikker på nummeret er unikt. Det vil dog ikke fange hvis du sletter DG003 / 3 i din række.
Ellers må du jo trække dem ud, sortere og loope dem igennem indtil du har et hul.
Avatar billede arne_v Ekspert
22. januar 2016 - 04:01 #3
Ideen om ingen huller i en raekkefoelge tyder paa et fejl-design. Det giver baade kompleks og langsom kode, saa drop den ide.

Hvis alle navnene faktisk skal starte med DG, saa er det overfloedigt at gemme DG i databasen. Saa gem 1, 2, 4, og 5 i databasen - og lad saa din PHP kode formatere med snprint('DG%03d',id) til det oenskede format.
Avatar billede tras Juniormester
25. januar 2016 - 14:16 #4
Det jeg leder efter er sådan noget

http://stackoverflow.com/questions/5016907/mysql-find-smallest-unique-id-available

Men da der oprettes barcodes til produkter slettes disse barcodes og efterlader ledige "huller" som jeg gerne vil genbruge når et produkt slettes.


Grunden til jeg ikke laver det som arne siger er at der også er barcodes med DK0x3 eller UK something men er ved at skifte til et nyt fast navn, also DG000 Men dette skal ske løbende da enhederne som har disse barcodes er ude af huset.
Avatar billede tras Juniormester
25. januar 2016 - 14:32 #5
Dtte  giver mig antal i db hvordan laver jeg en loop throug for at finde hullerne?

$search = "dg";
$result = mysql_query("SELECT count(*) FROM AA_inventory WHERE barcode LIKE '%$search%'");
                                    $num_dongles = mysql_result($result, 0);
                                    echo 'Total: '.$num_dongles.'<br>'
Avatar billede arne_v Ekspert
25. januar 2016 - 15:29 #6
Hvorfor er det noedvendigt at fylde huller?

Det er ikke en god maade at goere det paa.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester