Jag behöver lite hjälp med att lägga till några fält i ett script. Fälten finns i databasen, men är inte sökbara i användarens formulär. Tanken är att fälten ska skrivas ut fast de inte är sökbara. Är inte säker på om jag förstått allt rätt... men chansar! Är mer inne på <print>-spåret, måste alla fält ha hittats av SELECT innan man kan skriva ut dem? Ja alla fält måste finnas efter SELECT för att man ska kunna skriva ut de på en sida. Då är det alltså här jag ska börja med att fylla på fälten jag vill ha in? Men hur gör jag om det är samma fält jag vill skriva ut flera gånger? Har jag förstått allt rätt om du har gjort så att det kan finnas max 3st "authors" per document? Det kan finnas max 10 författare per dokument, men bara 3 av dem är sökbara i användarens formulär. Att ha 10 stycken fält med i stort sett samma funktion (co_auN, N = 1, ..., 10), är sällan lämpligt. Det vore bättre att lägga till en extra tabell som kopplar ihop dokument (doc_id) med författare (au_id). Då kan du ha godtyckligt antal författare till varje dokument. En tabell med bara doc_id och au_id? Då kan jag i princip plocka bort alla au-fält (även det första) ur doc-tabellen. Det är mycket bättre. Men varför vill du bara ha tre av författarna sökbara? Därför att jag tyckte att det blev för grötigt med att lista alla sökbara författare på varje träff. Men nu verkar min visa/dölj-funktion ha gett upp också så nu är det strunt samma. Hade tänkt visa de tre som var sökbara och ha en möjlighet att få se resten om man ville. Men kör på en extra tabell där bara documentid och författarid innehåller. Behöver lite hjälp med att få ordning på SELECT-satsen. Jag får tyvär ingen bra bild över hur dina tabeller ser ut nu=) Förutsättningarna har ändrats lite ang vad som ska läggas till resp tas bort.Skriva ut data som inte är sökbar för användaren - bråttom
Den ena haken är att det ena fältet är en främmande nyckel så därför vet jag inte om jag ska be scriptet skriva ut co_au (FK) eller fälten i tabellen där nyckeln är primär (finns flera co_au-fält, dock numrerade).
Den andra haken är att fälten från de andra tabellerna är N:N-relationer så här vet jag inte alls hur jag ska göra.
Den tredje haken är hur man skriver för att få fält från olika tabeller bredvid varandra. Låter som en idiotfråga och är säkert självklart för er som har lite bättre koll.
Fråga gärna om jag har förklarat luddigt, behöver få det här löst idag. Sv: Skriva ut data som inte är sökbar för användaren - bråttom
co_au(FK)-fältet är väl knappast intressant för besökarna? Så bäst tror jag är att du skriver ut beskrivningen från den tabell dit co_au hänvisar.
kodexempel:
<code>
select t1.texten, t2.descr
from tabell1 t1, tabell2 t2
where t1.co_au = t2.code
</code>Sv:Skriva ut data som inte är sökbar för användaren - bråttom
Är novis på sånt här.Sv: Skriva ut data som inte är sökbar för användaren - bråttom
Sv:Skriva ut data som inte är sökbar för användaren - bråttom
$sql = "SELECT doc.doc_id, doc.conf_id, a1.au_lname As lname1, a2.au_lname As lname2, a3.au_lname As lname3, a1.au_fname As fname1, a2.au_fname As fname2, a3.au_fname As fname3, title, paper_number, source.journal, source.conf_name, source.publisher, source.publishing_city, source.series, source.volume, source.year, source.ISBN, source.ISSN FROM document As doc LEFT JOIN author As a1 ON a1.au_id = doc.au_id LEFT JOIN author As a2 ON a2.au_id = doc.co_au1 LEFT JOIN author As a3 ON a3.au_id = doc.co_au2 LEFT JOIN source ON source.source_id = doc.source_id LEFT JOIN comment ON comment.comm_id = doc.comm_id";Sv:Skriva ut data som inte är sökbar för användaren - bråttom
Fältet heter au_lname och de tre sökbara författarna har i scriptet fått numrering au_lname1, au_lname2,
au_lname 3.
Hur gör jag med person 4, 5, 6 osv som inte är sökbara? au_lname, au_lname, au_lname?Sv: Skriva ut data som inte är sökbar för användaren - bråttom
Från din sql så ser du ut att ha tre st fält för det iaf.
Så dessa tre andra personer; "4, 5, 6". Vilka är dom?
Och om jag verkar helt yr i huvudet, hur ser dina tabeller ut? Och ge exempel på hurdu vill att ut-datan (tabellerna) ska se ut på sidan din.Sv:Skriva ut data som inte är sökbar för användaren - bråttom
De tabeller som det rör ser ut såhär:
Author:
PK au_id
au_lname
au_fname
Document: au_id är synonymt med co_au
PK doc_id
title
FK au_id
FK source_id
FK comm_id
paper_number
remark
FK conf_id
FK co_au1
FK co_au2
FK co_au3
FK co_au4
FK co_au5
FK co_au6
FK co_au7
FK co_au8
FK co_au9
FK co_au10Sv: Skriva ut data som inte är sökbar för användaren - bråttom
Sv:Skriva ut data som inte är sökbar för användaren - bråttom
Sv: Skriva ut data som inte är sökbar för användaren - bråttom
Sv:Skriva ut data som inte är sökbar för användaren - bråttom
Sv: Skriva ut data som inte är sökbar för användaren - bråttom
Sen begränsar du i din php-kod (alt. sql) att bara visa de tre första...
Eller om det ska vara tre bestämda författare så kan du i den extra tabellen ha ett extra löpnummer per documentid som alltid börjar på 1.Sv:Skriva ut data som inte är sökbar för användaren - bråttom
Tabellerna det rör ser ut såhär:
Affiliate:
aff_id
affiliate
au_id
resp
Doc_author:
doc_id
au_id
$sql = "SELECT doc.doc_id, doc.conf_id, a.au_lname As lname, a.au_fname As fname, title, paper_number, source.journal, source.conf_name, source.publisher, source.publishing_city, source.series, source.volume, source.year, source.ISBN, source.ISSN, affiliate.affiliate
FROM document As doc
LEFT JOIN author As a ON a.au_id = doc_author.au_id
LEFT JOIN source ON source.source_id = doc.source_id
LEFT JOIN affiliate ON affiliate.aff_id = doc_author.au_id;
LEFT JOIN comment ON comment.comm_id = doc.comm_id";Sv: Skriva ut data som inte är sökbar för användaren - bråttom
Skriv gärna ner alla tabeller och kolumner. Och om det inte är uppenbart; vad som är kopplingarna.Sv:Skriva ut data som inte är sökbar för användaren - bråttom
Tabeller:
Author:
PK au_id
au_lname
au_fname
Document:
PK doc_id
title
FK au_id (behövs inte om jag gör tabellen doc_author)
FK source_id
paper_number
FK conf_id
FK co_au1 (har samma funktion som au_id)
FK co_au2
Source:
PK source_id
journal
conf_name
publisher
publishing city
series
volume
year
ISBN
ISSN
Conference:
PK conf_id
conf_name
conf_year
conf_ title
publisher
ISBN
ISSN
Doc_author:
doc_id
au_id
Måste jag sätta någon av de här som PK eftersom båda två redan är FK?
Vad som ska förändras i mitt script är att jag ska ta bort betyg och kommentar och lägga till tabellen doc_author istället.
Det jag framför allt behöver hjälp med är att lägga till doc_author.