Nu står det stil i mitt huvud. Om jag vill ha en sida som skriver ut något såhär:
Idag
"Mysql resultat"
Igår
"MySQL resultat"
Övriga dagar
"MySQL resultat"
Och min kod ser ut såhär:
<?php $date = date("Y-m-d");
$sql = "SELECT * FROM dagbok ORDER BY datum DESC";
$res = mysql_query($sql, $db);
while ($line = mysql_fetch_object($res)) {
echo "<a href=\"dagbokshow.php?id=$line->id\" target=\"mitt2\">$line->datum</a><br>";
}
mysql_free_result ($res);
?>
Jag har funderat och klurat men det står still i mitt huvud.. Jag akn få ut så att den visar endast idag.. (datum är en datetime kolumn) Men det blir problem när jag vill att den ska visa gårdagens och ännu värre när den sak visa resten..
MatteMedlem sedan aug. 20002 975 inlägg Kanske något liknande detta:
$today = date("Y-m-d");
$yesterday = date("Y-m-d", time()-86400);
echo "<h1>Idag</h1>";
$sql = "SELECT * FROM dagbok WHERE DATE_FORMAT(datum, '%Y-%m-%d')='$today' ORDER BY datum DESC";
$res = mysql_query($sql);
while ($line = mysql_fetch_object($res)) {
echo "<a href=\"dagbokshow.php?id=$line->id\" target=\"mitt2\">$line->datum</a><br>";
}
echo "<h1>Igår</h1>";
$sql = "SELECT * FROM dagbok WHERE DATE_FORMAT(datum, '%Y-%m-%d')='$yesterday' ORDER BY datum DESC";
$res = mysql_query($sql);
while ($line = mysql_fetch_object($res)) {
echo "<a href=\"dagbokshow.php?id=$line->id\" target=\"mitt2\">$line->datum</a><br>";
}
echo "<h1>Övriga dagar</h1>";
$sql = "SELECT * FROM dagbok WHERE DATE_FORMAT(datum, '%Y-%m-%d')<'$yesterday' ORDER BY datum DESC";
$res = mysql_query($sql);
while ($line = mysql_fetch_object($res)) {
echo "<a href=\"dagbokshow.php?id=$line->id\" target=\"mitt2\">$line->datum</a><br>";
}
Pilarna berättar vilken kolumn den ska välja.. Funkar som klamrar i arrays.. Fasst i objects istället.. Så det är en typisk $line[id] sak..
Tack tack för hjälpen i övrigt.
LAMPMedlem sedan mars 2002777 inlägg Följdfråga:
ser att vissa använder mysql_fetch_array och vissa mysql_fetch_object, när ska man använda vad?
Finns det skillnad på prestanda mm?
Jag tror att det är smartare att använda array när du ska göra beräkningar med resultaten, men jag är inte säker. Jag brukar använda det som jag tycker är lättast.
Matte: ditt script funkade perfekt. =) Skitsnyggt tack, tack..
SPiNMedlem sedan mars 20007 896 inlägg
LAMP skrev:
Följdfråga:
ser att vissa använder mysql_fetch_array och vissa mysql_fetch_object, när ska man använda vad?
Finns det skillnad på prestanda mm?
Det är ingen skillnad på mysql_fetch_object() och mysql_fetch_array() förutom att med _object får du tillbaka ett object, och kallar på fälten efter deras namn - medan du med _array kan välja mellan att använda indexnummer eller fältnamn. Båda är lika snabba. Den snabbaste varianten är mysql_fetch_row() vilken du endast kan använda indexnummer mot.
mysql_fetch_object() exempel
$mysqlResult = mysql_query( "SELECT namn, epost FROM table" );
while( $curObject = mysql_fetch_object( $mysqlResult ) ) {
echo "Namn: " . $curObject->namn . "<br />";
echo "E-post: " . $curObject->epost . "<br />";
}
mysql_fetch_array() exempel
$mysqlResult = mysql_query( "SELECT namn, epost FROM table" );
while( $curArray = mysql_fetch_array( $mysqlResult ) ) {
echo "Namn: " . $curArray[ "namn" ] . "<br />";
echo "E-post: " . $curArray[ 1 ] . "<br />";
}
mysql_fetch_row() exempel
$mysqlResult = mysql_query( "SELECT namn, epost FROM table" );
while( $curRow = mysql_fetch_row( $mysqlResult ) ) {
echo "Namn: " . $curRow[ 0 ] . "<br />";
echo "E-post: " . $curRow[ 1 ] . "<br />";
}
Det sista exemplet är alltså det snabbaste. :)
LAMPMedlem sedan mars 2002777 inlägg Tack Spin :D
(du skrev fel rubrik på senaste exemplet, för det var ju row-metoden inte object-metoden)
Behöver man ej göra en koll innan man loopar ut något med while? Jag har studerat en hel del skript de senaste dagarna och ingen verkar göra en koll om man fick ut data innan man loopar, men man i ASP alltid gör kollen. Vad beror detta på?
SPiNMedlem sedan mars 20007 896 inlägg Jag gör alltid en koll innan:
if( mysql_num_rows( $mysqlResult ) < 1 ) {
// Inget hittades