19. september 2006 - 20:47
Der er
19 kommentarer og 1 løsning
switch case?
Hvorfor virker dette ikke: <?php switch($_GET['side']) { case $row_rs_Side['sidenavn']: include( $row_rs_Side['sideurl']); break; } ?> Er der nogen der kan hjælpe?
Annonceindlæg fra Novataris
Vejen til devops med Bavarian Nordic
Bavarian Nordics vækst blev starten på et DevOps-samarbejde med Novataris for hurtigt at kunne tilpasse IT-organisation til forretningen.
7. december 2023
19. september 2006 - 21:00
#1
Fordi det der kommer efter en case sandsynligvis skal være en konstant ... altså ikke noget variabelt. Men hvorfor gør du ikke bare sådan her? if ($_GET['side'] == $row_rs_Side['sidenavn']) include($row_rs_Side['sideurl']);
19. september 2006 - 21:13
#2
Jeg kan ikke få dit eksempel til at virke - går jeg noget forkert ved min menu? <?php echo "<a href=?side=".$row_rs_Side['sidenavn']; echo " class=\"menusub\">"; echo $row_rs_Side['menunavn']; echo "</a><br>"; ?>
19. september 2006 - 21:20
#3
Kan godt få dette til at virke if ($_GET['side'] == "forside") include("forside.php"); Men ikke med database-henvisninger?
19. september 2006 - 21:21
#4
Min kode gør det som du forsøgte med din switch-case. For at jeg kan forstå hvad det er du forsøger at lave, bliver du nok nødt til at give noget mere forklaring samt noget mere kode.
19. september 2006 - 22:58
#5
En case kan godt være variabel... Lad os lige se hele din kode; du må gøre et eller andet forkert ;)
19. september 2006 - 22:58
#6
Og som nielle skriver, må du godt forklare hvad du vil opnå ;)
20. september 2006 - 08:01
#7
Der er egentlig ikke så meget at forklare og jeg har postet alt kode p.t. - Når man vælger et menupunkt skal en side includeres på index-siden: Menuen: <?php echo "<a href=?side=".$row_rs_Side['sidenavn']; echo " class=\"menusub\">"; echo $row_rs_Side['menunavn']; echo "</a><br>"; ?> Include: <?php switch($_GET['side']) { case $row_rs_Side['sidenavn']: include( $row_rs_Side['sideurl']); break; default: include("forside.php"); break; } ?> jeg plejer at gøre sådan og det virker fint - dog har jeg ikke prøvet med database-poster.
20. september 2006 - 12:05
#8
Hvor kommer $row_rs_Side['sidenavn'], $row_rs_Side['menunavn'] og $row_rs_Side['sideurl'] fra? Der er ingen databasekald ;P
20. september 2006 - 13:25
#9
Jo selvfølgelig er der det - troede det var en selvfølge ;o) Start: <?php require_once('Connections/test.php'); ?> <?php mysql_select_db($database_test, $test); $query_rs_Side = "SELECT * FROM sideindhold"; $rs_Side = mysql_query($query_rs_Side, $test) or die(mysql_error()); $row_rs_Side = mysql_fetch_assoc($rs_Side); $totalRows_rs_Side = mysql_num_rows($rs_Side); ?> Til slut: <?php mysql_free_result($rs_Side); ?>
20. september 2006 - 13:27
#10
Men der plejer ikke at være problemer med det - tror bestemt det er includen der er noget galt med??
20. september 2006 - 13:32
#11
Prøv lige at lave en var_dump( $row_rs_Side );
20. september 2006 - 13:51
#12
Hvor skal den sættes ind?
20. september 2006 - 13:58
#13
Har den erstattet include med var_dump( $row_rs_Side ); Skriver bool(false) ud ??
20. september 2006 - 14:23
#14
Hvis jeg derimod skriver det oppe i menuen får jeg alt frem <?php echo "<a href=?side=".$row_rs_Side['sidenavn']; echo " class=\"menusub\">"; echo $row_rs_Side['menunavn']; echo "</a><br>"; var_dump( $row_rs_Side ); ?> længere nede....under en anden <td> og <table> ligger så nclude: <?php switch($_GET['side']) { case $row_rs_Side['sidenavn']: include( $row_rs_Side['sideurl']); break; default: include("forside.php"); break; } ?> Måske er der problemer fordi jeg har det i 2 adskilte php-sektioner?
20. september 2006 - 15:02
#15
Ok jeg har vist ikke postet al koden - troede ikke det havde nogen indflydelse: <?php do { ?> <td> <?php echo "<a href=?side=".$row_rs_Side['sidenavn']; echo " class=\"menusub\">"; echo $row_rs_Side['menunavn']; echo "</a><br>"; ?> </td> <td class="normaltxt"> | </td> <?php } while ($row_rs_Side = mysql_fetch_assoc($rs_Side)); ?> Da jeg fjernede do while - blev den første side includet - men menu bliver så ikke gentaget - hvordan kan jeg gøre det?
20. september 2006 - 15:11
#16
<?php while ($row_rs_Side = mysql_fetch_assoc($rs_Side)) { ?> <td> <?php echo "<a href=?side=".$row_rs_Side['sidenavn']; echo " class=\"menusub\">"; echo $row_rs_Side['menunavn']; echo "</a><br>"; ?> </td> <td class="normaltxt"> | </td> <?php } ?>
20. september 2006 - 15:19
#17
Du bruger ikke frames eller sådan noget? Siden $row_rs_Side ikke er sat? Hvordan hænger dine filer og sider præcist sammen?
20. september 2006 - 15:36
#18
Jeg bruger ikke frames - Hvis jeg skriver sådan virker det fint - så bliver siden inkluderet lige under menupunktet i samme td...jeg forstår det ikke rigtigt. <?php do { ?> <td> <?php echo "<a href=?side=".$row_rs_Side['sidenavn']; echo " class=\"menusub\">"; echo $row_rs_Side['menunavn']; echo "</a><br>"; if ($_GET['side'] == $row_rs_Side['sidenavn']) include ($row_rs_Side['sideurl']);?> </td> <td class="normaltxt"> | </td> <?php } while ($row_rs_Side = mysql_fetch_assoc($rs_Side)); ?>
20. september 2006 - 16:29
#19
Jeg har endelig fået det til at virke - satte en ekstra connection ind med flg. rettelse $query_rs_Side = "SELECT * FROM sideindhold WHERE sidenavn = '".$_GET['side']."';" ; og det hjalp en hel del. Hvis du smider et svar siger jeg mange tak for tålmodigheden :o)
20. september 2006 - 17:01
#20
heheh ok :-D
Vi tilbyder markedets bedste kurser inden for webudvikling