Jeg vidste der var en smart måde at trække begge på samtidig kunne bare ikke huske dem
.
Det Michael gør er sådan set det samme jeg skrev, han vælger bare begge på en gang og sparer et databasekald. Udover at udtrække selve ID'et 'laver' han en ny kolonne til resultatrækkerne (kaldet 'pos') som han giver en streng, enten 'Prev' eller 'Next' så man ved hvilken ID der er hvad. Man kunne selvfølgelig bare sammenligne talværdierne men det her er mere praktisk (og læsbart IMO).
Hvis det nuværende id f.eks. ar 42 kan det er det første delresultat måske:
| IdField | Pos |
| 41 | Prev |
Det andet måske:
| IdField | Pos |
| 44 | Next |
Union ligger dem sammen til en tabel:
| IdField | Pos |
| 41 | Prev |
| 44 | Next |
$row['pos'] er så enten 'Prev' eller 'Next', og
$row['IdField'] er enten 41 eller 44, i det her eksempel.
Men for at komme tilbage til fejlet i dit udtryk:
- id='".$_GET['id']."' < id='".$_GET['id']."'
Gav noget lignende:
id='X' < id='X' hvor X er det nuværende id.
Men vi vil have:
id < 'X'Så vi går tilbage retter i WHERE-udtrykket:
- id < '".$_GET['id']."'
Når den så er rettet kan du lave den "modsatte" sql-query, og så sætte dem sammen til en query som Michael har vist.
Indlæg senest redigeret d. 17.04.2014 14:54 af Bruger #14645