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 := "#", "#"
|
nextResult, previousResult := "#", "#"
|
||||||
query, err := store.Prepare(`
|
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 {
|
if err != nil {
|
||||||
|
fmt.Println("Err 1:", err)
|
||||||
return nextResult, previousResult, err
|
return nextResult, previousResult, err
|
||||||
}
|
}
|
||||||
defer query.Close()
|
defer query.Close()
|
||||||
|
|
||||||
row := query.QueryRow(ID - 1)
|
row := query.QueryRow(ID, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
fmt.Println("Err 2:", err)
|
||||||
return nextResult, previousResult, 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)
|
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 {
|
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
|
return nextResult, previousResult, err
|
||||||
}
|
}
|
||||||
|
|
||||||
content = ""
|
content = ""
|
||||||
err = row.Scan(&r.ID, &r.Title, &content, &r.Slug, &r.OriginalUrl, &r.SourceId, &r.CreatedAt)
|
err = row.Scan(&r.ID, &r.Title, &content, &r.Slug, &r.OriginalUrl, &r.SourceId, &r.CreatedAt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
fmt.Println("Err 4:", err)
|
||||||
return nextResult, previousResult, err
|
return nextResult, previousResult, err
|
||||||
}
|
}
|
||||||
nextResult = fmt.Sprintf("/%d/%s", r.ID, r.Slug)
|
nextResult = fmt.Sprintf("/%d/%s", r.ID, r.Slug)
|
||||||
|
|||||||
Reference in New Issue
Block a user