Oprettet tir. d. 09. marts 2010 kl. 22:05:35

mik2000
mik2000 (5.887 point. Point ude: 320)

Database - dobbel data skal vises

Hej

Jeg har en database med felterne
id, nr, adresse, person, billede, link

Denne kan der ikke laves om i (dvs ikke tilføjes felter eller andre strukturting), og der kan ikke laves nye tabeller med data.

Jeg skal nu have vise alle poster på en side.
Så langt så godt - ingen problemer

Men de skal være inddelt i nogle kategorier, her blot kaldet kategori1, kategor2 og kategori3 for nemhedens skyld.

Nogle af posterne i dabasen skal stå under 2 af kategorierne.
Jeg ved præcis hvilke numre der hører til de forskellige og hvilke der skal stå 2 steder.

Men hvordan får man dem til det, når man ikke kan gemme kategorierne i databasen?

Laver man et array hvor der er et kategorinr der viser kategorien eller hvad gør man.

Håber du forstår ellers sriv endelig :)

Skrevet ons. d. 10. marts 2010 kl. 07:52:03| #1

splazz
splazz (55.963 point)
majbom.com
altså hvis ikke du kan ændre/tilføje i databasestrukturen, kan du f.eks. bruge en xml-fil, et hardcoded array, eller en text-fil...

Skrevet ons. d. 10. marts 2010 kl. 08:12:54| #2

Christian_Belgien
Christian_Belgien (40.187 point)
(Jeg haaber ikke dette kommer dobbelt.  Jeg sendte det, men det synes at vaere gaaet tabt.)

Det synes at virke ved at definere dine kategorier ved at putte numrene i arrays.

Jeg testede det saaledes:  Jeg lavede en simpel mysql tabel kun med nr og item og kaldte tabellen mik2001.  Der var 20 items.

Jeg definerede saa en enkel kategory, de numre der var primtal.  Jeg placerede de numre i en array $kat1.  De data jeg hev ind fra mysql placerede jeg foerst i en array $table hvor hvert element var et resultat, $row.

Derefter undersoegte jeg for hvert element i $table om nummeret hoerte til kat1 og hvis saa placerede den paagaeldende raekke i en ny array.  Til slut skrev jeg den nye array ud og fik saa numrene og items fra primtallene.

Du kan saa definere yderligere kategorier, og der er ikke noget i vejen for at et nummer kan forekomme i mere end en kategory.

Her er koden:

<?
$kat1 = array(2,3,5,7,11,13,17,19);
$link = mysql_connect ('xxxx', 'yyyy', 'zzzz') or die(mysql_erorr());
mysql_select_db('qqqq') or die('Could not select database');
$result = mysql_query("SELECT nr, item FROM mik2001");
while($row = mysql_fetch_array($result))
$table[]=$row;
foreach ($table as $value)
{
  if(in_array($value['nr'], $kat1)) $type1[]=$value;
}
foreach ($type1 as $a)
echo $a['nr']. " - ".$a['item']. "<br/>";
mysql_close($link); 
?> 

og her er resultatet jeg fik:
2 - item2
3 - item3
5 - item5
7 - item7
11 - item11
13 - item13
17 - item17
19 - item19

Skrevet ons. d. 10. marts 2010 kl. 12:00:23| #3

splazz
splazz (55.963 point)
majbom.com
-> #0 - "Jeg ved præcis hvilke numre der hører til de forskellige og hvilke der skal stå 2 steder." - hvordan? ud fra noget bestemt i felterne, eller er det bare noget du ved?

Skrevet fre. d. 12. marts 2010 kl. 17:58:56| #4

Christian_Belgien
Christian_Belgien (40.187 point)
mik2000, fik du mit indlaeg?  Hvad er din reaktion?  Jeg tillader mig at sende dette som et svar idet jeg mener at have besvaret dit spoergsmaal.  Hvis jeg har misforstaaet dig saa forklar videre, saa kan jeg kikke paa det igen.

Skrevet søn. d. 14. marts 2010 kl. 12:59:49| #5

mik2000
mik2000 (5.887 point)
Hej
Sorry jeg ikke har svaret. Jeg er lige på rejse, men er tilbage i morgen og ser om jeg ikke kan nå at prøve det der. Men har ikke glemt det :)

Skrevet tir. d. 16. marts 2010 kl. 21:38:32| #6

mik2000
mik2000 (5.887 point)
Undskyld det meget sene svar. Der var lige et hav af ting da jeg kom tilbage.

Jeg takker for tålmodigheden og svaret :)

Jeg har nu kigget nærmere på det.
Jeg tror det virker til det er inde på noget af det rigtige, men er ikke sikker på jeg helt forstår det.

