webForumDet fria alternativet
Logga in / Bli medlem

Conditionals

PHP

2 svar · 257 visningar · startad av slow

Medlem sedan apr. 2004148 inlägg
Trådstart#1

Kan någon se ifall det är något fel på min IF statements?
Denna lilla kod skall se ifall den ska hämta en nyhet från en speciell kategori eller från vilken kategori som helst. Det fungerar när jag väljer en kategori men när jag väljer Alla, alltså att den ska hämta från vilken kategori som helst så visar den bara tomt. Inga felmeddelanden eller liknande. Ser någon något fel?
Kan man ha en if inom en if?

MVH Patrik

///////////////////////////////////////////////////////////////
////////////////////// Senaste (hela) /////////////////////////
///////////////////////////////////////////////////////////////
if($page[funktiontop]=="Senaste (hela)") {
include "../config.php";
if($page[kattop]!="Alla"){
$kattoppen = $page[kattop];
mysql_select_db($database_piteguid, $piteguid);
$query_senaste_nyheten = "SELECT * FROM ". $stadsmapp_riksguiden ."_pages WHERE status = 'page' AND kategori_n = '" .$kattoppen. "' AND pub = 1 AND startDate <= (CURRENT_DATE) ORDER BY id DESC LIMIT 1";
$senaste_nyheten = mysql_query($query_senaste_nyheten, $piteguid) or die(mysql_error());
$row_senaste_nyheten = mysql_fetch_assoc($senaste_nyheten);
$totalRows_senaste_nyheten = mysql_num_rows($senaste_nyheten); 
} 
else if($page[kattop]=="Alla"){
mysql_select_db($database_piteguid, $piteguid);
$query_senaste_nyheten = "SELECT * FROM ". $stadsmapp_riksguiden ."_pages WHERE status = 'page' AND pub = 1 AND startDate <= (CURRENT_DATE) ORDER BY id DESC LIMIT 1";
$senaste_nyheten = mysql_query($query_senaste_nyheten, $piteguid) or die(mysql_error());
$row_senaste_nyheten = mysql_fetch_assoc($senaste_nyheten);
$totalRows_senaste_nyheten = mysql_num_rows($senaste_nyheten);
}
echo "<p><strong>"; 
echo $row_senaste_nyheten['title'];
echo "</strong><br>";
echo $row_senaste_nyheten['content'];
echo "</p>"; 
// om kommentera visa detta
if ($row_senaste_nyheten[commentary] == "on") {
echo "<p><a href='index.php?id=" .$row_senaste_nyheten['id']."&forumAction=addComment'>Kommentera nyheten</a></p>";
}
mysql_free_result($senaste_nyheten);
}
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
Medlem sedan juni 20006 031 inlägg
#2

1. Ja, du kan ha if-satser inuti andra if-satser.

2. Det verkar inte som att den går in i din else if-sats. Alltså verkar inte $page['kattop'] ha värdet 'Alla'.
Testa att skriva ut $page['kattop'] för att se vad den har för värde eller ändra else if till enbart else.

red/ du kan ju även lägga till or die(mysql_error()) till din sql-sats för att se om du får något felmeddelande och skriva ut sqlfrågan för att se om du ser några fel i den.

Medlem sedan apr. 2004148 inlägg
#3

Tack! Jag hade fel value under Alla...klantigt :) Men tack för hjälpen!!

258 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)