/ 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
NewsListe med mySQL hjælp!
Fra : jesper


Dato : 21-05-06 12:04

hej NG.

jeg vil gerne have lavet en tabel hvor mine 10 nyeste news bliver
listet.
min mySQL tabel hedder: news
jeg har en value i min tabel som hedder: newsid
newsid er sat som: INT, auto_increatment, primær.
så hver gang jeg laver en ny får den altså det største tal.

Jeg vil gerne høre nogle der har en ide. jeg kan ikke selv finde
den mySQL forspøgesel jeg skal bruge men er sikker på at en af
jer har brugt den før. derefter skal jeg bare bruge en While
sætning men PLEASE! hjælp med mySQL forspørgelsen det er enlig
den der driller!..

Hilsen Jesper.
http://www.FindFesten.dk

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

 
 
Martin Ploug (21-05-2006)
Kommentar
Fra : Martin Ploug


Dato : 21-05-06 13:09


"jesper" <lindstroem89@hotmail.com> wrote in message
news:4470490c$0$15794$14726298@news.sunsite.dk...
> hej NG.
>
> jeg vil gerne have lavet en tabel hvor mine 10 nyeste news bliver
> listet.
> min mySQL tabel hedder: news
> jeg har en value i min tabel som hedder: newsid
> newsid er sat som: INT, auto_increatment, primær.
> så hver gang jeg laver en ny får den altså det største tal.
>
> Jeg vil gerne høre nogle der har en ide. jeg kan ikke selv finde
> den mySQL forspøgesel jeg skal bruge men er sikker på at en af
> jer har brugt den før. derefter skal jeg bare bruge en While
> sætning men PLEASE! hjælp med mySQL forspørgelsen det er enlig
> den der driller!..
>
> Hilsen Jesper.
> http://www.FindFesten.dk
>

Hej Jesper

Jeg kender ikke den korrekte syntaks men der må være noget med select *
where...
order by date Desc (sorter stigende) limit (10) (der skal vises 10 news).

Ved ikke, om du kan bruge det til noget.

Hilsen Martin



Martin Ploug (21-05-2006)
Kommentar
Fra : Martin Ploug


Dato : 21-05-06 13:09


"jesper" <lindstroem89@hotmail.com> wrote in message
news:4470490c$0$15794$14726298@news.sunsite.dk...
> hej NG.
>
> jeg vil gerne have lavet en tabel hvor mine 10 nyeste news bliver
> listet.
> min mySQL tabel hedder: news
> jeg har en value i min tabel som hedder: newsid
> newsid er sat som: INT, auto_increatment, primær.
> så hver gang jeg laver en ny får den altså det største tal.
>
> Jeg vil gerne høre nogle der har en ide. jeg kan ikke selv finde
> den mySQL forspøgesel jeg skal bruge men er sikker på at en af
> jer har brugt den før. derefter skal jeg bare bruge en While
> sætning men PLEASE! hjælp med mySQL forspørgelsen det er enlig
> den der driller!..
>
> Hilsen Jesper.
> http://www.FindFesten.dk
>

Hej Jesper

Jeg kender ikke den korrekte syntaks men der må være noget med select *
where...
order by date Desc (sorter stigende) limit (10) (der skal vises 10 news).

Ved ikke, om du kan bruge det til noget.

Hilsen Martin



--
----------------------------------------
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 251 spam-mails.
Betalende brugere får ikke denne besked i deres e-mails.
Hent gratis SPAMfighter her: http://www.spamfighter.com/lda



jesper (21-05-2006)
Kommentar
Fra : jesper


Dato : 21-05-06 13:25

Martin Ploug wrote in dk.edb.internet.webdesign.serverside.php:
> Hej Jesper
>
> Jeg kender ikke den korrekte syntaks men der må være noget med select *
> where...
> order by date Desc (sorter stigende) limit (10) (der skal vises 10
news).
>
> Ved ikke, om du kan bruge det til noget.
>
> Hilsen Martin

hej martin ja kender til order functionen det er bare lang tid siden jeg
har brugt den og kan ikke finde noget sted de forklare hvordan den bruges.

kan se du vil order by date Desc ? hvorfor date ? det burde da næsten være
int hvis man altså kan det:

SELECT * FROM 'news' WHERE newsid ORDER BY date Desc limit 10

det er mit bud men det er slet ikke præcist nok.. nogle andre der har den
rigtige formel?

hilsen Jesper.
http://www.findfesten.dk

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

Geert Lund (21-05-2006)
Kommentar
Fra : Geert Lund


Dato : 21-05-06 13:41

jesper wrote:

> SELECT * FROM 'news' WHERE newsid ORDER BY date Desc limit 10

> det er mit bud men det er slet ikke præcist nok.. nogle andre der har den
> rigtige formel?

Det du har skrevet er så også forkert...

SELECT * FROM 'news' ORDER BY newsid DESC LIMIT 10

Burde give dig de 10 højeste ID'er. Men du bør følge Erlends opfordring
og læse lidt nærmere i MySQL manualen omkring konstruktion af SELECT
statments og hvilke argumenter en SELECT sætning kan opbygges af :)


