Avatar billede janorakel Nybegynder
17. august 2003 - 20:06 Der er 10 kommentarer og
1 løsning

Visning af forskellige poster i database

Jeg har en bogdatabase, hvori jeg via et script kunne tænke mig, at sætte alle de forskellige forfattere op under hinanden i alfabetisk orden.
Lidt ala dette:
>>efternavn, fornavn<<
>>efternavn1, fornavn1<<
>>efternavn2, osv....
Man skal kunne klikke på navnet for at få vist alle værkerne af de enkle forfattere, da mange har lavet flere værker.
Det må være 2 filer.
Min tabel ser således ud:

id  int(11)  Nej
forfatternavn_efternavn  varchar(100) Ja  NULL 
forfatternavn_fornavn  varchar(100) Ja  NULL 
alias  varchar(100) Ja  NULL 
originalvaerkets_titel  varchar(100) Ja 
udgivelsestidspunkt_original  varchar(20) Ja  NULL
genre  varchar(100) Ja 
oversaetterens_efternavn  varchar(100) Ja  NULL 
oversaetterens_fornavn  varchar(100)  Ja  NULL 
udgivelsessted  varchar(100) Ja 
forlag  varchar(100) Ja 
udgivelsestidspunkt_oversaettelse  varchar(20)  Ja  NULL
antal_sider  varchar(100) Ja 
antal_bind  varchar(40) Ja  NULL 
bogserie_notat  varchar(100)  Ja 
oversættelsens_titel  varchar(100) Ja 
notater  varchar(100) Ja 
forkortet_udgave  tinyint(1) Nej  0 
illustreret_udgave  tinyint(1)  Nej 0 
forord  tinyint(1) Nej  0 
efterskrift  tinyint(1)  Nej  0 
stort_format_kunstudgave  tinyint(1) Nej  0 
land  varchar(20)  Ja 
kilde  varchar(200)  Ja  NULL

Håber det er beskrivelse nok.
Avatar billede janorakel Nybegynder
17. august 2003 - 22:37 #1
Har afsat flere point
Avatar billede hmortensen Nybegynder
17. august 2003 - 22:47 #2
Kan du ik lige smide din tabel som sql dumb, så det er lettere at teste på ?
Avatar billede janorakel Nybegynder
17. august 2003 - 23:30 #3
Jo, her er den...

