Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 15 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.12.07
Prihlásený: 12.02.24
Príspevky: 487
Témy: 138
Bydlisko: Bytča
Príspevok NapísalOffline : 10.09.2009 8:34

mam tabulku XY a v nej kazdy riadok ma stlpec s nazvom ID, ktory sa inkrementuje automaticky ...

ak som vlozil do tabulky napriklad 200 zaznamov, tak posledny zaznam ma ID=200

nasledne ked vymazem 50 zaznamov, tak posledny zaznam ma ID=150

OK

problem je ten, ze ked vlozim v tomto momente dalsi zaznam, tak mi neda ID = 151, ale on si to pamata, alebo co a da ID = 201

co s tym? nemoze to tak byt


Offline

Skúsený užívateľ
Skúsený užívateľ
ako zmenit, upravit cisla v tabulke

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok NapísalOffline : 10.09.2009 8:47

Takto to musí byť. V prípade, že by to tak nebolo, by ti mohli nastávať rôzne konflikty. Napríklad máš druhú tabulku YZ, ktorá má id_YZ a viaže sa na XY cez id_XY. V prípade, že by si druhýkrát použil to isté id_XY, môže ti nastať problém. Id je o tom, že to je identifikátor. Ak by si použil druhýkrát to isté id, je to ako keby si rodné čísla mŕtvych ľudí prideľoval tým novonarodeným.
Ale ak by ťa to veľmi mátalo, je tu
Kód:
ALTER TABLE tbl AUTO_INCREMENT = 100;


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.12.07
Prihlásený: 12.02.24
Príspevky: 487
Témy: 138
Bydlisko: Bytča
Príspevok Napísal autor témyOffline : 10.09.2009 8:50

rooobertek píše:
Takto to musí byť. V prípade, že by to tak nebolo, by ti mohli nastávať rôzne konflikty. Napríklad máš druhú tabulku YZ, ktorá má id_YZ a viaže sa na XY cez id_XY. V prípade, že by si druhýkrát použil to isté id_XY, môže ti nastať problém. Id je o tom, že to je identifikátor. Ak by si použil druhýkrát to isté id, je to ako keby si rodné čísla mŕtvych ľudí prideľoval tým novonarodeným.
Ale ak by ťa to veľmi mátalo, je tu
Kód:
ALTER TABLE tbl AUTO_INCREMENT = 100;

takze ked ten prikaz pouzijem, tak dalsi pridany riadok bude mat ID=100 ?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.12.07
Prihlásený: 12.02.24
Príspevky: 487
Témy: 138
Bydlisko: Bytča
Príspevok Napísal autor témyOffline : 10.09.2009 8:55

spravil som to a nic sa nestalo, stlpec, kde sa inkrementuje sa vola cislo
vymazal som zaznamy, pouzil ten prikaz a vlozil dalsi zaznam a spravilo to co som napisal hore

tabulka nie je viazana s inou ...


Offline

Skúsený užívateľ
Skúsený užívateľ
ako zmenit, upravit cisla v tabulke

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok NapísalOffline : 10.09.2009 9:15

a aké bolo najvyššie id v tom čase? Nebolo vyššie ako si sa mu snažil dať?

stále trvám na tom, že je vhodnejšie nechať ho incrementovať samého.
Ďalším riešením by mohlo byť odstrániť zo stĺpca auto_increment a nastavovať to manuálne cez MAX(cislo)+1







_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.12.07
Prihlásený: 12.02.24
Príspevky: 487
Témy: 138
Bydlisko: Bytča
Príspevok Napísal autor témyOffline : 10.09.2009 9:46

teraz mam 115 zaznamov .... dalsie som vymazal ... ak teraz vlozim zaznam, da mu cislo 155, dalsiemu 156 ...
ale ja potrebujem, aby vlozilo 116 ...

ak zaznamy 155 a 156 vymazem v DB a vlozim dalsi riadok, tak mu da cislo 157 ...

takze posledny prispevok, ktory je OK ma v stlpci cislo hodnotu 115, je to stlpec autoincrement


