Avatar billede Frederik Nybegynder
09. januar 2008 - 21:23 Der er 2 kommentarer og
1 løsning

Link mellem sider.

Hej.

Jeg har en menu, der laver nogle kategorier, jeg vil dog gerne have så jeg kan bruge det sammen med pageid. Menuen laver links der f.eks. kan se sådan ud: index.php?pageid=7?kategori=id

Kan jeg lave om på "if($pageid == "1"){ include("forside.php");" så det kommer til at passe til ovenstående link? jeg anvender nemlig kategori værdien i et andet script til at hente bestemte billeder fra en database. Min menu er sådan ud:




<html>
<head>
<style type='text/css'>
a.top {color:black;font:bold 14px verdana;text-decoration:none;}
a.top:hover {color:yellowgreen;}
a.link {margin-left:2em;color:dimgray;font:13px verdana;text-decoration:none;}
a.link:hover {text-decoration:underline;}
</style>
</head>
<body>

<?php


function menuliste() {




include ("config.php");



    $query1 = "select * from mkategori";
    $result1 = mysql_query($query1);


        while($row1 = mysql_fetch_array($result1))
        {
          $topkat = array($row1['mtopkategori']);
          echo "<a class='top' href='?kategori=".$topkat[0]."'>".$topkat[0]."</a><br>";
           


            if($_REQUEST['kategori'] == '') {
            }
            elseif($_REQUEST['kategori'] == $topkat[0])
            {
                      $query2 = "select * from mlink where mtopkategori = '".$topkat[0]."'";
                      $result2 = mysql_query($query2);



                        while($row2 = mysql_fetch_array($result2))
                        {
                          $link = array($row2['mid'],$row2['mpunkt'],$row2['mlink']);
echo "<a class='link' href='".$link[2]."?kategori=".$row2['mpunkt']."'>".$link[1]."</a><br>";

                }

            }
           
        }
       
    mysql_close();

}

menuliste();
         
?>
</body></html>




Jeg ved ikke om mit spørgsmål er til at forstå? Jeg håber I kan hjælp!


- Frederik
Avatar billede fant0mas Nybegynder
09. januar 2008 - 23:45 #1
if($pageid == "1" && kategori="2"){ include("forside.php"); }
Sådan du tænker på?

Du kan måske gøre sådan:

<?
switch($_GET[id]) {
    case 1:
        sideet($_GET[kategori]);
        break;
    case 2:
        sideto($_GET[kategori]);
        break;
    default:
        forside($_GET[kategori]);
        break;
}

function forside($kategori){
    include_once 'forside.php';
    echo 'Kategori id: '.$kategori;
}
function sideet($kategori){
    echo 'Side 1';
    echo 'Kategori id: '.$kategori;
}
function sideto($kategori){
    echo 'side 2';
    echo 'Kategori id: '.$kategori;
}
?>
Avatar billede Frederik Nybegynder
10. januar 2008 - 11:30 #2
Hmm.. jeg kan ikke få den til at linje til de forskellige sider...

Filen jeg har, der skal vise billeder fra en bestemt kategori ser sådan ud:
<?
require("config.php");
$kategori = $_GET['kategori'];
$query = mysql_query("SELECT * FROM files WHERE fkategori = '$kategori' ORDER BY fid") or die(mysql_error());
while($row = mysql_fetch_assoc($query)) {
echo '<img src="showpicture.php?fid='.$row['fid'].'" alt="Unable to view image #'.$row['fid'].'">
<div align="center">'.$row['description'].'</div><br>';
}
?>


jeg har prøvet på forskellige måder at tilføje dety du har skrevet, men kan ikke få noget frem. det oprindelige include af sider ser sådan ud:

<?
        if($pageid == "1"){ include("content.php");
        }
        else if($pageid == "2"){ include("menu/add.php");
        }
            else if($pageid == "3"){ include("menu/addkategori.php");
        }
            else if($pageid == "4"){ include("menu/addkategori-ok.php");
        }
        else if($pageid == "5"){ include("menu/addmlink.php");
        }
        else if($pageid == "6"){ include("menu/addmlink-ok.php");
        }
            else if($pageid == "7"){ include("menu/menu.php");
        }
        else if($pageid == "8"){ include("picupload/add.php");
        }
        else if($pageid == "9"){ include("picupload/upload-ok.php");
        }
        else if($pageid == "10"){ include("picupload/getpicture.php");
        }
        else if($pageid == "11"){ include("picupload/getpicturekategori.php");
        }
        else if($pageid == "12"){ include("picupload/showpicture.php");
        }
        else if($pageid == "13"){ include("admin/status.php");
        }
        else if($pageid == "14"){ include("admin/login.php");
        }
        else if($pageid == "15"){ include("admin/login_confirm.php");
        }
        else if($pageid == "16"){ include("admin/medit/admin_link.php");
        }
        else if($pageid == "17"){ include("admin/medit/link_edit_ok.php");
        }
        else if($pageid == "18"){ include("admin/medit/mlinkedit.php");
        }
                        else { include("content.php");
        }
      ?>


min showpicture.php ser sådan ud:
<?
if(isset($_GET['fid']))
{
    // connect to the database
    include "config.php";

    $fid = $_GET['fid'];
    $query = "SELECT * FROM files WHERE fid = '$fid'";
    $result  = mysql_query($query) or die(mysql_error());

    // define results into variables
    $type=mysql_result($result,0,"type");
    $content=mysql_result($result,0,"content");

    // give our picture the proper headers...otherwise our page will be confused
    header("Content-type: $type");
    echo $content;

    mysql_close();
}else{
    die("Kategori ikke angivet");
}
?>



Kan I se hvad jeg skal rette i, for at få det til at virke?
Avatar billede Frederik Nybegynder
13. januar 2008 - 18:39 #3
Jeg har fundet løsningen. de links der blev lavet så sådan her ud:
index.php?pageid=7?kategori=id

Det skulle ændres til:
index.php?pageid=7&kategori=id


- Frederik
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