Avatar billede oldnick Nybegynder
20. november 2006 - 16:39 Der er 5 kommentarer og
1 løsning

Include og while??

Hej

Jeg er igang med at lave en side, hvor jeg via db generer det antal "bokse" (floatins divs) som der skal være på siden.

Mit problem er at jeg kun for den første entry op, det er lige som mit while ikke virker. Men jeg tror det har noget at gøre med det include jeg bruger.

Jeg vil prøve at forklare mit setup:

Det er meningen at jeg skal kunne oprette x-antal bokse på siden og når jeg laver en bokse så bliver der lagt en php fil i mappen pages, og der bliver lavet en entry i tabel div i db.


Min kode:

<?php
require ("includes/db.inc.php");
$result = @mysql_query("SELECT * FROM div");
if(!$result) {
    exit('<p>Error preforming query:' . mysql_error() . '</p>');
}
while ($row = mysql_fetch_array($result)) {

echo '<div class="div1">
<div class="div1_top"></div>
<div class="div1_content">';
include 'pages/'.$row['div_name'].'.php';
echo '</div><div class="div1_buttom">';
include "pages/buttom.php";
echo '</div></div>';
}
?>

Det kan godt være jeg giber det helt forkert an, så hvis der er nogen som har en brede måde at gøre det på, så er jeg åben for indslag. Det skal bare holdes enkelt. :)
Avatar billede intenz Novice
20. november 2006 - 19:47 #1
Prøv i stedet for:
include 'pages/'.$row['div_name'].'.php';

at skriv:
$page = 'pages/'.$row['div_name'].'.php';
include("$page");

Ellers ser den fin ud
Avatar billede oldnick Nybegynder
21. november 2006 - 00:20 #2
hmm, den vil stadig kun vise en entry (den første).
Avatar billede oldnick Nybegynder
21. november 2006 - 00:26 #3
Fik det til at virker include skulle være uden for while. Tak for hjælpen.

Smid et svar hvis du vil have nogle point.

Her er den rigtige kode:

<?php
require ("includes/db.inc.php");
$result = @mysql_query("SELECT * FROM div");
if(!$result) {
    exit('<p>Error preforming query:' . mysql_error() . '</p>');
}
while ($row = mysql_fetch_array($result)) {
$page = 'pages/'.$row['div_name'].'.php';
}
include("$page");
?>
Avatar billede oldnick Nybegynder
21. november 2006 - 01:21 #4
Jeg tog fejl, jeg ved ikke lige hvorfor jeg kunne tage fejl (må være lidt træt), men den  viser nu kun den anden entry fra databasen.

Hvis jeg sætter include inde i while, viser den kun den første entry!

Hvad kan jeg gøre ander ledes??
Avatar billede oldnick Nybegynder
21. november 2006 - 02:51 #5
Jeg har rodet lidt med det og er kommet frem til det her:

Resultatet er at den viser den første entry men nummer to bliver til et 1 tal:

PHP:

<?php
require ("includes/db.inc.php");
$result = @mysql_query("SELECT * FROM div");
if(!$result) {
    exit('<p>Error preforming query:' . mysql_error() . '</p>');
}
while ($row = mysql_fetch_array($result)) {
$div_name    = $row['div_name'];
$page        = include ("pages/$div_name.php");
echo "$page";
}
?>

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="div1">
<div class="div1_content">Indhold</div>
</div>1</body>
</html>
Avatar billede oldnick Nybegynder
21. november 2006 - 15:58 #6
Jeg lukker op om formulere mit spg. da der ikke har været nogen løsning.
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