Så hvis nu jeg tager et eksempel og siger jeg har en tabel med følgende:
id, nr, adresse, person, billede, link
1, 5, Testvej 1, Peter, img.jpg, side.php
2, 3, Testvej 1, Peter, img.jpg, side.php
3, 3, Testvej 1, Peter, img.jpg, side.php
4, 2, Testvej 1, Peter, img.jpg, side.php
5, 7, Testvej 1, Peter, img.jpg, side.php
6, 5, Testvej 1, Peter, img.jpg, side.php
7, 11, Testvej 1, Peter, img.jpg, side.php
8, 12, Testvej 1, Peter, img.jpg, side.php
9, 23, Testvej 1, Peter, img.jpg, side.php

Derudover har jeg 3 kategorier
Kategori 1
Kategori 2
Kategori 3

Jeg ved så at
- dem med id 1,3,4,5,6 og 7 hører til kategori 1
- dem med id 2 og 8 hører til kategori 2
- dem med id 1,2,3, 6 og 9 hører til kategori 3
Her er id 1,2,3 og 6 i 2 kategorier.
Dvs det er bare noget jeg ved (har fået at vide inden, men det kan ikke bygges ind i tabellen/databasen)

----------------------------------------------

Nu vil jeg så gerne have vist det således i browseren:

Kategori 1 (overskrift)
Alle dem der høre til kategori 1 dvs id 1,3,4,5,6,7 med alle oplysninger dvs. id, nr, adresse, person, billede, link

Kategori 2 (overskrift)
Alle dem der høre til kategori 2 dvs. 2 og 8 med alle oplysninger dvs. id, nr, adresse, person, billede, link

Kategori 3 (overskrift)
Alle dem der høre til kategori 3 dvs. 1,2,3,6 og 9 med alle oplysninger dvs. id, nr, adresse, person, billede, link

----------------------------------------------

Jeg beklager endnu engang det sene svar, og takker mange gange for svarene :)

Skrevet ons. d. 17. marts 2010 kl. 07:13:12| #7

Christian_Belgien
Christian_Belgien (40.187 point)
Det var jo det jeg haabede du selv ville fylde ind i mit eksempel i #2.  Nu har jeg gjort det for dig:

Udbredt tabellen mik2001 med de felter og vaerdier du siger, og
udbredt php koden med to mere kategorier.  Jeg fik foelgende resultat:

Kategory 1
1 5 Testvej 1 Peter img.jpg side.php
3 3 Testvej 1 Peter img.jpg side.php
4 2 Testvej 1 Peter img.jpg side.php
5 7 Testvej 1 Peter img.jpg side.php
6 5 Testvej 1 Peter img.jpg side.php
7 11 Testvej 1 Peter img.jpg side.php

Kategory 2
2 3 Testvej 1 Peter img.jpg side.php
8 12 Testvej 1 Peter img.jpg side.php

Kategory 3
1 5 Testvej 1 Peter img.jpg side.php
2 3 Testvej 1 Peter img.jpg side.php
3 3 Testvej 1 Peter img.jpg side.php
6 5 Testvej 1 Peter img.jpg side.php
9 23 Testvej 1 Peter img.jpg side.php

Jeg har det siddende i http://christianjorgensen.be/ (...) hvor du kan proeve det af.  Php koden er nu den foelgende:

<?
$kat1 = array(1,3,4,5,6,7);
$kat2 = array(2,8);
$kat3 = array(1,2,3,6,9);
$link = mysql_connect ('xxxx', 'yyyy', 'zzzz') or die(mysql_erorr());
mysql_select_db('qqqq') or die('Could not select database');
$result = mysql_query("SELECT * FROM mik2001") or die(mysql_error());
while($row = mysql_fetch_array($result))
$table[]=$row;
foreach ($table as $value)
{
  if(in_array($value['id'], $kat1)) $type1[]=$value;
  if(in_array($value['id'], $kat2)) $type2[]=$value;
  if(in_array($value['id'], $kat3)) $type3[]=$value;
}
echo "<br/>Kategory 1<br/>";
foreach ($type1 as $a)
echo $a['id']. " ".$a['nr']. " " . $a['adresse'] . " " . $a['person'] . " " . $a['billede'] . " " . $a['link'] .  "<br/>";
echo "<br/>Kategory 2<br/>";
foreach ($type2 as $a)
echo $a['id']. " ".$a['nr']. " " . $a['adresse'] . " " . $a['person'] . " " . $a['billede'] . " " . $a['link'] .  "<br/>";
echo "<br/>Kategory 3<br/>";
foreach ($type3 as $a)
echo $a['id']. " ".$a['nr']. " " . $a['adresse'] . " " . $a['person'] . " " . $a['billede'] . " " . $a['link'] .  "<br/>";
mysql_close($link);
?>

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

php problem få en kode fra en anden side

Oprettet den 11. februar 2012 kl. 23.53
jesperkaae95 giver 30 point for svar | Giv et svar »

Udtræk af enkelte felter fra bestemte kolonner i mysql

Oprettet den 11. februar 2012 kl. 19.27
hrole giver 30 point for svar | Giv et svar »

Procentregning

Oprettet den 11. februar 2012 kl. 11.26
sevinding giver 60 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger