K kittlos Medlem sedan sep. 2002 205 inlägg Frågan 8 jan. 2005 11:25 #1 På den här sidan:
http://www.revolver.nu/albumarkivkron.php
räknas alla album i arkivet upp.
Sidan fungerar utmärkt i IE, men i Firefox händer något märkligt. Sidan slutar visa poster efter ett visst (fast) antal. Tittar man på källkoden finns dock alla poster med.
sidans php-kod:
$query = "SELECT ...osv";
$result = mysql_query("$query") OR DIE(mysql_error());
$rows = mysql_numrows($result);
$show="";
for($index=0; $index<$rows; $index++)
{
$article_id = mysql_result($result,$index,"articles.id");
$image = mysql_result($result,$index,"image");
$artist = mysql_result($result,$index,"artists.name");
$sortname = mysql_result($result,$index,"artists.sortname");
$date = mysql_result($result,$index,"articles.date");
$dateparts = split("-",$date);
$year = $dateparts[0];
$month = $dateparts[1];
if($old_month=="$month") $newline="<br>";
else{
if($month=='01')$show_month='Januari';
elseif($month=='02')$show_month='Februari';
elseif($month=='03')$show_month='Mars';
elseif($month=='04')$show_month='April';
elseif($month=='05')$show_month='Maj';
elseif($month=='06')$show_month='Juni';
elseif($month=='07')$show_month='Juli';
elseif($month=='08')$show_month='Augusti';
elseif($month=='09')$show_month='September';
elseif($month=='10')$show_month='Oktober';
elseif($month=='11')$show_month='November';
elseif($month=='12')$show_month='December';
$newline="<p>$show_month $year<br>";
}
$old_month=$month;
$title = mysql_result($result,$index,"headline");
$puff = mysql_result($result,$index,"puff");
$puff = str_replace('"',"''",$puff);
$show = $show . "\n$newline<span class=\"small\"><b>$artist - </span><a href=\"albumrecension.php?article_id=$article_id\" class=\"small\" title=\"$puff\">$title</b></a><span class=\"small\"> $date";
}
Någon som fattar vad det är som händer?
UlfT Medlem sedan maj 2001 8 027 inlägg Inte för att jag förstår vad som händer, annat än att jag kan bekräfta att det gäller även firefox för linux. Men väljer man att visa källkod i firefox, visar källkoden faktiskt allt ända tillbaka till 1999. Jag ser heller inget konstigt i den del som avbryts i firefox.
S Steady Medlem sedan dec. 2004 225 inlägg Har du testat på andra datorer än din egen? Ditt kan ju vara så enkelt att det endast är ditt eget Firefox som strular.
K kittlos Medlem sedan sep. 2002 205 inlägg jo, jag har testat på flera olika datorer. Dessutom blir det samma sak i mozilla. Ingen som sett något liknande eller kan hitta nåt "mozilla-fientligt" i koden?
Matte Medlem sedan aug. 2000 2 975 inlägg Det enda jag kan tänka mig är att du i slutet av varje rad har:
... <span class=\"small\"> $date";
Ändra till
... <span class=\"small\"> $date</span>";
Eventuellt kanske det finns en gräns för hur många nivåer Mozilla klarar av nästlade <span>.
I vilket fall ska den ändringen göras.
Sedan tycker jag du har ett omständigt sätt att hämta från databasen. Det borde snabba upp skriptet en del genom att ändra
$rows = mysql_numrows($result);
$show="";
for($index=0; $index<$rows; $index++)
{
$article_id = mysql_result($result,$index,"articles.id");
$image = mysql_result($result,$index,"image");
$artist = mysql_result($result,$index,"artists.name");
$sortname = mysql_result($result,$index,"artists.sortname");
$date = mysql_result($result,$index,"articles.date");
$dateparts = split("-",$date);
Till
$show="";
while ($row = mysql_fetch_assoc($result)) {
extract($row);
$dateparts = split("-",$date);
K kittlos Medlem sedan sep. 2002 205 inlägg Gud vad slarvigt av mig att missa det, och det var faktiskt där skon kämde...
Tack!
Angående ditt förslag så ser det ju onekligen smidigare ut, men var hamnar alla variabler som jag hämtar ut i min variant?
Matte Medlem sedan aug. 2000 2 975 inlägg Har du en SQL-fråga något i stil med
SELECT articles.id, image, artists.name, artists.sortname,
articles.date, headline, puff
FROM tabell
......
så ska variablerna lägga sig i $id, $image, $name, $sortname o.s.v.
K kittlos Medlem sedan sep. 2002 205 inlägg i en array i $rows då? Fast jag kör ju SELECT * FROM tabell, så då funkar det kanske inte...?
Matte Medlem sedan aug. 2000 2 975 inlägg Av din kod fick jag uppfattningen att du hämtade från 2 tabeller.
I $row kommer värdena att lägga sig i en array med fält/kolumnnamn som index.
När du kör extract() kommer variabler skapas där arrayindex blir variabelnamn innehållande elementets värde.
Du kan för skoj skull se vad du hämtar genom att skriva
while ($row = mysql_fetch_assoc($result)) {
echo "<pre>";
print_r($row);
echo "</pre>";