Avatar billede madiedk Nybegynder
02. februar 2007 - 15:33 Der er 16 kommentarer og
1 løsning

include i php fil

Hej

jeg har en index.shtml en menu.htm og en viewgallery.php

i index skriver jeg:

<div id="menu">
<!--#include file="menu.htm"-->
</div>


og det virker fint, men jeg skal også have menuen i viewgallery.php hvordan får jeg det for der kan jeg ikke bare skrive

<!--#include file="menu.htm"-->

hvor løser jeg det?


jeg går ud fra det er en af de "gode" løsninger til at lave en menu der altid er ude til højre på en side?
Avatar billede hmortensen Nybegynder
02. februar 2007 - 15:36 #1
PHP include:
<div id="menu">
<?php include "menu.htm"; ?>
</div>
Avatar billede madiedk Nybegynder
02. februar 2007 - 15:40 #2
smider lige min viewgallery ind, har nemlig prøvet det også, men kan godt være jeg smider den det forkerte sted, html delen er nederest i filen:







<?php
    include("config.inc.php");

    // initialization
    $result_array = array();
    $counter = 0;

    $cid = (int)($_GET['cid']);
    $pid = (int)($_GET['pid']);

    // Category Listing

    if( empty($cid) && empty($pid) )
    {
        $number_of_categories_in_row = 4;

        $result = mysql_query( "SELECT c.category_id,c.category_name,COUNT(photo_id)
                        FROM gallery_category as c
                        LEFT JOIN gallery_photos as p ON p.photo_category = c.category_id
                        GROUP BY c.category_id" );
        while( $row = mysql_fetch_array( $result ) )
        {
            $result_array[] = "<a href='viewgallery.php?cid=".$row[0]."'>".$row[1]."</a> "."(".$row[2].")";
        }
        mysql_free_result( $result );

        $result_final = "<tr>\n";

        foreach($result_array as $category_link)
        {
            if($counter == $number_of_categories_in_row)
            {
                $counter = 1;
                $result_final .= "\n</tr>\n<tr>\n";
            }
            else
            $counter++;

            $result_final .= "\t<td>".$category_link."</td>\n";
        }

        if($counter)
        {
            if($number_of_categories_in_row-$counter)
            $result_final .= "\t<td colspan='".($number_of_categories_in_row-$counter)."'>&nbsp;</td>\n";

            $result_final .= "</tr>";
        }
    }


    // Thumbnail Listing

    else if( $cid && empty( $pid ) )
    {
        $number_of_thumbs_in_row = 5;

        $result = mysql_query( "SELECT photo_id,photo_caption,photo_filename FROM gallery_photos WHERE photo_category='".addslashes($cid)."'" );
        $nr = mysql_num_rows( $result );

        if( empty( $nr ) )
        {
            $result_final = "\t<tr><td>No Category found</td></tr>\n";
        }
        else
        {
            while( $row = mysql_fetch_array( $result ) )
            {
                $result_array[] = "<a href='viewgallery.php?cid=$cid&pid=".$row[0]."'><img src='".$images_dir."/tb_".$row[2]."' border='0' alt='".$row[1]."' /></a>";
            }
            mysql_free_result( $result );

            $result_final = "<tr>\n";

            foreach($result_array as $thumbnail_link)
            {
                if($counter == $number_of_thumbs_in_row)
                {
                    $counter = 1;
                    $result_final .= "\n</tr>\n<tr>\n";
                }
                else
                $counter++;

                $result_final .= "\t<td>".$thumbnail_link."</td>\n";
            }

            if($counter)
            {
                if($number_of_photos_in_row-$counter)
            $result_final .= "\t<td colspan='".($number_of_photos_in_row-$counter)."'>&nbsp;</td>\n";

                $result_final .= "</tr>";
            }
        }
    }

    // Full Size View of Photo
    else if( $pid )
    {
        $result = mysql_query( "SELECT photo_caption,photo_filename FROM gallery_photos WHERE photo_id='".addslashes($pid)."'" );
        list($photo_caption, $photo_filename) = mysql_fetch_array( $result );
        $nr = mysql_num_rows( $result );
        mysql_free_result( $result );

        if( empty( $nr ) )
        {
            $result_final = "\t<tr><td>No Photo found</td></tr>\n";
        }
        else
        {
            $result = mysql_query( "SELECT category_name FROM gallery_category WHERE category_id='".addslashes($cid)."'" );
            list($category_name) = mysql_fetch_array( $result );
            mysql_free_result( $result );

            $result_final .= "<tr>\n\t<td>
                        <a href='viewgallery.php'>Categories</a> &gt;
                        <a href='viewgallery.php?cid=$cid'>$category_name</a></td>\n</tr>\n";

            $result_final .= "<tr>\n\t<td align='center'>
                    <br />
                    <img src='".$images_dir."/".$photo_filename."' border='0' alt='".$photo_caption."' />
                    <br />
                    $photo_caption
                    </td>
                    </tr>";
        }
    }

// Final Output
echo <<<__HTML_END

<html>
<head>
    <title>Gallery View</title>
    <link rel="stylesheet" type="text/css" href="style/style.css">
</head>
<body>
<div id="menu">
<?php include "menu.htm"; ?>
</div>
<table width='100%' border='0' align='center' style='width: 100%;'>
$result_final
</table>
</body>
</html>

__HTML_END;
?>
Avatar billede sw_red_6 Nybegynder
02. februar 2007 - 15:58 #3
Har du prøvet der her i stedet for?
// Final Output
?>

<html>
<head>
    <title>Gallery View</title>
    <link rel="stylesheet" type="text/css" href="style/style.css">
</head>
<body>
<div id="menu">
<?php include "menu.htm"; ?>
</div>
<table width='100%' border='0' align='center' style='width: 100%;'>
<?php echo $result_final; ?>
</table>
</body>
</html>
Avatar billede madiedk Nybegynder
02. februar 2007 - 16:30 #4
virker stadig ikke
Avatar billede sw_red_6 Nybegynder
02. februar 2007 - 16:39 #5
ligger menu.htm i den samme mappe som php-filen?
Avatar billede sw_red_6 Nybegynder
02. februar 2007 - 16:40 #6
får du nogen fejlbeskeder?
Avatar billede madiedk Nybegynder
02. februar 2007 - 16:54 #7
nej der kommer bare intet nyt på siden. men er det den rigtige måde jeg bruger til at bygge en menu på. med "include" for er include ikke også hvis man vil nedarve fra en anden phpfil for at bruge dens funktioner. jeg vil jo bare lave en menu ude til venstre man kan klikke på og så kommer indholdet til højre. kan det være min apache server jeg skal sætte anderledes op?
Avatar billede madiedk Nybegynder
02. februar 2007 - 16:54 #8
ja alt ligger i samme mappe
Avatar billede madiedk Nybegynder
02. februar 2007 - 17:13 #9
når jeg nu skriver <?php include "menu.htm"; ?>
kan man overhoved det eller skal filen ikke være en phpfil og ikke htm?
Avatar billede dcheng Novice
02. februar 2007 - 17:44 #10
<?php include "menu.htm"; ?>

Du kan godt gøre således og indholdet i den vil samtidigt betragtes som PHP data hvis der er <? ?>
Avatar billede dcheng Novice
02. februar 2007 - 17:50 #11
Jeg mener det eksempel sw_red_6 kommer med SKAL virke hvis filen ligger i samme mappe som den fil som bliver loadet (HVIS IN FIL ER INCLUDED INDE I EN FIL) så skal man antage at include i den included fil er i samme sti som den som bliver loadet.

Hvis du ikke får fejl kan det være serveren har sat den til at fjerne demprøv at skrive i starten af din fil, evt uden <? ?> hvis de allerede er der
<?
ini_set('display_errors', 1);
?>
Avatar billede madiedk Nybegynder
02. februar 2007 - 17:58 #12
jeg har fået det til at virke, dog med et problem, nemlig at jeg ikke kan lave
<div id="menu">
<?php include "menu.htm"; ?>
</div>

sådan som jeg har stillet det op nu, nok bare mig der overser noget, include menu er øverst, men der er jeg jo i "php-mode" og <div> skal skrives i "html-mode" hvordan løser jeg det

her er kildekoden:









<?php
    include("config.inc.php");
include("menu.php");


    // initialization
    $result_array = array();
    $counter = 0;

    $cid = (int)($_GET['cid']);
    $pid = (int)($_GET['pid']);

    // Category Listing

    if( empty($cid) && empty($pid) )
    {
        $number_of_categories_in_row = 4;

        $result = mysql_query( "SELECT c.category_id,c.category_name,COUNT(photo_id)
                        FROM gallery_category as c
                        LEFT JOIN gallery_photos as p ON p.photo_category = c.category_id
                        GROUP BY c.category_id" );
        while( $row = mysql_fetch_array( $result ) )
        {
            $result_array[] = "<a href='viewgallery.php?cid=".$row[0]."'>".$row[1]."</a> "."(".$row[2].")";
        }
        mysql_free_result( $result );

        $result_final = "<tr>\n";

        foreach($result_array as $category_link)
        {
            if($counter == $number_of_categories_in_row)
            {
                $counter = 1;
                $result_final .= "\n</tr>\n<tr>\n";
            }
            else
            $counter++;

            $result_final .= "\t<td>".$category_link."</td>\n";
        }

        if($counter)
        {
            if($number_of_categories_in_row-$counter)
            $result_final .= "\t<td colspan='".($number_of_categories_in_row-$counter)."'>&nbsp;</td>\n";

            $result_final .= "</tr>";
        }
    }


    // Thumbnail Listing

    else if( $cid && empty( $pid ) )
    {
        $number_of_thumbs_in_row = 5;

        $result = mysql_query( "SELECT photo_id,photo_caption,photo_filename FROM gallery_photos WHERE photo_category='".addslashes($cid)."'" );
        $nr = mysql_num_rows( $result );

        if( empty( $nr ) )
        {
            $result_final = "\t<tr><td>No Category found</td></tr>\n";
        }
        else
        {
            while( $row = mysql_fetch_array( $result ) )
            {
                $result_array[] = "<a href='viewgallery.php?cid=$cid&pid=".$row[0]."'><img src='".$images_dir."/tb_".$row[2]."' border='0' alt='".$row[1]."' /></a>";
            }
            mysql_free_result( $result );

            $result_final = "<tr>\n";

            foreach($result_array as $thumbnail_link)
            {
                if($counter == $number_of_thumbs_in_row)
                {
                    $counter = 1;
                    $result_final .= "\n</tr>\n<tr>\n";
                }
                else
                $counter++;

                $result_final .= "\t<td>".$thumbnail_link."</td>\n";
            }

            if($counter)
            {
                if($number_of_photos_in_row-$counter)
            $result_final .= "\t<td colspan='".($number_of_photos_in_row-$counter)."'>&nbsp;</td>\n";

                $result_final .= "</tr>";
            }
        }
    }

    // Full Size View of Photo
    else if( $pid )
    {
        $result = mysql_query( "SELECT photo_caption,photo_filename FROM gallery_photos WHERE photo_id='".addslashes($pid)."'" );
        list($photo_caption, $photo_filename) = mysql_fetch_array( $result );
        $nr = mysql_num_rows( $result );
        mysql_free_result( $result );

        if( empty( $nr ) )
        {
            $result_final = "\t<tr><td>No Photo found</td></tr>\n";
        }
        else
        {
            $result = mysql_query( "SELECT category_name FROM gallery_category WHERE category_id='".addslashes($cid)."'" );
            list($category_name) = mysql_fetch_array( $result );
            mysql_free_result( $result );

            $result_final .= "<tr>\n\t<td>
                        <a href='viewgallery.php'>Categories</a> &gt;
                        <a href='viewgallery.php?cid=$cid'>$category_name</a></td>\n</tr>\n";

            $result_final .= "<tr>\n\t<td align='center'>
                    <br />
                    <img src='".$images_dir."/".$photo_filename."' border='0' alt='".$photo_caption."' />
                    <br />
                    $photo_caption
                    </td>
                    </tr>";
        }
    }

// Final Output
echo <<<__HTML_END

<html>
<head>
    <title>Gallery View</title>
    <link rel="stylesheet" type="text/css" href="style/style.css">
</head>
<body>

hej dig
<table width='100%' border='0' align='center' style='width: 100%;'>
$result_final
</table>
</body>
</html>

__HTML_END;
?>
Avatar billede madiedk Nybegynder
02. februar 2007 - 18:06 #13
lavede selv en løsning der ser lidt sjusket ud andre forslag



<HTML>

<?php
    include("config.inc.php");
?>
<HTML>
<div id="menu">
    <?include("menu.php");?>
</div>
</HTML>
<?
Avatar billede dcheng Novice
02. februar 2007 - 20:57 #14
----citat----
sådan som jeg har stillet det op nu, nok bare mig der overser noget, include menu er øverst, men der er jeg jo i "php-mode" og <div> skal skrives i "html-mode" hvordan løser jeg det
-------------

----eksempel.php----
1  <HTML>
2
3  <?php
4    include("config.inc.php");
5  ?>
6  <HTML>
7  <div id="menu">
8    <?include("menu.php");?>
9  </div>
10 </HTML>
--------------------

1-2  fortolkes som html
3-5  fortolkes som php
6-7  fortolkes som html
8    fortolkes som php
9-10 fortolkes som html


Måske det afklarer din forståelse for hvordan det fungerer?
Jeg har en mistanke om du ved næsten nada om php?



Måske løsningen du leder efter her:
--------------------
<?php
    include("config.inc.php");
    echo "<div id=\"menu\">";
    include("menu.php");
    echo "</div>";

    // initialization
    $result_array = array();
    $counter = 0;

    $cid = (int)($_GET['cid']);
    $pid = (int)($_GET['pid']);
/// OSV.
--------------------
Avatar billede dcheng Novice
02. februar 2007 - 20:58 #15
Hvis det ikke er noget du bruger så tror jeg at jeg har totalt misforstået dig..
Avatar billede madiedk Nybegynder
05. februar 2007 - 20:32 #16
det var lige præcis det jeg skulle bruge, det virker nu, svar så der point
Avatar billede dcheng Novice
05. februar 2007 - 21:55 #17
hermed svar :)
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