FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Har WN som tidsfördriv
|
Hej!
Undrar om det finns något SQL-kommando, jag kör mySQL, som i en SELECT-förfrågan kan "tjuvkika" på ett columnvärde i nästkommande rad. Alltså, för att förtydliga, säg att vi har tabellen: Citat:
Finns det något smidigt sätt att tjuvkika framåt för att lösa detta utan att behöva vara så drastisk att man gör nya databasanslutningar eller något annat onödigt krävande? |
|||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Mycket flitig postare
|
Varför inte använda två variabler?
$result = mysql_query($sqlstring) or die(mysql_error()); $data1 = null; while($data2 = mysql_fetch_assoc($result)) { if($data1 != null) { //Gör det du ska göra, i $data1 ligger posten, i $data2 ligger nästa post } $data1 = $data2; } Givetvis får du anpassa så att sista posten behandlas på det sättet du vill men med ovan som grund har man ett effektivt sätt att lösa uppgiften. |
|||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Har WN som tidsfördriv
|
..och finns det någon som kan hjälpa mig att översätta mysql_fetch_assoc till ASP?
|
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Mycket flitig postare
|
Det jimmie egentligen menar är väl att du kan lösa det enkelt i en loop istf med SQL (vilket ju självklart är fult möjligt med antingen subselect eller outer joins).
I princip är det han menar att när du befinner dig på en rad kan du ju även komma åt nästa rad i ditt resultatset. |
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Har WN som tidsfördriv
|
Okej, då är det alltså subselect och outer joins jag måste läsa på lite om. Har bara mycket begränsade kunskaper när det gäller SQL men det är nog inte så svårt nu när jag vet nyckelorden iaf, bara att läsa förhoppningsvis
![]() |
|||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Mycket flitig postare
|
Citat:
mysql_fetch_assoc betyder att man hämtar en rad ur resultatsetet. I asp kanske du får lösa det så här typ: Kod:
dim pris1 dim pris2 pris1 = RecSet("pris"); Do Until RecSet.EOF pris2 = RecSet("pris") %%Gör det du ska göra pris1 = pris2 RecSet.MoveNext Loop Har inte programmerat asp på 4 år så jag fråntar mig allt ansvar för koden. ![]() edit: Jo som gustav säger är det lite smidigare att först göra en hämtning och sedan köra loopen, slipper kontrollen varje varv. Var lite för snabb när jag skrev lösningen. |
|||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Medlem
|
det är mycket ineffektivt att använda subquerise och eller outer joins. Bättre att göra det i ASP/PHP då när du har en så pass simpel fråga. Det finns inget bra sätt att kolla på nästa rad om kör mySQL, då nästa rad inte är känd när den rad du befinner dig på evalueras.
Förstår inte riktigt varför den föreslagna lösningen inte passade. Du tar fram resultat nr1, sen startar du loopen. Då tar du fram resultat nr2, och har nr1 sparat så att du kan använda bägge. Sedan sparar du nr2 och går vidare till nr3 osv osv. |
||
![]() |
![]() |
![]() |
#8 | |||
|
||||
Har WN som tidsfördriv
|
Har gjort en ganska ful och bökig lösning utifrån det som sagts här. Var rätt många variabler som behövde sparas om men det funkar bra nu
![]() |
|||
![]() |
![]() |
Svara |
|
|