---
title: "STORA problem med \"relationer\""
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/145027-stora-problem-med-relationer"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Guldstrand"
published: "2006-04-03T20:45:01.000Z"
updated: "2006-04-05T07:21:08.000Z"
replies: 4
views: 402
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/145027-stora-problem-med-relationer"
---

# STORA problem med "relationer"

## #1 — Guldstrand, 2006-04-03T20:45Z

Jag har stora problem med att förstå "relationer".
Har försökt säkert 50 gånger, men jag får inte rätt på det.  :( 

Hur jag än gör, så lyckas jag få fram id:et utan problem, men istället för id:et, så vill jag visa namnet.

Jag har 2 tabeller, artister + genre_music

```
CREATE TABLE `artister` (
  `id` int(11) NOT NULL auto_increment,
  `musicid` int(10) NOT NULL default '0',
  `added` datetime NOT NULL default '0000-00-00 00:00:00',
  `anamn` varchar(80) NOT NULL default '',
  `fnamn` varchar(80) NOT NULL default '',
  `birthday` date NOT NULL default '0000-00-00',
  `formed` date NOT NULL default '0000-00-00',
  `medlemmar` varchar(100) NOT NULL default '',
  `land` int(11) NOT NULL default '0',
  `artist_foto` varchar(100) NOT NULL default '',
  `info` text NOT NULL,
  `kategori` tinyint(3) NOT NULL default '0',
  `webb` varchar(100) NOT NULL default '',
  `userid` int(10) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=218 ;
```

```
CREATE TABLE `genre_music` (
  `id` int(11) NOT NULL auto_increment,
  `genre` varchar(80) NOT NULL default '',
  `g_info` varchar(255) NOT NULL default '',
  `artist` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=22 ;
```

Med andra ord, jag vill alltså hämna/visa artistens namn istället för id:et.
(Lite klurigt att förklara.)

Här är scriptet:

```php
<?

if ($_GET['id'] == ""){
  //############ Sidnavigering start ##################
  $antal_inlagg = mysql_num_rows(mysql_query("Select * From genre_music"));
  $sida = $_GET["sida"]; 

  if (!isset($sida)) { $sida = 1; }
  $sidantal = ceil($antal_inlagg/$antal);
  $start = ($sida*$antal)-$antal;

  //############ Sidnavigering slut ##################

  $sql = mysql_query("Select * From genre_music Order By genre LIMIT $start, $antal") or die(mysql_error());?>

  <table width="<?=$width?>" align="center">
    
    <?
    if(mysql_num_rows($sql) == 0) {
    //if (mysql_affected_rows() == 0){
    ?>
    <tr>
      <td colspan="2">Information saknas.</td>
    </tr>
  <?php }else{
    while ($RS = mysql_fetch_array($sql)){?>
      <tr>
        <td>
		<a href="?id=<?=$RS['id'];?>"><?=$RS['genre'];?></a>
		</td></tr>
    <?php }?>
    <tr>
      <td style="border-top: 1px solid #2B60CD">
        <? //############ Sidnavigering start ##################
          if ($sida > 1){
            $sida1 = $sida-1;
            echo '<br><a href="?sida='.$sida1.'"><b>Bakåt</b></a> | ';
          }
          for ($i=1;$i<$sidantal+1;$i++){
            $e = $i;
            while (strlen($e) < strlen($sidantal)) { $e = "0".$e; }
              if ($sida == $i) { echo "<font color=\"#000000\">[<b>$e</b>]</font> "; } else { echo "<a href=\"?sida=$i\">$e</a> "; }
          }
          if ($sida <= $sidantal - 1){
            echo ' | <a href="?sida='.++$sida.'"><b>Framåt</b></a>';
          }
          //############ Sidnavigering slut ##################?>
      </td>
    </tr>
    <?php }?>
  </table>

<?

}elseif ($_GET['id'] != ""){ 

$sql = mysql_query("SELECT * FROM genre_music WHERE id ={$_GET['id']}") or die(mysql_error());

?>
  <table width="<?=$width?>" align="center">
  <?php if (mysql_affected_rows() == 0){?>
    <tr>
      <td>Information saknas.</td>
    </tr>
  <?php }else{
  $RS = mysql_fetch_array($sql);?>
    <tr>
      <?php if ($RS['ikoner'] != ""){?>
        <td valign="top"><img src="ikoner/<?=$RS['ikoner'];?>" border="2" width="100"></td>
      <?php }?>
      <td valign="top">
      <b>Genre/Kategori:</b> <?=$RS['genre'];?><br><br>

	  <?php if ($RS['artist'] != ""){?>
      <b>Artist(er) i denna kategori/genre:</b><br>
      <a href=artister.php?id=<?=$RS['artist'];?>><?=$RS['artist'];?></a><br><br>
	  <?php } ?>

      <?php if ($RS['g_info'] != ""){?>
      <hr>
	  <b>Extra:</b><br>
      <?=nl2br($RS['g_info']);?>
	  <?php } ?>
<br><br>

<br /><br />

</td></tr>
  <?php }?>
    <tr>
      <td><b><a href="javascript:history.go(-1)">« tillbaka</a></b></td>
    </tr>
  </table>
<?php }?>
```

Ber om ursäkt för att inlägget blev för långt.  :r

Permalänk: https://www.webforum.nu/p/145027

## #2 — Niklasson, 2006-04-04T06:00Z

Flyttas från PHP..

Permalänk: https://www.webforum.nu/p/1793348

## #3 — LarsG, 2006-04-04T09:24Z

På vilket sätt ser du vilka artister som hör till vilken genre?

Permalänk: https://www.webforum.nu/p/1793395

## #4 — Guldstrand, 2006-04-04T18:13Z

> **LarsG skrev:**
>
> På vilket sätt ser du vilka artister som hör till vilken genre?

Just nu kör jag detta:

```php
<?

}elseif ($_GET['id'] != ""){ 

$sql = mysql_query("SELECT * FROM genre_music WHERE id ={$_GET['id']}") or die(mysql_error());

?>
  <table width="<?=$width?>" align="center">
  <?php if (mysql_affected_rows() == 0){?>
    <tr>
      <td>Information saknas.</td>
    </tr>
  <?php }else{
  $RS = mysql_fetch_array($sql);?>
    <tr>
      <?php if ($RS['ikoner'] != ""){?>
        <td valign="top"><img src="ikoner/<?=$RS['ikoner'];?>" border="2" width="100"></td>
      <?php }?>
      <td valign="top">
      <b>Genre/Kategori:</b> <?=$RS['genre'];?><br><br>

	  <?php if ($RS['artist'] != ""){?>
      <b>Artist(er) i denna kategori/genre:</b><br>
      <a href=artister.php?id=<?=$RS['artist'];?>><?=$RS['artist'];?></a><br><br>
	  <?php } ?>

      <?php if ($RS['g_info'] != ""){?>
      <hr>
	  <b>Extra:</b><br>
      <?=nl2br($RS['g_info']);?>
	  <?php } ?>
```

..så id:et visas utan problem, men jag vill byta id:et mot artistens namn istället. Hur gör jag det?

Permalänk: https://www.webforum.nu/p/1793614

## #5 — LarsG, 2006-04-05T07:21Z

Det jag undrar är villen kolumn i din tabell som anger genre för en artist och hur data i den kolumnen ser ut. Dvs ge exempel på datainnehåll och vilket resultat du vill ha ut.

Permalänk: https://www.webforum.nu/p/1793724

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/145027-stora-problem-med-relationer