Offline

Skúsený užívateľ
Skúsený užívateľ
ako zmenit, upravit cisla v tabulke

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok NapísalOffline : 10.09.2009 10:04

Proste to nerieš. Ja mám v niektorých tabuľkách ID s postupnosťou 1,50,96,98,200... Ak to je niečo, čo musí mať pekné číslovanie za radom, pridaj stĺpec s názvom poradie alebo tak niečo a s tým pracuj







_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.12.07
Prihlásený: 12.02.24
Príspevky: 487
Témy: 138
Bydlisko: Bytča
Príspevok Napísal autor témyOffline : 10.09.2009 10:23

musim to riesit, lebo ked mam na stranu povedzme 30 zaznamov vypis a je tam ta medzera v ID, tak ked teraz vlozim novy zaznam, zobrazi mi len ten zaznam, ostatne nie, lebo su o viac ako 30 cisiel pozadu a musim dat predch. stranu aby som ich zobrazil.

ale myslim, ze to s tym, ze zrusim auto increment a dam MAX(cislo) + 1 vyriesim


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.12.07
Prihlásený: 12.02.24
Príspevky: 487
Témy: 138
Bydlisko: Bytča
Príspevok Napísal autor témyOffline : 10.09.2009 10:46

este mala podotazka ...

je mozne v jednom prikaze vlozit do DB tu hodnotu ?