CREATE TABLE `second` (
  `id` int(11) NOT NULL auto_increment,
  `forfatternavn_efternavn` varchar(100) default NULL,
  `forfatternavn_fornavn` varchar(100) default NULL,
  `alias` varchar(100) default NULL,
  `originalvaerkets_titel` varchar(100) default '',
  `udgivelsestidspunkt_original` varchar(20) default NULL,
  `genre` varchar(100) default '',
  `oversaetterens_efternavn` varchar(100) default NULL,
  `oversaetterens_fornavn` varchar(100) default NULL,
  `udgivelsessted` varchar(100) default '',
  `forlag` varchar(100) default '',
  `udgivelsestidspunkt_oversaettelse` varchar(20) default NULL,
  `antal_sider` varchar(100) default '',
  `antal_bind` varchar(40) default NULL,
  `bogserie_notat` varchar(100) default '',
  `oversættelsens_titel` varchar(100) default '',
  `notater` varchar(100) default '',
  `forkortet_udgave` tinyint(1) NOT NULL default '0',
  `illustreret_udgave` tinyint(1) NOT NULL default '0',
  `forord` tinyint(1) NOT NULL default '0',
  `efterskrift` tinyint(1) NOT NULL default '0',
  `stort_format_kunstudgave` tinyint(1) NOT NULL default '0',
  `land` varchar(20) default '',
  `kilde` varchar(200) default NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=202 ;

#
# Data dump for tabellen `second`
#

INSERT INTO `second` VALUES (3, 'About', 'Edmond', NULL, 'Tolla', '1855', 'Roman', NULL, NULL, NULL, NULL, '1855', '212,152', '2', NULL, 'Tolla', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (4, 'About', 'Edmond', NULL, 'Les mariages de Paris', '1856', 'Roman', NULL, NULL, NULL, NULL, '1857', '263', NULL, 'Dagbladets Feuilleton', 'Franske Ægteskaber', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (5, 'About', 'Edmond', NULL, 'Germaine', '1857', 'Roman', NULL, NULL, NULL, NULL, '1857', '277', NULL, NULL, 'Germaine', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (6, 'About', 'Edmond', NULL, 'Le capitaine Bitterlin', '1860', 'Roman', 'Prahl', 'R.', NULL, NULL, '1862', '282', NULL, NULL, 'Kapitain Bitterlin', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (7, 'About', 'Edmond', NULL, 'L\'homme à l\'oreille cassée', '1862', 'Roman', NULL, NULL, NULL, NULL, '1862', '231', NULL, 'Danmarks Feuilleton', 'En mere end sælsom Historie', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (16, 'Achard', 'Amédée', NULL, 'Les mesères d\'un millionaire', '1861', 'Roman', NULL, NULL, NULL, NULL, '1861', '212, 208', '2', NULL, 'Millionairen', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (9, 'About', 'Edmond', NULL, 'Le roi des montages', '1857', 'Roman', NULL, NULL, NULL, NULL, '1868', '344', NULL, 'Dags-Telegrafens Feuilleton', 'Bjergenes Konge', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (10, 'About', 'Edmond', NULL, 'Le roi des montages', '1857', 'Roman', 'Petersen', 'Johannes', NULL, NULL, '1885', '199', NULL, NULL, 'Bjærgkongen', NULL, 0, 0, 1, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (11, 'About', 'Edmond', NULL, 'Le nez d\'un notaire', '1862', 'Roman', 'Steenberg', 'Julius', NULL, NULL, '1893', '138', NULL, NULL, 'Notarens Næse', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (12, 'Achard', 'Amédée', NULL, 'Chien et chat', '1853', 'Roman', 'Mariager', 'P.', NULL, NULL, '1853', '210', NULL, NULL, 'Den gamle Diplomat, eller Hund og Kat', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (13, 'Achard', 'Amédée', NULL, 'La robe de Nessus', '1855', 'Roman', NULL, NULL, NULL, NULL, '1855', '272', NULL, 'Flyveposten', 'Dandserinden', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (14, 'Achard', 'Amédée', NULL, 'Maurice de Treuil', '1857', 'Roman', 'Blicher', 'P.B.', NULL, NULL, '1859', '323', NULL, NULL, 'Maurice de Treuil', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (15, 'Achard', 'Amédée', NULL, 'La famille Guillemot', '1860', 'Roman', NULL, NULL, NULL, NULL, '1861', '262', NULL, NULL, 'Familien Guillemot', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (17, 'Achard', 'Amédée', NULL, 'v. note', '1858', 'Nouvelle', NULL, NULL, NULL, NULL, '1861', '183', NULL, NULL, 'To Noveller - "Korel-Armbaandet", "Daniel"', '"Le bracelet de corail", "Daniel" (Les femmes honnêtes, 1858)', 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (18, 'Achard', 'Amédée', NULL, 'v. note', NULL, 'Nouvelle', 'P.', 'T.', NULL, NULL, '1862', '236', NULL, NULL, 'To Noveller - "Tegnelærerinden", "Frøken du Rosier"', '"La maîtresse de dessin" (Les vocations, 1859), "Mlle du Rosier" (Les femmes honnêtes, 1858)', 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (19, 'Achard', 'Amédée', NULL, 'La chasse royal', '1850', 'Roman', NULL, NULL, NULL, NULL, '1865', '563, 544', '2', 'Dags-Telegrafens Feuilleton', 'Kongens Jagt', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (20, 'Achard', 'Amédée', NULL, 'Alexandrine du Rosier', NULL, 'Nouvelle', NULL, NULL, NULL, NULL, '1868', '144', NULL, NULL, 'Alexandrine du Rosier', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (21, 'Achard', 'Amédée', NULL, 'Les coups d\'épée de M. de la Guerche', '1863', 'Roman', NULL, NULL, NULL, NULL, '1871', '241, 213, 210, 278', '4', 'Dagens Nyheders Feuilleton', 'Hr. de la Guerche. Eventyr under Trediveaarskrigen', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (22, 'Aimard', 'Gustave', NULL, 'La main ferme', '1862', 'Roman', NULL, NULL, NULL, NULL, '1863', '532', NULL, 'Feuilleton til Folkebladet', 'Jernhaand. Billeder fra Mexiko', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
INSERT INTO `second` VALUES (23, 'Aimard', 'Gustave', NULL, 'Les trappeurs de l\'Arkansas. Le partie. Coeur loyal', '1858', 'Roman', NULL, NULL, NULL, NULL, '1884', '302', NULL, NULL, 'Steppens Fyrste. En Fortælling fra Indianerkampene mod de hvide', NULL, 0, 0, 0, 0, 0, 'le Danemark', 'E. M.P.');
Avatar billede hmortensen Nybegynder
18. august 2003 - 10:04 #4
Jeg har lavet et udkast her:

----- index.php -----

<html>
<head>
<title>Forfatter oversigt</title>
</head>
<body>
<center>
<table>
<tr><td>Efternavn</td><td>Fornavn</td><td>Antal bøger</td></tr>
<?php
include("connect.php");
$q = mysql_query("SELECT forfatternavn_efternavn, forfatternavn_fornavn, COUNT(*) AS antal FROM second GROUP BY forfatternavn_efternavn, forfatternavn_fornavn ORDER BY forfatternavn_efternavn ASC");
while($row=mysql_fetch_array($q))
{
echo "<tr><td><a href='info.php?efternavn=" .$row[forfatternavn_efternavn]. "&&fornavn=".$row[forfatternavn_fornavn]. "'>" .$row[forfatternavn_efternavn]. "</a></td><td>" .$row[forfatternavn_fornavn]. "</td><td>" .$row[antal]. "</td></tr>";
}
?>
</table>
</center>
</body>
</html>

----- index.php -----

----- connect.php -----

<?php
mysql_connect('host','user','pass') or die(mysql_error());
mysql_select_db('db') or die(mysql_error());
?>

----- connect.php -----

----- info.php -----

<html>
<head>
<title>Information for <?php echo "" . $efternavn . ", " . $fornavn . ""; ?></title>
</head>
<body>
<center>
<?php
include("connect.php");
$q = mysql_query("SELECT * FROM second WHERE forfatternavn_efternavn='$efternavn' AND forfatternavn_fornavn='$fornavn' ORDER BY originalvaerkets_titel");
while($row=mysql_fetch_array($q))
{
if ($row[antal_bind] == "")
{ $row[antal_bind] = "1"; }

echo "<table border='1' width='500'>
<tr><td colspan='4' align='center'><h1>" .$row[originalvaerkets_titel]. "</h1></td></tr>
<tr><td>Udgivelse år: " .$row[udgivelsestidspunkt_original]. "</td><td>Genre: " .$row[genre]. "</td><td>Antal sider: " .$row[antal_sider]. "</td><td>Antal bind: " .$row[antal_bind]. "</td></tr>
</table>";
}
?>
</center>
</body>
</html>

----- info.php -----
Avatar billede janorakel Nybegynder
19. august 2003 - 17:49 #5
Hej hindu, jeg skal lige have min maskine op og køre, - efter crash. Jeg troede aldrig det ville ramme mig. Men jeg afprøver det i morgen.
Avatar billede hmortensen Nybegynder
19. august 2003 - 18:41 #6
Det er bare ok.

Som du kan se, har jeg ikke lavet det færdigt, men det skulle være til at hitte ud af...
Avatar billede janorakel Nybegynder
20. august 2003 - 22:45 #7
Jeg kan ikke få info.php til at vise noget, men index-filen er bare super.
Avatar billede hmortensen Nybegynder
21. august 2003 - 05:52 #8
Sæt det her ind øverst i din info.php

<?php
$efternavn = $_GET[efternavn];
$fornavn = $_GET[fornavn];
?>

Altså over
<html>
<head>
....
Avatar billede janorakel Nybegynder
21. august 2003 - 09:55 #9
Mange tak, det hele virker nu...
Den burde jeg regnet ud, jeg må gå hårdere til værks..
Smid et svar - hindu
Avatar billede hmortensen Nybegynder
22. august 2003 - 10:05 #10
Du kan godt selv indsætte resten, ik ?

Det skulle være til at finde ud af...
Avatar billede janorakel Nybegynder
23. august 2003 - 13:06 #11
Jo, det er lige til at overskue, - mange tak
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester