>hvor alle mail adresserne står i et tekst felt med linjeskift imellem. du vil gører dig selv en tjeneste ved at splitte det op i 3 tabeller (mange til mange ralation)
tb_user id, fornavn, efternavn, email
tbl_mailgroup id, gruppenavn
tbl_s_user_mailgroup id, mailgroupid, userid
så bliver det nemmere (og rigtigt) at udtrække, en bruger kan nemt være med i flerer grupper
>kan man køre en Query der returnere hver linje for sig. hvad mener du med hver linje ??, hver enkelt linje i mailgruppen eller hver post, til senere opsplitning
En mysql forespørgsel der så at sige exploderer en tekststreng kender jeg ikke, men du kan jo i din applikation exploderer strengen i en array. I php noget i retning af (ikke testet)
$result = mysql_query("SELECT mailgruppe FROM mytable WHERE ...") while($row = mysql_fetch_array($result)) { $gruppe = explode('\n', $row[0]); foreach($gruppe as $email)..gør noget ved mail adressen }
Men hvorfor sådan en tabelstruktur? En normaliseret struktur ville have en særskilt tabel for mailadresser, for eksempel således:
tabel mailgruppe id navn ... 1 gruppe1 2 gruppe2
tabel mail id gruppe mail 1 1 xx1@mail.dk 2 1 xx2@mail.dk 3 2 xx3@mail.dk
Du har to mailgrupper, den første med to mailadresser, den anden med en mailadresse. Hvis du så vil have mailadresserne i mailgruppe1 får du dem med denne query:
SELECT mail FROM mailgruppe JOIN mail ON mailgruppe.id = mail.gruppe WHERE mailgruppe.navn = 'gruppe1'
Jeg er langsom, mens jeg arbejdede med mit indlæg fik du hele tre andre indlæg. Jeg er, som det fremgår, enig med arne_v's betragtninger og velsagtens også med ronols, når jeg lige får kikket på den.
Jeg ville også helst skifte strukturen, men mail serveren er sat op med den struktur og det vil give en masse andre problemer hvis jeg får lavet den om.
Og jeg vil godt lave et mere brugervenligt interface hvor mail adresserne redigeres sammen med navn mm. og mail adresserne gemmes i et tekst felt igen.
Jeg forstod opgaven således, at de mailadresser der stod i tekstfeltet for mailgruppen, dem ville du have skrevet ud alle sammen, men enkeltvis. Det skitserede jeg en løsning for, i php, ikke i mysql.
Men jeg forstår nu, at opgaven går videre - du vil kunne redigere en af mailadresserne i en mailgrupe og kunne få den redigerede mailadresse tilbage på sin plads i tekststrengen i mysql tabellen. Det er der også løsninger på, i applikationen, ikke (så vidt jeg ved) i mysql. Og det bruges, til min overraskelse (og chock som normaliserings fanatiker), i praksis. Jeg arbejder for tiden med Joomla Contents Management System som gør udbredt brug af mysql tabeller, og i adskillige af tabellerne har man et felt 'parameters' hvor der opslås en liste af værdier, velsagtens på omtrent samme måde som din liste af mail adresser i en mailgruppe.
Men opgaven går endnu videre, så vidt jeg forstår. Hver mailadresse tilhører en bruger, og du vil finde den mailadresse frem der tilhører en bestemt bruger og kunne redigere den. Der tror jeg nok du kommer på arbejde. Hvordan ved du hvilken af mailadresserne i en gruppe der tilhører en bestemt bruger? Er det, for eksempel, således, at du har en brugertabel der foruden navn mm indeholder brugerens mailadresse, og er det den tabel du vil åbne og redigere plus at når du har forandret en brugers mailadresse vil du have den samme forandring opslået i mailgrupperne?
Nej, der er jeg bange for, at jeg må bakke ud. Du vil kunne tilgå en enkelt af værdierne i en 'linieskift-separaret' tekststreng som om det var et særskilt felt. Den kender jeg ikke. (Joomla, som jeg fortalte, bruger felter med komma-separerede værdier i deres mysql tabeller, men kun i tilfælde hvor alle disse værdier skal bruges på en gang. Så længe du skal bruge alle mail adresserne i en mailgruppe på en gang, såsom når du skal sende mail til gruppen, er din struktur ok, men ikke hvis du vil prøve at pille enkelte af værdierne ud og bruge selvstændigt.) Jeg ønsker dig success, men jeg tvivler på, at du vil få det. Deltagerne i denne tråd, indtil nu, er enige om vejen frem, nemlig at forandre data strukturen.
Tak for jeres indput. Jeg går en anden vej og får installeret Mailman på serveren og administrere mail grupperne der igennem. /Finn
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.