---
title: "array?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/188214-array"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "AndreasC"
published: "2011-11-06T03:30:32.000Z"
updated: "2011-11-06T13:27:52.000Z"
replies: 10
views: 503
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/php/188214-array"
---

# array?

## #1 — AndreasC, 2011-11-06T03:30Z

Jag försöker hämta en radserie från mySQL och få den som en array på en websida men vet inte riktigt hur jag ska lösa det.

Jag har en db tabell som innehåller ett antal rader. Varje rad består av en url. Vad jag vill göra är att hämta dessa rader och göra någon typ av array som jag sedan lägger i en variabel. På websidan vill jag sedan hämta in denna variabel för en serie med \<a href=""\>-taggar så varje länk får en url tilldelad från databasen. URL'erna ska tilldelas i den ordning som de står i databasen.

Har suttit i flera timmar med detta men kan inte få någon kod att fungera. Vet inte vad jag gör fel. Hur kan jag skriva? Jag vet att det inte krävs mycket kod för att detta ska fungera men jag lyckas ändå inte.

EDIT: Ska tilläggas att jag har två kolumner i databasen. En kolumn med ID och en kolumn med URL.

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

## #2 — Shakor, 2011-11-06T10:40Z

en loop med mysql_fetch_array borde fixa biffen =)

t.ex.

```
$urls = array();
$result_set = mysql_query("SELECT id, url FROM links ");

while($fetched_row = mysql_fetch_array($result_set))
{
  $urls[$fetched_row['id']] = $fetched_row['url'];
}

foreach ($urls as $id => $url)
{
  echo "<a href='".$url."'>".$id."</a>";
}
```

Nu lagras data:t i en array innan det printas ut, alternativt kan du ju printa ut allt direkt.

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

## #3 — AndreasC, 2011-11-06T12:20Z

Jag har nu satt upp koden såhär 

```
<?php

    /**
     * Return an Array of URLS's in the Database
     */

    $urls = array();
    $sql = "SELECT * FROM ".TBL_NAV_URLs_0."";
    $result = mysql_query($sql);
    while($row = mysql_fetch_array($result))
    {
      $urls[$row['urlid']] = $row['url'];
    }

    foreach ($urls as $id => $url)
    {
    }
?>
```

På websidan där jag vill ha länkarna inkluderar jag ovanstående kod och anger för länkarna

```
<a href=\"$url\">
```

Om jag anger det i första koden som du gjorde så fungerar det men inte om jag lägger länkarna utanför första koden så fungerar det inte längre. Istället för url visas Array i webläsaren när jag för muspekaren över länkarna. Det står bara array som URL för alla länkarna.

Hur kan jag få med mig url'erna till mina länkar?

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

## #4 — Shakor, 2011-11-06T12:33Z

$urls är en array, så du måste loopa igenom den för att få ut nåt. 

$urls\[0\], $urls\[1\], $urls\[2\]  etc. etc.  fungerar om du vill skriva ut det manuellt

Vill du förresten inte använda dig utav ID:t så kan du ju göra loppen  ovan lite kortare.

```
while($row = mysql_fetch_array($result))
{
      array_push($urls, $row['url']);
}
```

och då

```
foreach ($urls as $url)
{
  echo "<a href='".$url."'>";
}
```

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

## #5 — AndreasC, 2011-11-06T12:38Z

Vill du visa bara hur jag skriver? vart skriver jag urls\[0\], urls\[1\] osv? I länkarna?

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

## #6 — Shakor, 2011-11-06T12:42Z

Det gör du i länkarna :)

```
<a href=\"".$urls[0]."\">
<a href=\"".$urls[1]."\">
<a href=\"".$urls[2]."\">
```

Men är det inte smidigare att loopa igenom arrayen?

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

## #7 — AndreasC, 2011-11-06T12:56Z

Vet inte vad jag gör för fel. Jag gör som du säger men istället för rätt url så står bara $urls\[0\], $urls\[1\] osv för länkarna.

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

## #8 — Shakor, 2011-11-06T12:59Z

skriver du det innanför php-taggarna då?

```
<?php echo "<a href=\"".$urls[0]."\">"; ?>
```

alt.

```
<a href="<?php echo $urls[0]; ?>">
```

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

## #9 — AndreasC, 2011-11-06T13:07Z

Hade inte inom php-taggar :/ Nu för jag dock "undefined offset"

Ska det stå något i foreach?

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

## #10 — Shakor, 2011-11-06T13:13Z

Om du inte tänker skapa länkarna dynamiskt så behövs inte foreach-loopen.

Ändrade du till nedanstående, så borde det fungera med $urls\[0\], 1,2,3,etc.

```
while($row = mysql_fetch_array($result))
{
      array_push($urls, $row['url']);
}
```

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

## #11 — AndreasC, 2011-11-06T13:27Z

Super. Tack :) Nu funkar det perfekt.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/188214-array
