Avatar billede fixbabe Nybegynder
08. januar 2007 - 15:54 Der er 20 kommentarer og
1 løsning

to felter i database som er sat til "auto_increment"

Jeg har brug for at min database har et felt ekstra som opretter en variabel med +1 ala feltet "id" normalt gør.

Måske lidt mærkelig måde at forklare det på.. :)
Avatar billede mstorgaard Praktikant
08. januar 2007 - 16:19 #1
Kan du ikke forklare det lidt mere præcist? For hvis du bare skal have lagt +1 til et felt, så kan du vel bare lægge det +# til id'ets værdi, når du outputter det :)
Avatar billede chrisson Nybegynder
08. januar 2007 - 17:58 #2
Du kan fx. gøre sådan her som storgaarden siger:

<?
//Her henter du connect

$res = mysql_query("SELECT * FROM Tabel ORDER BY Din anden DESC") or die(mysql_error());
$row = mysql_fetch_array($res);
$id = $row[Din anden]+1;
echo $id;
?>
Avatar billede fixbabe Nybegynder
08. januar 2007 - 18:11 #3
jeg skal have den til at oprette en port til brugeren, planen var at lave så den som ved feltet id i en datasen smider en ekstra til nå der oprettes en ny.

jeg tror jeg har løst problemet, skriver når jeg ved mere :)
Avatar billede coderdk Praktikant
08. januar 2007 - 18:21 #4
En bedre pointe: Hvorfor har du brug for det? Kan du ikke bare bruge ID'en? ;)
Avatar billede fixbabe Nybegynder
08. januar 2007 - 18:24 #5
jo men jeg skal have tildelt en port til hver bruger, havde tænkt mig at gøre det på samme måde som mysql gør med "id" feltet. altså smider +1 på. på den måde er jeg sikker på at porten aldrig er optaget.
Avatar billede showsource Seniormester
08. januar 2007 - 18:47 #6
ID vil aldrig være optaget, og medmindre du på et tidspunkt "genordner" dit id, vil port jo altid være forskellig?
Avatar billede fixbabe Nybegynder
08. januar 2007 - 19:26 #7
genordner ?
Avatar billede coderdk Praktikant
08. januar 2007 - 19:41 #8
Port som i TCP/UDP-port? Hvorfor ikke bare bruge ID så og så sætte et fast "offset" f.eks. 5000, så brugerens port er 5000 + ID...
Avatar billede fixbabe Nybegynder
08. januar 2007 - 19:42 #9
fordi at porten skal oprettes sammen med brugeren
Avatar billede coderdk Praktikant
08. januar 2007 - 19:43 #10
Og det kan ikke lade sig gøre som jeg beskriver fordi? :)
Avatar billede fixbabe Nybegynder
08. januar 2007 - 19:47 #11
hmm tror jeg har misforstået dig, forklaring eller eks på hvad du mener? :)
Avatar billede coderdk Praktikant
08. januar 2007 - 20:01 #12
Altså du har din INSERT der opretter brugeren, lige efter kan du så bruge mysql_insert_id() til at få den ID som den har fået, så kan du sætte brugerens port til 5000 + denne ID og opdatere tabellen igen, og gøre hvad der ellers skal gøre...
Avatar billede fixbabe Nybegynder
08. januar 2007 - 20:02 #13
:o lyder lettere indviklet, kan du lave et eksempel ?
Avatar billede coderdk Praktikant
08. januar 2007 - 20:08 #14
$sql = "INSERT INTO tabel (brugernavn) VALUES ('hest')";
mysql_query( $sql ) or die( mysql_error() );
$id = mysql_insert_id();
$sql = "UPDATE tabel SET port = " . ( 5000 + $id ) . " WHERE id = " . $id;
mysql_query( $sql ) or die( mysql_error() );
// Gør hvad der ellers skal til for at oprette din port

Det er ganske simpelt...
Avatar billede fixbabe Nybegynder
08. januar 2007 - 20:17 #15
Ah ja på den måde. Prøver det af når jeg kommer der til.
Avatar billede hberg Nybegynder
09. januar 2007 - 11:46 #16
Som coderdk også spørger om: Taler vi her om en TCP/UDP port? Hvad vil du gøre hvis du får mere end 2^16 brugere? :))
Avatar billede fixbabe Nybegynder
09. januar 2007 - 13:13 #17
2^16 brugere?
Avatar billede mstorgaard Praktikant
09. januar 2007 - 13:59 #18
2^16 = 2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2 = 65536
Avatar billede fixbabe Nybegynder
09. januar 2007 - 14:02 #19
ah :) så mange brugere regner jeg ikke med at få, og slet ikke så mange porte på en gang i brug.
Avatar billede fixbabe Nybegynder
09. januar 2007 - 14:02 #20
coderdk det virker som det skal, smid et svar.
Avatar billede coderdk Praktikant
09. januar 2007 - 20:51 #21
Cool :)
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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