Kód:
mysql_query("INSERT INTO table (cislo,meno,datum,text)
           VALUES ('MAX(cislo)+1','".$meno."','".date("d.m.Y, H:i")."','".$_REQUEST[text]."')")
        or die("!!! Chyba: ".mysql_error());


asi to nejde, vsak? musim to MAX si najskor vydolovat z DB, vlozit do nejakej premennej a tu premennu vlozit akom hodnotu stlpca cislo


Offline

Správca fóra
Správca fóra
ako zmenit, upravit cisla v tabulke

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 10.09.2009 10:51

baumax píše:
musim to riesit, lebo ked mam na stranu povedzme 30 zaznamov vypis a je tam ta medzera v ID, tak ked teraz vlozim novy zaznam, zobrazi mi len ten zaznam, ostatne nie, lebo su o viac ako 30 cisiel pozadu a musim dat predch. stranu aby som ich zobrazil.

aha, tak v tom pripade mas blbo spravene strankovanie, lebo to by malo byt nezavisle na hodnote id...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.12.07
Prihlásený: 12.02.24
Príspevky: 487
Témy: 138
Bydlisko: Bytča
Príspevok Napísal autor témyOffline : 10.09.2009 10:58

a na com ma byt zavisle ?
tabulka obsahuje 4 stlpce, cislo prispevku, meno, datum a text prispevku

a ja to strankujem podla cisiel prispevkov


Offline

Skúsený užívateľ
Skúsený užívateľ
ako zmenit, upravit cisla v tabulke

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok NapísalOffline : 10.09.2009 11:15

tak to robíš blbo, celé to tu riešime zbytočne.
Stránkuje sa takto:
Kód:
SELECT xxx FROM yyy WHERE ... LIMIT 0,30;
SELECT xxx FROM yyy WHERE ... LIMIT 30,30;
SELECT xxx FROM yyy WHERE ... LIMIT 60,30;

Ani radšej nechcem vidieť, ako to robíš ty...
http://php.about.com/od/mysqlcommands/g/Limit_sql.htm
http://dev.mysql.com/doc/refman/5.1/en/select.html


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.12.07
Prihlásený: 12.02.24
Príspevky: 487
Témy: 138
Bydlisko: Bytča
Príspevok Napísal autor témyOffline : 10.09.2009 11:16

spravil som to takto nejako, snad je to OK ...
funguje to ... da sa to este nejakym jednoduchsim syntaxom ?

Kód:
$resultxx = mysql_query("SELECT MAX(cislo) AS maximum FROM table");
$rowxx = mysql_fetch_array($resultxx);
$maximalnecislo=$rowxx["maximum"];
$maximalnecisloxx=$maximalnecislo + 1;

mysql_query("INSERT INTO table (cislo,meno,datum,text)
           VALUES ('$maximalnecisloxx','".$meno."','".date("d.m.Y, H:i")."','".$_REQUEST[text]."')")
        or die("!!! Chyba: ".mysql_error());



Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.12.07
Prihlásený: 12.02.24
Príspevky: 487
Témy: 138
Bydlisko: Bytča
Príspevok Napísal autor témyOffline : 10.09.2009 11:19

roobertek, ja strankujem inak, takto nejako:
Kód:
$jump=$HTTP_GET_VARS["jump"];
 if(!isset($jump)) $jump=0;
    $max=mysql_query("SELECT MAX(cislo) FROM table");
    $count=mysql_result($max,0);
    $from=$count-$jump;
    $to=$count-$jump-30;

$buf=mysql_query("SELECT * FROM table
         WHERE cislo <= ".$from." AND
               cislo > ".$to." 
               ORDER BY cislo DESC")
    or die("!!! Chyba: ".mysql_error());

.....


Offline

Skúsený užívateľ
Skúsený užívateľ
ako zmenit, upravit cisla v tabulke

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok NapísalOffline : 10.09.2009 11:37

Mám pocit, že stále nerozumieš, čo ja chápem.
Do insertu cislo vôbec nedávaj. IDčka nechaj nech sa incrementujú ako chcú. Bárajs aj náhodne. To ťa vôbec netrápi.
Keď už vyberáš príspevky z db, urobíš query
Kód:
$buf=mysql_query("SELECT * FROM table
               ORDER BY cislo DESC LIMIT $od, $pocet");

A ešte jednu vec ti musím vytknúť:
Kód:
or die("!!! Chyba: ".mysql_error());
Ak potrebuješ vidieť chybu, vypíš si ju čo ja viem cez trigger_error, ale or die mysql_error je tá najhoršia alternatíva, aká môže byť.


Odpovedať na tému [ Príspevkov: 15 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Hľadanie čísla v tabuľke - Excel

v Ostatné programy

2

784

03.06.2011 17:36

blazej44800 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako upraviť klavesnicu ?

v Modifikácie, návody a projekty

5

1384

10.01.2010 0:06

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako upravit template?

v Redakčné systémy

2

721

16.04.2007 15:58

MiroCO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako upravit flash webtemplate

v Webdesign

4

1902

07.09.2007 14:05

cr3at0r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. VLC- ako upravit titulky?

v Video programy

2

622

24.11.2015 17:54

sailer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako upraviť videá z Ipodu ?

v Grafické programy

1

312

14.10.2013 16:39

AFX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako upravit datum na videu

v Video programy

2

524

18.04.2012 17:22

largo2 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zistit class elementu - ako upravit fciu?

v JavaScript, VBScript, Ajax

13

806

02.02.2011 13:47

DeeJay3 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. XP -> ako upraviť obmedzené oprávnenia?

v Operačné systémy Microsoft

4

399

30.10.2007 23:37

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako upraviť prezentáciu v .pdf formáte?

v Grafické programy

1

554

16.06.2010 0:17

pesso Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako hromadne upravit tagy u MP3

v Audio programy

2

1300

16.07.2009 21:14

Horalka Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako pridať tabuľke collation

v Databázy

2

776

22.11.2010 17:43

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako zmazat/upravit log udalosti na PC

v Operačné systémy Microsoft

1

842

08.02.2006 15:15

Carlos Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako upraviť toto, aby to bolo validne

v JavaScript, VBScript, Ajax

1

443

09.02.2010 13:40

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mam Win7 a panel uloh je ako s Win98 ako ho zmenit?

v Operačné systémy Microsoft

3

925

12.11.2011 16:47

globalik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako vygenerovat a upravit XML pre porovnavace produktov?

v HTML, XHTML, XML, CSS

3

560

14.05.2011 13:02

Ďuri Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra