webForumDet fria alternativet

klurig fråga!

8 svar · 261 visningar · startad av webtomten

webtomtenMedlem sedan apr. 20003 424 inlägg
#1

om jag vill hämta en post före och efter den posten som är emellan hur gör man då typ

jag hämtar en post vid namn 174 i från en databas och vill hämta den post som finns innan coh den efter men de måste tillhöra samma person hur gör man då?

Databsen:
ID
Person

SÄg att vi är 2 personer den ena har id 172, 174, 180 den andra har 170, 175 ,181

Hur gör jag då för att få fram länkar som ser ut typ så här

du är nu på id 174! Gåt till Föregående (länken innehåller id 172) eller gå till nästa (länken innehåller id 180)

Med hjälp av session ska han känna av vilket ID och som är före och efter i databsen för just den personen

hoppas ni fattar.

Tacksam för svar

RinaldoMedlem sedan mars 20014 214 inlägg
#2

Om jag inte missförstår helt så är det väl bara att ta det aktuelle id och addera respektive subtrahetera med 1...

id=rs("id")
id=id-1 / +1

Aja, Godnatt ;)

webtomtenMedlem sedan apr. 20003 424 inlägg
#3

nej det går inte för då kan det hända att första personen får ett ID som tillhör den andra personen och det är inte bra! För då får förste personen error

Typ:
vi säger att du är på ID 174 bara du kan komma dit och se information då du står som person och då plockar jag fram det ID nummret genom en where sats i SQL satsen.

Sen vill jag att han ska kunna klicka på Föregående och Nästa och se Föregående respektive Nästa information som finns för den personen i databasen med olika ID nummer.

ID nummret kommer typ skilja sig med en massa siffror det kan se ut så här

Du befinner dig på ID 174 men om du klickar på föregående hamnar du på ID 160 för det var ditt id som ligger före 174 i databasen

Jaja hoppas ni fattar bättre nu ;)

LarsGMedlem sedan dec. 200012 464 inlägg
#4
id = 174
person = "Magdur"
'hitta föregående
qp = "select * from t where id in (select max(id) from t where id < " & id & " and person = '" & person & "')"

'hitta nästa

qn = "select * from t where id in (select min(id) from t where id > " & id & " and person = '" & person & "')"

Låter som en sql-fråga... flyttar

webtomtenMedlem sedan apr. 20003 424 inlägg
#5

Tackar LarsG du är en ängel ;)
Ska testa detta imorgon då jag är väldigt trött nu!

webtomtenMedlem sedan apr. 20003 424 inlägg
#6

LarsG skrev:

id = 174
person = "Magdur"
'hitta föregående
qp = "select * from t where id in (select max(id) from t where id < " & id & " and person = '" & person & "')"

'hitta nästa

qn = "select * from t where id in (select min(id) from t where id > " & id & " and person = '" & person & "')"

Låter som en sql-fråga... flyttar

ska jag byta ut min(id) samt max(id) ??

Får det inte att funka nämligen.

Och nått max och minimum ID kan ajag inte ha då den uppdateras hela tiden!

PaceMedlem sedan juni 20019 024 inlägg
#7

Finns det någon motsvarighet till MySQL, eller måste man ställa fler frågor istället?

LarsGMedlem sedan dec. 200012 464 inlägg
#8

Vad är problemet webtomten?

Får du något fel eller så? Max och skall vara som dom är. Om du använder Mysql se nedan

Pace:

Du vill alltså ha en variant utan subselect för Mysql.

'föregående
pq = "select * from t where id < " & id & " and person = '" & person & "'" order by id desc limit 0,1"

'nästa
nq = "select * from t where id > " & id & " and person = '" & person & "'" order by id asc limit 0,1"
webtomtenMedlem sedan apr. 20003 424 inlägg
#9

Det var MySQL jag hade oxå ;)

128 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)