SoulGodMedlem sedan aug. 20051 200 inlägg Jag har en funktion för att visa submenyer på min hemsida,
som ser ut såhär:
function visaSub($sid) {
$query_menu = "SELECT * FROM submenu WHERE sid=$sid";
$rows = mysql_query($query_menu);
while ($row = mysql_fetch_array($rows)) {
$menu_name = $row["namn"];
printf("- <a href='$row[lank]&id=$sid'>$menu_name</a><br>");
}
}
Dock när man går in på sidan första gången, så är $sid inte satt.
Kan jag fördefiniera det, så att om $sid inte är satt ( sid alltså är tom ),
så sätts den automatiskt till 6?
SPiNMedlem sedan mars 20007 896 inlägg function visaSub($sid = 6) {
...
SoulGodMedlem sedan aug. 20051 200 inlägg Tror inte jag förstår dig, eller så missförstod du mig.
När användaren kommer in på sidan, så är ju länken http://www.doman.se/index.php ,
och då felar min function, eftersom $sid inte är satt till något.
Så jag "tror" att det jag söker är något typ..
if $sid = '' Then $sid = '6' ..
Eller så är jag helt korkad och inte förstår vad du menade.. :P
nidronMedlem sedan jan. 2005257 inlägg isset($_GET['sid']) kanske du är ute efter? :)
SoulGodMedlem sedan aug. 20051 200 inlägg Där satt den ;)
Lösningen blev:
if (!isSet($_GET['sid']) || $_GET['sid'] == '') { $_GET['sid'] = '6'; }
SPiNMedlem sedan mars 20007 896 inlägg Vad är $sid? Var kommer den ifrån? Du vill ändå köra funktionen 'visaSub()', fast med värdet 6 på argumentet $sid? Har du testat mitt förslag? Det kallas för "default parameter", när man sätter värdet på variablerna i argumentlistan. På så sätt har du alltid ett värde på $sid, även om funktionen anropas utan parameter.
Alternativ lösning, om jag antar att du får $sid från addressfältet:
$sid = 6;
if (isset ($_GET['sid']) && intval ($_GET['sid']) > 0) {
$sid = intval ($_GET['sid']);
}
visaSub ($sid);