Avatar billede Slettet bruger
15. oktober 2009 - 10:01 Der er 21 kommentarer og
1 løsning

Kalde en bestemt side fra et link

Jeg er ved at lave en side, hvor jeg i menuen har oprettet en knap, som skal kalde en bestemt side frem fra databasen. Når man klikker på knappen med "nav7" skal den i adresselinien skrive ?section=2&nav=7&page=2

Men jeg kan ikke få det til at spille i koden. Som det er nu, er den statisk, og forbliver på den page, som jeg starter med. Kun nav skifter der.

Hvem kan hjælpe????

<?php
if (isset($section)) {
    $sql = "SELECT * FROM navigation WHERE section = '".$section."' ORDER BY sort";
    $result = mysql_query($sql);

    while($rows=mysql_fetch_array($result)){
        echo "<div class='nav' onmouseover='this.style.opacity=0.6;this.filters.alpha.opacity=60' onmouseout='this.style.opacity=1;this.filters.alpha.opacity=100'><a href='/?section=", $section, "&nav=", $rows['id'], "&page=", $page['nav_id'], "'><div class='overlayNavigation'>";   
        echo $rows['name'];
        echo "</div></a></div>";

    }
}
?>
Avatar billede Slettet bruger
15. oktober 2009 - 10:17 #1
Prøv at fyre en "echo $section;" af, og se hvad den giver dig. Måske er linket blot ikke korrekt.
Hvis du ikke gør det i forvejen, så prøv at linke til siden, i stedet for blot til parametrene, altså:

index.php?foo=bar

i stedet for

?foo=bar
Avatar billede Slettet bruger
15. oktober 2009 - 10:21 #2
Jeg vil være meget glad, hvis du skriver det som jeg skal sætte det ind. Jeg er ikke så stiv i det databse, og tør næsten ikke røre ved det jeg er nået frem til nu.;)
Avatar billede Slettet bruger
15. oktober 2009 - 10:27 #3
<?php
if (isset($section)) {
    $sql = "SELECT * FROM navigation WHERE section = '".$section."' ORDER BY sort";
    $result = mysql_query($sql);

    while($rows=mysql_fetch_array($result)){
        echo "<div class='nav' onmouseover='this.style.opacity=0.6;this.filters.alpha.opacity=60' onmouseout='this.style.opacity=1;this.filters.alpha.opacity=100'><a href='/index.php?section=", $section, "&nav=", $rows['id'], "&page=", $page['nav_id'], "'><div class='overlayNavigation'>"; 
        echo $rows['name'];
        echo "</div></a></div>";
    }
}
?>

Index.php ændres til navnet på den side du ønsker at linke til.
Avatar billede michael_stim Ekspert
15. oktober 2009 - 10:29 #4
Har du kommaer når du udskiller din php? Det skal være punktummer.
Avatar billede Slettet bruger
15. oktober 2009 - 10:37 #5
@michael: der er punktum.

@kimsey: der er jo mange sider der skal bruge den, så jeg kan ikke sætte en enkelt side ind kun.
Avatar billede michael_stim Ekspert
15. oktober 2009 - 10:41 #6
Ikke i det anker du har skrevet her. Eller også er det mine øjne der er noget galt med.

<a href='/?section=", $section, "&nav=", $rows['id'], "&page=", $page['nav_id'], "'>

<a href='/?section=". $section. "&nav=". $rows['id']. "&page=". $page['nav_id']. "'>
Avatar billede Slettet bruger
15. oktober 2009 - 10:46 #7
Arrrh er måske mine øjne det kniber lidt med :9 Sorry - er rettet, men ikke fordi det hjalp.
Avatar billede Slettet bruger
15. oktober 2009 - 10:49 #8
if (isset($section)) {
    $sql = "SELECT * FROM navigation WHERE section = '".$section."' ORDER BY sort";
    $result = mysql_query($sql);


MEN her skal der jo ind noget med page, for at den kan finde det......men synes jeg har forsøg mig med alt.
Avatar billede Slettet bruger
15. oktober 2009 - 10:54 #9
Og nu snakker jeg i tåger - den skal ind og finde page i databasen, hvor siderne er opdelt i numre i nav_id.
Avatar billede michael_stim Ekspert
15. oktober 2009 - 11:17 #10
Ved ikke om jeg er med, men mener du at den skal finde siden den er på?

Noget a lá: $_SERVER['PHP_SELF'];
Avatar billede Slettet bruger
15. oktober 2009 - 11:21 #11
Jeg har sendt en pm til dig.
Avatar billede michael_stim Ekspert
15. oktober 2009 - 11:28 #12
Har kigget på det, men fatter stadig ikke hvad du mener ;o)
Avatar billede michael_stim Ekspert
15. oktober 2009 - 11:35 #13
if(isset($_GET['page'])){
$side=$_GET['page'];
@sql="SELECT * FROM navigation WHERE page='".$side."'";
...
}

Er det noget a lá det du søger?
Avatar billede michael_stim Ekspert
15. oktober 2009 - 11:35 #14
Hov, der kom et @ istedet for $ foran sql.
Avatar billede michael_stim Ekspert
15. oktober 2009 - 11:38 #15
Eller:

if(isset($_GET['page']) && isset($_GET['section'])){
$side=$_GET['page'];
$side=$_GET['page'];
$sql="SELECT * FROM navigation WHERE page='".$side."' AND section='".$section."'";
...
}
Avatar billede michael_stim Ekspert
15. oktober 2009 - 11:39 #16
Var lidt for hurtig på aftrækkeren, glemte at rette efter copy/paste.

if(isset($_GET['page']) && isset($_GET['section'])){
$side=$_GET['page'];
$section=$_GET['section'];
$sql="SELECT * FROM navigation WHERE page='".$side."' AND section='".$section."'";
...
}
Avatar billede Slettet bruger
15. oktober 2009 - 12:04 #17
Vi har ved hjælp af denne kode fået det frem som det skal.
Men hvis du vil smide et svar, skal du ha point for svarene. De var gode :)


<?php
if (isset($section)) {
    $sql = "SELECT * FROM navigation WHERE section = '".$section."' ORDER BY sort";
    $result = mysql_query($sql);

    while($rows=mysql_fetch_array($result)){
        echo "<div class='nav' onmouseover='this.style.opacity=0.6;this.filters.alpha.opacity=60' onmouseout='this.style.opacity=1;this.filters.alpha.opacity=100'><a href='/?section=", $section, "&nav=", $rows['id'], "&page=", $rows['id'], "'><div class='overlayNavigation'>";   
        echo $rows['name'];
        echo "</div></a></div>";

    }
}
?>
Avatar billede Slettet bruger
15. oktober 2009 - 12:05 #18
Glemte lige at det var rows vi satte ind, som fik det til at virke.


"&page=", $rows['id'],
Avatar billede michael_stim Ekspert
15. oktober 2009 - 12:15 #19
Ellers tak, samler ikke på point. Læg selv et svar og accepter. Og glem ikke at udskille dine php variabler med punktum og ikke komma, som du har igen ;o)
Avatar billede Slettet bruger
15. oktober 2009 - 12:28 #20
Jeg smaler heller ikke på point, er ikke derfor jeg er her. Og sætter jeg punktum ind virker det ikke.
Avatar billede Slettet bruger
15. oktober 2009 - 12:53 #21
Måske jeg skulle samle på en ordbog i stedet for....hihi.
Avatar billede Slettet bruger
15. oktober 2009 - 12:53 #22
hmm prøver igen
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