/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hjælp til sortering af mysql resultat
Fra : Zack


Dato : 25-07-03 10:19

Jeg har en hjemmeside:
http://william.users.whitehat.dk/
Jeg har lavet et nyhedssystem. Men...
Du kan se hvordan det er lavet. Og det er ikke helt sådan jeg vil
ha' det. Det skal være sådan, så på første linie skal billedet
være i venstre side, på anden højre, tredje venste, osv.
Hvordan skal det så gøres, og så lige en sidste ting.
Hvordan gør jeg, så der kun bliver hentet 5 nyheder ud?!
Min kode:

mysql_on(); //log på funktion
$result = mysql_query("SELECT * FROM news ORDER BY id DESC") or
die(mysql_error());
mysql_off(); //log af funktion
while ($news = mysql_fetch_array($result)) {
echo "<tr><td class=news_left><img src=../graphics/nyhed.gif><img
src=../graphics/".$news['img']."></td><td
class=news><b>".$news['name']."</b><br>".$news['news']."</td></tr
>";
}

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Zack (25-07-2003)
Kommentar
Fra : Zack


Dato : 25-07-03 10:36

Nå ja, jeg gad også godt vide hvordan, jeg laver sådan så der står
hvornår den er skrevet, på dansk - Torsdag d. 2 November 4076

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Michael Pedersen (28-07-2003)
Kommentar
Fra : Michael Pedersen


Dato : 28-07-03 15:00

> Nå ja, jeg gad også godt vide hvordan, jeg laver sådan så der står
> hvornår den er skrevet, på dansk - Torsdag d. 2 November 4076

Det kan f.eks. gøres vha. setlocale(LC_TIME, dk_DK). Om der lige skal stå
"dk_DK" afhænger dog af serveren...




Kasper Garnæs (25-07-2003)
Kommentar
Fra : Kasper Garnæs


Dato : 25-07-03 10:46

Zack wrote:

[snip]

Jeg har rokeret lidt rundt for bedre at kunne svare på dine to spørgsmål:


> Du kan se hvordan det er lavet. Og det er ikke helt sådan jeg vil
> ha' det. Det skal være sådan, så på første linie skal billedet
> være i venstre side, på anden højre, tredje venste, osv.

> while ($news = mysql_fetch_array($result)) {
> echo "<tr><td class=news_left><img src=../graphics/nyhed.gif><img
> src=../graphics/".$news['img']."></td><td
> class=news><b>".$news['name']."</b><br>".$news['news']."</td></tr
>> ";
> }

Fx. nogenlunde således:

$alignClass = "news_left";
while ($news = mysql_fetch_array($result)) {
echo "<tr><td class=". $alignClass . "><img
src=../graphics/nyhed.gif><img src=../graphics/".$news['img']."></td><td
class=news><b>".$news['name']."</b><br>".$news['news']."</td></tr>";
($alignClass == "news_left") ? $alignClass = "news_right" : $alignClass
= "news_left";
}

> Hvordan gør jeg, så der kun bliver hentet 5 nyheder ud?!

Du kan bruge LIMIT
(http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#SE
LECT) således:

SELECT * FROM news ORDER BY id DESC LIMIT 5

Mvh.
Kasper Garnæs



Zack (25-07-2003)
Kommentar
Fra : Zack


Dato : 25-07-03 11:35

Hvad betyder alt det:
($alignClass == "news_left") ? $alignClass = "news_right" : $alignClass
= "news_left";
Bare nogenlunde, du ved, det er dejligt at vide, så jeg kan bruge det en anden
gang, og ellers... Tusinde, tusinde tak!...

Zack

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Kasper Garnæs (25-07-2003)
Kommentar
Fra : Kasper Garnæs


Dato : 25-07-03 12:56

Zack wrote:
> Hvad betyder alt det:
> ($alignClass == "news_left") ? $alignClass = "news_right" :
> $alignClass = "news_left";

Det er bare en shorthand for en if-then-else-sæting:

if ($boolean) then {
doSomething();
} else {
doSomethingElse();
}

er det samme som

$boolean ? doSomething() : doSomethingElse();

> Bare nogenlunde, du ved, det er dejligt at vide, så jeg kan bruge det
> en anden gang, og ellers... Tusinde, tusinde tak!...

Det var så lidt : )



Zack (25-07-2003)
Kommentar
Fra : Zack


Dato : 25-07-03 11:40

Kasper Garnæs wrote in dk.edb.internet.webdesign.serverside.php:
> Zack wrote:
>
> [snip]
>
> Jeg har rokeret lidt rundt for bedre at kunne svare på dine to spørgsmål:
>
>
> > Du kan se hvordan det er lavet. Og det er ikke helt sådan jeg vil
> > ha' det. Det skal være sådan, så på første linie skal billedet
> > være i venstre side, på anden højre, tredje venste, osv.
>
> > while ($news = mysql_fetch_array($result)) {
> > echo "<tr><td class=news_left><img src=../graphics/nyhed.gif><img
> > src=../graphics/".$news['img']."></td><td
> > class=news><b>".$news['name']."</b><br>".$news['news']."</td></tr
> >> ";
> > }
>
> Fx. nogenlunde således:
>
> $alignClass = "news_left";
> while ($news = mysql_fetch_array($result)) {
> echo "<tr><td class=". $alignClass . "><img
> src=../graphics/nyhed.gif><img src=../graphics/".$news['img']."></td><td
> class=news><b>".$news['name']."</b><br>".$news['news']."</td></tr>";
> ($alignClass == "news_left") ? $alignClass = "news_right" : $alignClass
> = "news_left";
> }
>
> > Hvordan gør jeg, så der kun bliver hentet 5 nyheder ud?!
>
> Du kan bruge LIMIT
> (http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#SE
> LECT) således:
>
> SELECT * FROM news ORDER BY id DESC LIMIT 5
>
> Mvh.
> Kasper Garnæs
>
>

Jeg har lavet lidt om på koden så du måske bedre kan forstå:
mysql_on();
$result = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 5") or
die(mysql_error());
mysql_off();
while ($news = mysql_fetch_array($result)) {
echo "<tr><td class=news_img><img src=../graphics/nyhed.gif><img
src=../graphics/".$news['img']."></td><td
class=news><b>".$news['name']."</b><br>".$news['news']."</td></tr>";
}
altså, de 2 billeder, de skal være i den anden side på anden linie.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Zack (25-07-2003)
Kommentar
Fra : Zack


Dato : 25-07-03 12:03

Jeg fandt selv ud af det, men tak for det med limit.
Her er den færdige kode:
$left = true;
mysql_on();
$result = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT
5") or die(mysql_error());
mysql_off();
while ($news = mysql_fetch_array($result)) {
if($left){
echo "<tr><td><table cellpadding=0 cellspacing=0><tr><td
class=news_img><img src=../graphics/nyhed.gif><img
src=../graphics/".$news['img']."></td><td
class=news><b>".$news['name']."</b><br>".$news['news']."</td></tr></
table></td></tr>";
$left = false;
}elseif(!$left){
echo "<tr><td><table cellpadding=0 cellspacing=0><tr><td
class=news><b>".$news['name']."</b><br>".$news['news']."</td><td
class=news_img><img src=../graphics/".$news['img']."><img
src=../graphics/nyhed.gif></td></tr></table></td></tr>";
$left = true;
}
}

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste