Gå til innhold

Meny problem (while løkke)


Anbefalte innlegg

Hei jeg har et merkelig problem. Jeg har laget mitt eget system etter å ha tatt idéer fra mange andre. Det har fungert utmerket på den siden jeg har hatt hittil og på localhost. I disse dager holder jeg på å oppgraderer designet mitt og tenkte det skulle være peace of cake å implementere det systemet jeg allerede har. Der viser det seg at jeg tok grundig feil. Og jeg vet heller ikke hvor feilen er siden jeg ikke får genrert noen feilmelding.

 

Det som er merkelig er at det fungerer utmerket den dag i dag også på localhost men det vil ikke fungere online. Det gjelder "bla" menyen i arkivet mitt som ikke fungerer som den skal. Eller dvs si menyen fungerer men ikke resten.

 

Slik ser skriptet ut pr. dags dato.

 

Klikk for å se/fjerne innholdet nedenfor

<?php
// Henter inn funksjonene våre 
require ($_SERVER["DOCUMENT_ROOT"] ."/inkluderte_filer/funksjoner.inc.php");

// Kobler oss til MySQL databasen med den funksjonen vi har laget i filen ovenfor. 
$tilkobling = kobleTil($database);

//Henter inn hodet av siden som er lik for alle websidene. 
require ($_SERVER["DOCUMENT_ROOT"] ."/inkluderte_filer/header.inc.php");

//Henter inn menyen til venstre som også er lik for alle sidene. 
require ($_SERVER["DOCUMENT_ROOT"] ."/inkluderte_filer/menyer.inc.php");

//Lager en overskrift for bloggen. Er egentlig ikke nødvending å ha med men den er nå der. 
echo '<h2 id="arkivHeader">Arkiv</h2>';


// Setter en nummerisk tall i en variabel altså 1. Hentes fra bloggen. 

$sidenummer = (isset($_GET["side"]) and is_numeric($_GET["side"])) ? $_GET["side"] : 1;


// Antall nyheter pr side

$antallprSide = 2;

//Antall linker i menyen for sidevisning

$antallLinker = 4;

//Lager begynnelsen av menyen som er det mattematiske uttrykket under. 
$startIndeks = ($sidenummer * $antallprSide) - $antallprSide;

// Finne antall nyheter registrert i databasen
$sql = "SELECT COUNT(*) as 'Total' From blogg";

// Kjører en tilkobling til mysql datbasen. 
$resultat = mysql_query($sql, $tilkobling) or die (mysql_error());
$rader = mysql_fetch_object($resultat);


//Vise antall sider som finnes i arkivet

echo "<div id='meny_fremviser'>";

$antallSider = ceil($rader->Total / $antallprSide);

// Lage linken som flytter deg til første side...

echo "<a href=\"arkiv.php?side=1\">FØRSTE</a> ";

// Hvis vår valgte side - anttalprSide er mer en 1 

if(($sidenummer - $antallprSide) > 1) {

 echo "... ";

 $lowerLimit = $sidenummer - $antallprSide;
 
 	for($i = $lowerLimit; $i < $sidenummer; $i++) {
 	
   echo "<a href=\"arkiv.php?side=".$i."\">".$i."</a> ";
 	
 	}
 	
} 
else {
 	for ($i = 2; $i < $sidenummer; $i++) {
 	
 	echo "<a href=\"arkiv.php?side=".$i."\">".$i."</a> ";
 	
 	
 	}
 	
}  

// Hvis vi ikke er på første eller siste side. 

if(($sidenummer !=0) && ($sidenummer !=1) && ($sidenummer != $antallSider)) {

// Her kan man formatere tallet som viser hvilken side man er på . 
echo "<strong> - " .$sidenummer. " - </strong>";

}


// Hvis vår valgte side + totalantall sider er  mindre enn antall sider. 
if(($sidenummer + $antallLinker) < $antallSider)  {

 $upperLimit = $sidenummer + $antallLinker;

 	for($i = ($sidenummer + 1); $i <= $upperLimit; $i++) {
   echo "<a href=\"arkiv.php?side=".$i."\">".$i."</a> ";
 	}
 echo "... ";
} else {
 for ($i = ($sidenummer + 1); $i < $antallSider; $i++) {
   echo "<a href=\"arkiv.php?side=".$i."\">".$i."</a> ";

 }
}


// Lage linken som flytter deg til siste side
echo "<a href=\"arkiv.php?side=".$antallSider. "\">SISTE</a>";

echo "</div>";


 
// Hente frem sideantall 
 $sql = "SELECT DATE_FORMAT(dato_publisert, '%d.%M %y') as dato_formatert, bloggid, tittel, ingress, bloggnyhet, url_info,                nytt_vindu, bildenavn, dato_lagtinn, dato_utgaar
   FROM blogg 
 	WHERE dato_publisert <= now() 
 	AND ( dato_utgaar >= now() OR dato_utgaar = '0000-00-00' ) 
 	ORDER BY dato_publisert DESC, bloggid DESC
 	LIMIT $startIndeks, $antallprSide";

// Kobling for hente frem radene fra tabellen  	
$resultat = mysql_query($sql, $tilkobling) or die (mysql_error());

echo mysql_error();

// Har vi noen rader i denne tabellen?

if (mysql_num_rows($resultat) > 0) {

// Vise blogg resultatene

while ($rad = mysql_fetch_object($resultat)) {

//############################################  HVA SKAL PRINTES UT PÅ SIDEN ####################################

$maned = $rad->dato_formatert;
$maned = str_replace("January", "januar", $maned);
$maned = str_replace("February", "februar", $maned);
$maned = str_replace("Mars", "mars", $maned);
$maned = str_replace("April", "april", $maned);
$maned = str_replace("May", "mai", $maned);
$maned = str_replace("June", "juni", $maned);
$maned = str_replace("July", "juli", $maned);
$maned = str_replace("August", "august", $maned);
$maned = str_replace("September", "september", $maned);
$maned = str_replace("October", "oktober.", $maned);
$maned = str_replace("November", "november", $maned);
$maned = str_replace("December", "desember", $maned);

$nid = $rad->bloggid;	



//Utforming av nyheten 

echo "<h2>". $rad->tittel ."</h2><p class='bloggDato'>Skrevet den: ".$maned. "</p>\n";	

$rad->ingress = nl2brStrict($rad->ingress);

echo "<div class='bloggContent'>\n<p>".$rad->ingress."</p>\n\n";

$bilde = ""; 


if ($rad->bildenavn) {

 	$bilde = "<img src='/blogg/bilder/" . $rad->bildenavn;
 	$bilde .= "'class ='images' alt='bloggbilder'/>";
 	echo "<div class='bloggBilde'>$bilde</div>\n\n";	

}

//Publisering av resten av nyheten

if ($rad->bloggnyhet) {
 echo "<a class='bloggLink' href='/blogg/vis_ennyhet.php?id=$nid'>Vis hele innlegget...</a>";
}


} // slutt på while
 
 echo "</div>\n"; // <-------------- slutter bloggcontent div'en ------------>


 } // SLUTT på if
else {
 echo "<p>Det er ingen innlegg i arkivet.</p>";

}
//############################################  SLUTT PÅ HVA SOM SKAL PRINTES UT PÅ SIDEN ####################################

mysql_close($tilkobling);

require ($_SERVER["DOCUMENT_ROOT"] ."/inkluderte_filer/bunn.inc.php");


?>

 

Dere ser feilen klart på hjemmesiden min kimthomassen.net og tydelig på bildet under ser dere at det fungerer på localhost.

 

Klikk for å se/fjerne innholdet nedenfor
merkligproblem.png

 

Dette må være en feil som er så bagatellmessig at jeg får fnatt. Men ser den ikke selv. Så jeg håper det er noen ildsjeler der ute som kan åpne øynene mine. Som dere sikkert ser i koden så er jeg ikke så veldig flink med PHP men holder på å lærer meg det. Men mener at i dette tilfellet er det ikke mine dårlige kunnskaper som har sviktet. Eller jeg mener at koden i alle fall skal fungere. Det har jeg jo bevis på. :blush:

 

med vennlig hilsen

Kim...

Endret av kimthoma
Lenke til kommentar
Videoannonse
Annonse

etter en lang fundering har jeg nå løst det tror jeg. Løsningen var å fjerne denne linjen unde MySql spørringen.

 

AND ( dato_utgaar >= now() OR dato_utgaar = '0000-00-00' ) 

 

Men skjønner ikke hvordan det har fungert tidligere da. Har ikke forandret på dette til nå. :hmm:

 

Kim...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...