Avatar billede sowhaat Nybegynder
23. januar 2012 - 18:14 Der er 2 kommentarer

Menu fra database

hej!

Jeg er ved at tage en ganske almindelig menu ud fra min database(php myadmin).

Min php siger at der ikke er nogle fejl, men menuen vises ikke på min hjemmeside.

Min database hedder johannea - min tabel hedder menu..
og derinde er der id og punkter.

Min forbindelse til databasen under config ser således ud:


<?php
$strtitle ="johannea";



$db = mysqli_connect('localhost','root','','johannea'); 

if(!$db){
    echo "fejl i forbindelse";
    }
   
    mysqli_query($db, "SET NAMES UTF8");

?>


Jeg har lavet en function i min index som ser således ud
<div id="mainboks">
<? menu($db); ?>
</div>


og til sidst lavet en menu function inde i function, som der sådan her ud:

<?php

function menu($db){

$sql = "select punkter, id from menu";
$sqlQuery = mysqli_query($db, $sql) or die(mysqli_error($db));
$intquery = mysqli_num_rows($sqlQuery);
if($intquery == true){
   
    while($dbfetch = mysqli_fetch_array($sqlQuery)){
    echo "<a href='".$_SERVER['PHP_SELF']."?id=".$dbfetch['id']."'>".$dbfetch['punkter']." </a>  ";                                     
    }
    search($db);
   
}
}


Hvorfor dukker det ikke op på min side?:)



?>
Avatar billede olsensweb.dk Ekspert
23. januar 2012 - 19:39 #1
er du opmærksom på at alle functions kald skal forgå opefter, dvs functionen skla værer erklæret/læst før den kan anvendes.

<? menu($db); ?>  skal rettes til <?php menu($db); ?>  short_open_tag er ikke enablet pr default php.net/short_open_tag

mysqli_query($db, "SET NAMES UTF8");  bør erstattes med mysqli_set_charset($db, "utf8"); http://dk.php.net/manual/en/function.mysqli-set-charset.php

har du slået error_reporting til php.net/manual/en/function.error-reporting.php ??
sæt dette ind først i din fil error_reporting(E_ALL);


rettet udgave (utested)

<?php
//Report all errors
error_reporting(E_ALL);

function menu($db){
    $sql = "select punkter, id from menu";
    $sqlQuery = mysqli_query($db, $sql) or die(mysqli_error($db));
    $intquery = mysqli_num_rows($sqlQuery);
    if($intquery == true){ 
        while($dbfetch = mysqli_fetch_array($sqlQuery)){
            echo "<a href='".$_SERVER['PHP_SELF']."?id=".$dbfetch['id']."'>".$dbfetch['punkter']." </a>  ";                                   
        }
        search($db);
    }
}

$db = mysqli_connect('localhost','root','','johannea');
if(!$db){
    echo "fejl i forbindelse";
}
mysqli_set_charset($db, "utf8");
?>

<div id="mainboks">
<?php menu($db); ?>
</div>
Avatar billede sowhaat Nybegynder
23. januar 2012 - 20:06 #2
Tusind tak!
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