Fix bug with article navigation
This commit is contained in:
@@ -138,15 +138,17 @@ func PreviousAndNextArticleUrlByID(store *Store, ID int) (nextUrl string, previo
|
||||
|
||||
nextResult, previousResult := "#", "#"
|
||||
query, err := store.Prepare(`
|
||||
select id,title, content, slug, original_url, source_id, created_at from articles where id = $1;
|
||||
select id,title, content, slug, original_url, source_id, created_at from articles where id < $1 and id > $2 order by id desc limit 1;
|
||||
`)
|
||||
if err != nil {
|
||||
fmt.Println("Err 1:", err)
|
||||
return nextResult, previousResult, err
|
||||
}
|
||||
defer query.Close()
|
||||
|
||||
row := query.QueryRow(ID - 1)
|
||||
row := query.QueryRow(ID, 0)
|
||||
if err != nil {
|
||||
fmt.Println("Err 2:", err)
|
||||
return nextResult, previousResult, err
|
||||
}
|
||||
|
||||
@@ -159,14 +161,25 @@ func PreviousAndNextArticleUrlByID(store *Store, ID int) (nextUrl string, previo
|
||||
|
||||
previousResult = fmt.Sprintf("/%d/%s", r.ID, r.Slug)
|
||||
|
||||
row = query.QueryRow(ID + 1)
|
||||
query2, err := store.Prepare(`
|
||||
select id,title, content, slug, original_url, source_id, created_at from articles where id < $1 and id > $2 order by id asc limit 1;
|
||||
`)
|
||||
if err != nil {
|
||||
fmt.Println("Err 1:", err)
|
||||
return nextResult, previousResult, err
|
||||
}
|
||||
defer query2.Close()
|
||||
|
||||
row = query2.QueryRow(ID+1000, ID)
|
||||
if err != nil {
|
||||
fmt.Println("Err 3:", err)
|
||||
return nextResult, previousResult, err
|
||||
}
|
||||
|
||||
content = ""
|
||||
err = row.Scan(&r.ID, &r.Title, &content, &r.Slug, &r.OriginalUrl, &r.SourceId, &r.CreatedAt)
|
||||
if err != nil {
|
||||
fmt.Println("Err 4:", err)
|
||||
return nextResult, previousResult, err
|
||||
}
|
||||
nextResult = fmt.Sprintf("/%d/%s", r.ID, r.Slug)
|
||||
|
||||
Reference in New Issue
Block a user