$hamta = "Select * From blogg";
$resultat = mysql_query($hamta) or die("Sorry!");
while($rad = mysql_fetch_array($resultat))
{
$datum = date("d", $rad["datum"]);
$days[$datum] = "?blogg=".$rad['id_blogg'];
}
Så kanske...
8 svar · 412 visningar · startad av ume090
Hej!
Hur ska man lösa det?
$days = array(
1=>array('?blogg=LZdfZMs9VGnJADdbmyh2'),
8=>array('?blogg=rls5xcnAi5LENxgBeXXg'),
14=>array('?blogg=diCetHRShyCcjmSlTL94'),
22=>array('?blogg=1iM4tszcwNxTikDduyrK'),
27=>array('?blogg=k7AfWPVbvXA730rskWis'),
29=>array('?blogg=jK6U9NbxkX424e7ZW7e2'),
);
Jag tänker att datum ska hämta från databas istället - då trodde jag att det ska fungera med det här
$hamta = "Select * From blogg";
$resultat = mysql_query($hamta) or die("Sorry!");
while($rad = mysql_fetch_array($resultat))
{
$datum = date("d", $rad["datum"]);
$days = '$datum."=>array(\'?blogg=".$rad["id_blogg"]."\')\n";'
}
Men nähää, det fungerar inte. Då undrar jag hur ska man lösa det?
$hamta = "Select * From blogg";
$resultat = mysql_query($hamta) or die("Sorry!");
while($rad = mysql_fetch_array($resultat))
{
$datum = date("d", $rad["datum"]);
$days[$datum] = "?blogg=".$rad['id_blogg'];
}
Så kanske...
Det ser bättre ut
Men det fungerar ändå inte, jag tycker att det bör fungerar.
Jag kör med
http://keithdevens.com/software/php_calendar/colorsource
Det går fint med
$days = array(
2=>array('/weblog/archive/2004/Jan/02'),
3=>array('/weblog/archive/2004/Jan/03'),
8=>array('/weblog/archive/2004/Jan/08'),
22=>array('/weblog/archive/2004/Jan/22'),
);
Men inte med while...hmm*funderar*
Testa att skriva ut $days, print_r($days), och se om du blir något klokare...
$hamta = "Select * From blogg";
$resultat = mysql_query($hamta) or die("Sorry!");
while($rad = mysql_fetch_array($resultat))
{
$datum = date("d", $rad["datum"]);
$days[$datum] = "?blogg=".$rad['id_blogg'];
$days = print_r($days);
}
Så fick jag --
Array ( [01] => ?blogg=LZdfZMs9VGnJADdbmyh2 )
Warning: Cannot use a scalar value as an array in /htdocs/Better/text.php on line 22
1
Warning: Cannot use a scalar value as an array in /htdocs/Better/text.php on line 22
1
Warning: Cannot use a scalar value as an array in /htdocs/Better/text.php on line 22
1
Warning: Cannot use a scalar value as an array in /htdocs/Better/text.php on line 22
1
Warning: Cannot use a scalar value as an array in /htdocs/Better/text.php on line 22
1
Som jag inte fattar vad det innebär?
Lägg print_r($days) efter while-loopen och utan $days =
Nu ser jag!
Det blir så här
Array
(
[01] => ?blogg=LZdfZMs9VGnJADdbmyh2
)
Array
(
[01] => ?blogg=LZdfZMs9VGnJADdbmyh2
[08] => ?blogg=rls5xcnAi5LENxgBeXXg
)
Array
(
[01] => ?blogg=LZdfZMs9VGnJADdbmyh2
[08] => ?blogg=rls5xcnAi5LENxgBeXXg
[14] => ?blogg=diCetHRShyCcjmSlTL94
)
Array
(
[01] => ?blogg=LZdfZMs9VGnJADdbmyh2
[08] => ?blogg=rls5xcnAi5LENxgBeXXg
[14] => ?blogg=diCetHRShyCcjmSlTL94
[27] => ?blogg=k7AfWPVbvXA730rskWis
)
Array
(
[01] => ?blogg=LZdfZMs9VGnJADdbmyh2
[08] => ?blogg=rls5xcnAi5LENxgBeXXg
[14] => ?blogg=diCetHRShyCcjmSlTL94
[27] => ?blogg=k7AfWPVbvXA730rskWis
[29] => ?blogg=jK6U9NbxkX424e7ZW7e2
)
Array
(
[01] => ?blogg=LZdfZMs9VGnJADdbmyh2
[08] => ?blogg=rls5xcnAi5LENxgBeXXg
[14] => ?blogg=diCetHRShyCcjmSlTL94
[27] => ?blogg=k7AfWPVbvXA730rskWis
[29] => ?blogg=jK6U9NbxkX424e7ZW7e2
[22] => ?blogg=1iM4tszcwNxTikDduyrK
)
.. inte bra..
Hur ska jag lösa det?
Du har print-satsen inne i loopen Det är den sista arrayen som är den riktiga. Vad är felet som du ser det? Du kan ta bort inledande nolla på dagen genom att ändra "d" till "j" i date-satsen.
Jag fattar inte.....noll!
<?php
# PHP Calendar (version 2.3), written by Keith Devens
# http://keithdevens.com/software/php_calendar
# see example at http://keithdevens.com/weblog
# License: http://keithdevens.com/software/license
function generate_calendar($year, $month, $days = array(), $day_name_length = 3, $month_href = NULL, $first_day = 0, $pn = array()){
$first_of_month = gmmktime(0,0,0,$month,1,$year);
#remember that mktime will automatically correct if invalid dates are entered
# for instance, mktime(0,0,0,12,32,1997) will be the date for Jan 1, 1998
# this provides a built in "rounding" feature to generate_calendar()
$day_names = array(); #generate all the day names according to the current locale
for($n=0,$t=(3+$first_day)*86400; $n<7; $n++,$t+=86400) #January 4, 1970 was a Sunday
$day_names[$n] = ucfirst(gmstrftime('%A',$t)); #%A means full textual day name
list($month, $year, $month_name, $weekday) = explode(',',gmstrftime('%m,%Y,%B,%w',$first_of_month));
$weekday = ($weekday + 7 - $first_day) % 7; #adjust for $first_day
$title = htmlentities(ucfirst($month_name)).' '.$year; #note that some locales don't capitalize month and day names
#Begin calendar. Uses a real <caption>. See http://diveintomark.org/archives/2002/07/03
@list($p, $pl) = each($pn); @list($n, $nl) = each($pn); #previous and next links, if applicable
if($p) $p = '<span class="calendar-prev">'.($pl ? '<a href="'.htmlspecialchars($pl).'">'.$p.'</a>' : $p).'</span> ';
if($n) $n = ' <span class="calendar-next">'.($nl ? '<a href="'.htmlspecialchars($nl).'">'.$n.'</a>' : $n).'</span>';
$calendar = '<table class="calendar">'."\n".
'<caption class="calendar-month">'.$p.($month_href ? '<a href="'.htmlspecialchars($month_href).'">'.$title.'</a>' : $title).$n."</caption>\n<tr>";
if($day_name_length){ #if the day names should be shown ($day_name_length > 0)
#if day_name_length is >3, the full name of the day will be printed
foreach($day_names as $d)
$calendar .= '<th abbr="'.htmlentities($d).'">'.htmlentities($day_name_length < 4 ? substr($d,0,$day_name_length) : $d).'</th>';
$calendar .= "</tr>\n<tr>";
}
if($weekday > 0) $calendar .= '<td colspan="'.$weekday.'"> </td>'; #initial 'empty' days
for($day=1,$days_in_month=gmdate('t',$first_of_month); $day<=$days_in_month; $day++,$weekday++){
if($weekday == 7){
$weekday = 0; #start a new week
$calendar .= "</tr>\n<tr>";
}
if(isset($days[$day]) and is_array($days[$day])){
@list($link, $classes, $content) = $days[$day];
if(is_null($content)) $content = $day;
$calendar .= '<td'.($classes ? ' class="'.htmlspecialchars($classes).'">' : '>').
($link ? '<a href="'.htmlspecialchars($link).'">'.$content.'</a>' : $content).'</td>';
}
else $calendar .= "<td>$day</td>";
}
if($weekday != 7) $calendar .= '<td colspan="'.(7-$weekday).'"> </td>'; #remaining "empty" days
return $calendar."</tr>\n</table>\n";
}
?>
Jaa, man ska lägga in
<?php
$days = array(
2=>array('/weblog/archive/2004/Jan/02','linked-day'),
3=>array('/weblog/archive/2004/Jan/03','linked-day'),
8=>array('/weblog/archive/2004/Jan/08','linked-day'),
22=>array('/weblog/archive/2004/Jan/22','linked-day'),
);
?>
För att man ska kunna klicka på "2, 3, 8 och 22" i kalendar
Så jag kör istället med while.
$hamta = "Select * From blogg";
$resultat = mysql_query($hamta) or die("Sorry!");
while($rad = mysql_fetch_array($resultat))
{
$datum = date("d", $rad["datum"]);
$days[$datum] = "?blogg=".$rad['id_blogg'];
}
Så det fungerar inte,