--
Med venlig hilsen
Geert Lund,
www.GLD.dk

jesper (21-05-2006)
Kommentar
Fra : jesper


Dato : 21-05-06 13:54

Geert Lund wrote in dk.edb.internet.webdesign.serverside.php:

> SELECT * FROM 'news' ORDER BY newsid DESC LIMIT 10
>
> Burde give dig de 10 højeste ID'er. Men du bør følge Erlends opfordring
> og læse lidt nærmere i MySQL manualen omkring konstruktion af SELECT
> statments og hvilke argumenter en SELECT sætning kan opbygges af :)

ja prøvede at kikke i mySQL manualen men syntes ikke deres eksempler var helt
nemme at finde ud af, da de ikke brugte ORDER BY nogle stedet! :)

Hilsen Jesper.
http://www.findfesten.dk

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

Erlend Klakegg Bergh~ (21-05-2006)
Kommentar
Fra : Erlend Klakegg Bergh~


Dato : 21-05-06 13:18

jesper skrev:
> hej NG.
>
> jeg vil gerne have lavet en tabel hvor mine 10 nyeste news bliver
> listet.
> min mySQL tabel hedder: news
> jeg har en value i min tabel som hedder: newsid
> newsid er sat som: INT, auto_increatment, primær.
> så hver gang jeg laver en ny får den altså det største tal.
>
> Jeg vil gerne høre nogle der har en ide. jeg kan ikke selv finde
> den mySQL forspøgesel jeg skal bruge men er sikker på at en af
> jer har brugt den før. derefter skal jeg bare bruge en While
> sætning men PLEASE! hjælp med mySQL forspørgelsen det er enlig
> den der driller!..

Har du sett i dokumentasjonen før du spør her?

<URL: http://dev.mysql.com/doc/refman/4.1/en/select.html >


--

Vennlig hilsen

Erlend Klakegg Bergheim

jesper (21-05-2006)
Kommentar
Fra : jesper


Dato : 21-05-06 14:06

Nu har jeg så mySQL functionen:
SELECT * FROM 'news' ORDER BY newsid DESC LIMIT 10

derefter stiller jeg denne kode op:

<?php
$foresp = mysql_query("SELECT * FROM 'news' ORDER BY newsid DESC
LIMIT 10");

while ($data = mysql_fetch_rows($foresp)){
}

normalt ville en man jo kun få fat i en linje og derfor plejer
værdierne komme ind i $data sådan -> $data["newsid"],
$data["titel"], $data["news"], $data["text"], $data["by"].

men nu tager den jo 10 på en gang så skal formelen så sådan ud inden
i while functionen:

while ($data = mysql_fetch_rows($foresp)){
echo "<a src=\"/". $data['newsid'] ."\">". $data['titel'] ."</a>";
}

eller laver php noget smart med at $data array'et også for et nr fx:

$data[1,"news"] ??

ved godt jeg er dum jeg ikke afprøver det men mit system gider ikke
lave PHP errors!.

Hilsen Jesper.
http://www.FindFesten.dk

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

Geert Lund (21-05-2006)
Kommentar
Fra : Geert Lund


Dato : 21-05-06 15:07

jesper wrote:

> while ($data = mysql_fetch_rows($foresp)){
> echo "<a src=\"/". $data['newsid'] ."\">". $data['titel'] ."</a>";
> }
>
> eller laver php noget smart med at $data array'et også for et nr fx:
>
> $data[1,"news"] ??

print_r og var_dump er dine venner, hvis du er i tvivl om indholdet.

http://www.php.net/print_r
http://www.php.net/var_dump

Ellers...

http://www.php.net/mysql_fetch_rows <-- er sikker på der er brugbare
eksempler.

--
Med venlig hilsen
Geert Lund,
www.GLD.dk

Martin (23-05-2006)
Kommentar
Fra : Martin


Dato : 23-05-06 18:34

jesper wrote:
> <?php
> $foresp = mysql_query("SELECT * FROM 'news' ORDER BY newsid DESC
> LIMIT 10");

ALTID husk at skrive

$for = mysql_query("SELECT / UPDATE / DELETE") OR DIE (mysql_error());

Så får du en fejlmeddelse hvis der skulle ske noget med queryen.

Hvis du så ikke for nogen errors, eller noget output, så skal du kigge
på de variabler du bruger.

>
> while ($data = mysql_fetch_rows($foresp)){

mysql_fetch_rows
Denne funktion findes ikke.
Du kan bruge mysql_fetch_row når der kun skal bruges ÉN række fra tabellen.

Ellers så kan du bruge enten mysql_fetch_array eller mysql_fetch_object
Du får 2 forskellige output ved at bruge de 2 ovenstående.

Fx
mysql_fetch_array

while($r = mysql_fetch_array($query)) {
print $r["felt_fra_tabel"];
}

eller mysql_fetch_object

while($r = mysql_fetch_object()) {
print $r->felt_fra_tabel;
}

Det er samme resultat om du bruger den ene eller den anden.
Det skal bare skrives ud på 2 forskellige metoder :)

PS: Jeg bruger altid mysql_fetch_object (i min mysql klasse) da den er
nemmest at arbejde med for mig.

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste