Includer samme fil flere gange

Tags:    php

Hvorfor includer denne kode den samme fil selvom løkken bliver kørt igennem flere gange?

Koden:

<?php
foreach (glob("../templates/*") as $filename) {
include($filename. "/template.php");
$q1 = mysql_query("select * from nickcms_opsaetning");
$template = mysql_fetch_array($q1);
print "templates/" .$template_dirname. "/index.php";
?>
<table width="351" border="0" align="center">
<tr>
<td width="75" bgcolor="#336699"><strong>Aktiv:</strong></td>
<td width="266" bgcolor="#336699"><strong>Navn:</strong> <?php print $template_name ?></td>
</tr>
<tr>
<td valign="top" bgcolor="#0066CC">
<?php if($template['Template'] == "templates/" .$template_dirname. "/index.php"){ ?>
on
<?php }else{ ?>
off
<?php } ?></td>
<td valign="top" bgcolor="#0066CC"><strong>Beskrivelse:</strong><br> <?php print $template_description ?></td>
</tr>
</table>
<?php
}
?>

Mvh.
Nicolaj Wyke - NickWyke.dk



5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Prøv som debugging at ændre include til echo, og se hvad den skriver.



Hvorfor includer denne kode den samme fil selvom løkken bliver kørt igennem flere gange?

Koden:

<?php
foreach (glob("../templates/*") as $filename) {
include($filename. "/template.php");
$q1 = mysql_query("select * from nickcms_opsaetning");
$template = mysql_fetch_array($q1);
print "templates/" .$template_dirname. "/index.php";
?>
<table width="351" border="0" align="center">
<tr>
<td width="75" bgcolor="#336699"><strong>Aktiv:</strong></td>
<td width="266" bgcolor="#336699"><strong>Navn:</strong> <?php print $template_name ?></td>
</tr>
<tr>
<td valign="top" bgcolor="#0066CC">
<?php if($template['Template'] == "templates/" .$template_dirname. "/index.php"){ ?>
on
<?php }else{ ?>
off
<?php } ?></td>
<td valign="top" bgcolor="#0066CC"><strong>Beskrivelse:</strong> <?php print $template_description ?></td>
</tr>
</table>
<?php
}
?>

Mvh.
Nicolaj Wyke - NickWyke.dk

Jeg tror ikke helt jeg forstår? include står jo inde i løkken, og derfor burde den da også blive inkluderet flere gange?

Hilsen Mathias



Hvorfor includer denne kode den samme fil selvom løkken bliver kørt igennem flere gange?

Koden:

<?php
foreach (glob("../templates/*") as $filename) {
include($filename. "/template.php");
$q1 = mysql_query("select * from nickcms_opsaetning");
$template = mysql_fetch_array($q1);
print "templates/" .$template_dirname. "/index.php";
?>
<table width="351" border="0" align="center">
<tr>
<td width="75" bgcolor="#336699"><strong>Aktiv:</strong></td>
<td width="266" bgcolor="#336699"><strong>Navn:</strong> <?php print $template_name ?></td>
</tr>
<tr>
<td valign="top" bgcolor="#0066CC">
<?php if($template['Template'] == "templates/" .$template_dirname. "/index.php"){ ?>
on
<?php }else{ ?>
off
<?php } ?></td>
<td valign="top" bgcolor="#0066CC"><strong>Beskrivelse:</strong> <?php print $template_description ?></td>
</tr>
</table>
<?php
}
?>

Mvh.
Nicolaj Wyke - NickWyke.dk

Jeg tror ikke helt jeg forstår? include står jo inde i løkken, og derfor burde den da også blive inkluderet flere gange?

Hilsen Mathias


Ja, det ville jeg også mene, men det gør den bare ikke :(

Jeg har aldrig brugt foreach løkker før, så jeg ved ikke om det kan være det der er problemet...

Mvh.
Nicolaj Wyke - NickWyke.dk



Prøv som debugging at ændre include til echo, og se hvad den skriver.


Ja... Der var en lille fejl...
Men nu skriver den kun "off" i tabellen under "Aktiv" kolonnen...

Mvh.
Nicolaj Wyke - NickWyke.dk



Argh...
$template_dirname har samme værdi, og så kan jeg jo ikke sammenligne det med værdien fra databasen...

Jeg snakker vidst ikk helt dansk i dag, men læg et svar mathias, så i kan få pointene ;-)

Mvh.
Nicolaj Wyke - NickWyke.dk



t