"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

php sql frage

CROWLER 29.01.2007 - 19:41 610 7
Posts

CROWLER

Powerbunny
Avatar
Registered: Nov 2000
Location: aufWean
Posts: 1893
ich schreibe gerade an einer blogseite
folgendes problem:

wenn ich jetzteinen eintrag in die datenbank schreibe is das ja noch kein problem
die datenbank besteht aus einem primärschluessel mit autoinc
wie kann ich jetzt aber geordnet einen eintrag einfuegen zb zwischen zeile 5und 6 wenn es 20 zeilen gibt (also das die restliche ordnung bestehen bleibt)

2te frage :
wie kann ich zb zeile 4 aus tabelle:test db:asd in zb zeile 8 in tabelle test2 und gleiche db verschieben (nat. dass auch hier wieder die ordung erhalten bleibt)

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25422
in ordnung bleiben?

du solltest dir überlegen ein spezielles sortindex feld zu machen. den primärschlüssel würde ich nicht direkt anfassen, da er vl später noch mit anderen daten verküpft werden muss.

die ordnung der ausgabe eines queries bestimmst du immer selbst. die ordnung die mysql erstellt spielt für dich dabei keine rolle.

CROWLER

Powerbunny
Avatar
Registered: Nov 2000
Location: aufWean
Posts: 1893
das mit der ordnung die ichselbst bestimme )also wonach ich sortiere ist schon klar)
meine idee war halt dass man alle einträge nach dem primärschluessel sortiert

und dann bin ich auf dieses problem gestossen ;)

wie genau funktioniert das mit dem sortindexfeld?
gibts da irgendein tut dazu ?

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25422
du machst einfach ein zusätzliches integer feld im table, dass du nach belieben setzt und je nach operation bei deinen einträge modifizierst. bei einem "ausgabequery" benutzt du dann zb "ORDER BY mysortindex ASC".

Burschi1620

24/7 Santa Claus
Avatar
Registered: Apr 2004
Location: Drüber da Donau
Posts: 6792
Bei dem ersten problem hätte ich "gepfuscht"
Und zwar mit einfachen if else und for strukturen. Auslesen wie groß die tabelle is, und alles um eine position nach unten neuschreiben und die jetzige zeile mit der vorherigen beschreiben. Bis zu bei deinem X eintrag bist, da kannst du gemütlich die daten dann reinschreiben und alle anderen daten kommen danach.

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25422
Zitat von Burschi1620
Bei dem ersten problem hätte ich "gepfuscht"
Und zwar mit einfachen if else und for strukturen. Auslesen wie groß die tabelle is, und alles um eine position nach unten neuschreiben und die jetzige zeile mit der vorherigen beschreiben. Bis zu bei deinem X eintrag bist, da kannst du gemütlich die daten dann reinschreiben und alle anderen daten kommen danach.
urgs, es ist schon schlimm genug, dass ein file so modifiziert werden muss.

Burschi1620

24/7 Santa Claus
Avatar
Registered: Apr 2004
Location: Drüber da Donau
Posts: 6792
Zitat von mat
urgs, es ist schon schlimm genug, dass ein file so modifiziert werden muss.
ja sorry, meine denkweise is geschädigt durch ein textfile mit C parsen XD
seitdem bastel ich mir alles zurecht :D

rettich

Legend
waffle, waffle!
Avatar
Registered: Jan 2004
Location: wien
Posts: 794
Zitat von CROWLER
meine idee war halt dass man alle einträge nach dem primärschluessel sortiert

wozu sollte das gut sein? was interessiert irgendwen der rowindex?

creation_date, laufende bestellnummer, artikelstammnummer, sozialversicherungsnummer,... sowas sind daten, nach denen geordnet werden sollte.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz