lobster Skrevet 23. august 2003 Del Skrevet 23. august 2003 Jeg prøver meg med bruk av arrays. Slik jeg har tenkt har jeg en tabell med ulike temaer/kategorier. Denne tabellen henter jeg ut og legger inn i en array. ($kategori) Jeg har en artikkel tabell med artikkler og referanse til kategoriid . Når jeg henter ut en oversikt over alle artikkler ønsker jeg at kategori også skal vises slik som dette: Sourcecode hjelper meg hele tiden Kategori: Hjelp og support <?php include_once("dbconnect.php"); $result = mysql_query("select * from kategori") or die (mysql_error()); while ($row = mysql_fetch_array($result)) { $katgori[$row["kategoriid"]] = "".$row["kategorinavn"].""; } $result = mysql_query("select * from artikkel ORDER BY artikkelid ASC") or die (mysql_error()); while ($row = mysql_fetch_array($result)) { echo "".$row["artikkelid"]." ".$row["artikkeloverskrift"]." - $katgori[".$row["artikkel_kategoriid"]."] <br />"; } ?> Jeg får feil når jeg setter inn [".$row["artikkel_kategoriid"]." som $kategori verdi. Prøver jeg med en fast verdi f.eks 8 får jeg ikke feil, men jeg får da heller ikke opp noen riktig kategori. Håper du forstår hva det er jeg trenger hjelp til. Jeg er såpass fersk i å progge at jeg har vanskligheter med å få forklart helt nøyaktig det jeg ønsker å få gjort. Lenke til kommentar
kilogram Skrevet 23. august 2003 Del Skrevet 23. august 2003 <?php include_once("dbconnect.php"); $result = mysql_query("select * from kategori") or die (mysql_error()); while ($row = mysql_fetch_array($result)) { $katgori[$row["kategoriid"]] = "".$row["kategorinavn"].""; } $result = mysql_query("select * from artikkel ORDER BY artikkelid ASC") or die (mysql_error()); while ($row = mysql_fetch_array($result)) { echo "".$row["artikkelid"]." ".$row["artikkeloverskrift"]." - $katgori[".$row["artikkel_kategoriid"]."] <br />"; } ?> Jeg får feil når jeg setter inn [".$row["artikkel_kategoriid"]." som $kategori verdi. Prøver jeg med en fast verdi f.eks 8 får jeg ikke feil, men jeg får da heller ikke opp noen riktig kategori. Eg ville foreslått at du gjer alt dette i ein query istaden for å gjere det i to. Kva med å bruke følgjande spørring; SELECT a.artikkelid, a.artikkeloverskrift, k.kategoriid, k.kategorinavn FROM artikkel a, kategori k WHERE a.kategoriid = k.kategoriid ORDER BY a.artikkelid ASC Du vil då få ut alt saman i ei spørring, og det gjer at skriptet ditt går raskare å køyre. MySQL er nemlig ganske mykje raskare enn PHP er når det gjeld å behandle data. Prøv å bruk den spørringa istaden, og når du henter ut verdiar frå arrayen, må du huske å bruke $row['a.artikkelid'], dvs. å prefikse kvar verdi med forkortelsen for tabellnamnet. Du kan sjå at eg har forkorta dei i FROM-klausulen, der eg skriv "artikkel a". Lykke til... Lenke til kommentar
lobster Skrevet 26. august 2003 Forfatter Del Skrevet 26. august 2003 Etter å lest svaret ditt fant jeg ut at jeg måtte lære bruke SQL spørringer bedre. Etter å ha lett litt rundt på Hotscripts fant jeg imidlertid en bra MySQL editor. Navicat fra Premiumsoft. Denne editoren er kjempeenkel å bruke (alla access), du drar tråder til de ulike tabellene og setter regler, så produserer den spørringene for deg. Takket være det programmet har jeg spart meg for flere dager med slitsom programmering Men uansett, tusen takk for at du fikk meg over til å benytte EN SQL spørring i stedet for å bruke mange. Lenke til kommentar
kilogram Skrevet 27. august 2003 Del Skrevet 27. august 2003 Ingen problem. Det er ein feil som svært mange gjer i byrjinga, og eg huskar godt kor overraska eg vart då eg skjønte at det gjekk ann å kombinere spørringar slik som over. Eg har sjølv nytta Navicat ei god stund, men har diverre oppdaga enkelte "defektar" ved programmet; t.d. kan du kun lagre eller eksportere ein tabell av gangen, eller velge å ta heile databasen. Foreløpig er det einaste feilen eg har funne i programmet; det er svært nyttig. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå