Avatar billede jub Nybegynder
07. juli 2000 - 23:59 Der er 34 kommentarer og
1 løsning

MySQL

Hej, jeg har lavet en MySQL database, med en tabel der indeholder

ID | NAVN | EMNE |INDHOLD

Men hvordan gør jeg sådan at den henter den sidste ID Først og derefter den næste

Er der f.eks

ID | ...
8  | ...
7  | ...
6  | ...
5  | ...
4  | ...
3  | ...
2  | ...
1  | ...

Så henter den først nummer 8, og viser det i en HTML Tabel, så skal den hente 7, og vise den i en ny HTML Tabel o.s.v. Som et nyhedssystem
Avatar billede andreas Nybegynder
08. juli 2000 - 00:21 #1
mysql_query("select * from tabel order by id desc");
Avatar billede andreas Nybegynder
08. juli 2000 - 00:23 #2
$result = mysql_query("select * from tabel order bu id desc");
while($row = mysql_fetch_array($result)) {
echo ($row[id]." - ".$row[navn]);
}
Avatar billede jub Nybegynder
08. juli 2000 - 00:24 #3
Jamen, hvis jeg nu vil lave en HTML Tabel, you know :) dem man eks. kan lave i Frontpage 2000. Og der skal alt fra ID 1 smides ind i, og så neden under laver den en ny HTML Tabel, og smider alt fra ID 2 ned i dem ... O.s.v.

Er du med hvad jeg mener, en nyhedssystem kunne man kalde det ;)

Mvh. Daniel Bahl Jensen
Avatar billede jub Nybegynder
08. juli 2000 - 00:26 #4
Forklar lige hvordan det virker, og hvad der gør hvad, jeg er jo totalt nybegynder på dette område :)
Avatar billede erikjacobsen Ekspert
08. juli 2000 - 00:28 #5
Mener du at hver post i tabellen skal ind i hver sin tabel, eller ind i hver sin række i samme tabel??
Avatar billede jub Nybegynder
08. juli 2000 - 00:33 #6
Altså jeg har denne række:

ID | SKRIBENT | DATO | EMNE | NYHED

Hver række (overstående er en række) skal i hver sin tabel, så det bliver sådan et slags nyhedssystem man evt. kan have på sin forside af websiten.
Avatar billede andreas Nybegynder
08. juli 2000 - 00:40 #7
$result = mysql_query("select * from tabel order bu id desc");
while($row = mysql_fetch_array($result)) {
?>
<table>
<tr>
<td>id</td>navn<td><td>dato</td><td>emne</td><td>nyhed</td>
</tr><tr>
<td>
<? echo $row[id]; ?>
</td>
<td>
<? echo $row[navn]; ?>
</td>
<td>
<? echo $row[dato]; ?>
</td>
<td>
<? echo $row[emne]; ?>
</td>
<td>
<? echo $row[nyhed]; ?>
</td>
</tr>
</table>
}
Avatar billede jub Nybegynder
08. juli 2000 - 00:42 #8
Hmm, jeg tror der er en fejl i dit script Anderas ?? :(
Avatar billede erikjacobsen Ekspert
08. juli 2000 - 00:43 #9
Nu må du hellere gøre det rigtigt, andreas ;-)

$result = mysql_query("select * from tabel order by id desc");
Avatar billede jub Nybegynder
08. juli 2000 - 00:47 #10
Kan en af jer ikke også lige komme med en:

// Beskrivelse

af hvad de forskellige ting gør, der er jo lidt point i puljen :)
Avatar billede jub Nybegynder
08. juli 2000 - 00:51 #11
Men ikke kun for pointsne men også får at jeg lærer lidt af dette her, og ikke bare CTRL+C og CTRL+V ;o)
Avatar billede andreas Nybegynder
08. juli 2000 - 01:04 #12
arrg... jeg hader mine stavefejl...

order by id -- sorter indholdet efter id
desc -- vender det hele på hovedet.

while($row = mysql_fetch_array($result)) { -- køre en while løkke indtil der ikke er fjere indlæg...
Avatar billede jub Nybegynder
08. juli 2000 - 10:40 #13
Jamen, hvordan ved den så at den skal lave mange forskellige tabeler efter hvor mange ID'er der er i Mysql databasen ?
Avatar billede jub Nybegynder
08. juli 2000 - 11:53 #14
Det virker ikke det du har lavet :(

Her er kildekoden:
<?
$connection = mysql_connect("mysql.****.dk","******","***");
mysql_select_db("******", $connection);
$result = mysql_query("select * from source order by id desc");
while($row = mysql_fetch_array($result)) {
?>
<table>
<td>
<? echo $row[id]; ?>
</td>
<td>
<? echo $row[kategori]; ?>
</td>
<td>
<? echo $row[skribent]; ?>
</td>
<td>
<? echo $row[link]; ?>
</table>

og indholdet i min database passer med overstående.

Den skriver følgene fejl:

Parse error: parse error in /hotel/netdex/WWW2/mysql/read_tabel.php3 on line 19

og så skriver den kun den sidste tabel i Mysql databsen jeg har fem tabeller:

ID | skribent | kategori | link
1  | Daniel  | PHP      | www.netdex.dk
2  | Daniel  | PHP      | www.jub.dk
3  | morten  | ASP      | www.asp.dk

o.s.v. dem har jeg dem af, men når jeg kører scripted, får jeg kun visr linje 5, og så denne fejl:

Parse error: parse error in /hotel/netdex/WWW2/mysql/read_tabel.php3 on line 19

Håber i kan hjælpe mig !
Avatar billede jub Nybegynder
08. juli 2000 - 11:56 #15
beklager stavefejl, det går lidt hurtigt, jeg håber i forstår mig, jeg har altså 5 linjer i min Mysql database, men den viser kun den sidste og skriver så fejlen
Avatar billede erikjacobsen Ekspert
08. juli 2000 - 12:19 #16
Du mangler en }
De sidste linier skal være

</table>
<? } ?>
Avatar billede jub Nybegynder
08. juli 2000 - 12:44 #17
Okay Cool :) Nu virker det sq. Mit første Mysql script :) et link script, hvor man kan tilføje sit eget link, andre kan så se linkene, og og søge :)

Her kommer lige et spørgsmål mere :) jeg ved der lidt mange, men jeg jo' nybegynder i PHP & MySQL :o)

Hvis nu jeg vil have hver anden tabel, grå, så hver tabel der har et ulige ID nummer bliver grå, hvordan gør jeg det ??
Jeg har prøvet lidt frem, men det går _ikke_ rigtig godt :o)

og lige en ting til, hvis nu man har en tabel der hedder kategori der hedder kategori, og kun vil evt. have vist dem der hedder PHP i tabellen kategori ?? hvordan gør man det ?
Avatar billede jub Nybegynder
08. juli 2000 - 12:45 #18
Får jeg de to svar hæver jeg pointsne til 240 og deler mellem erikjacobsen og andres :)

det er 120 til hver, det burte i kunne klare ik' ? :o)
Avatar billede jub Nybegynder
08. juli 2000 - 14:36 #19
Er der slet ingen der kan svarer på min spørgsmål :o( *LOL*

Jeg venter stadig på et svar, er det fordi i vil have flere points, kom så, andre må også gerne svare, så ryger der bare flere points i puljen :) ALLE KOM SÅ IND OG SVAR !! *LOL*

Mvh. Daniel Bahl Jensen.
Avatar billede andreas Nybegynder
08. juli 2000 - 14:41 #20
$result = mysql_query("select * from tabel order by id desc");
$i = 0;
while($row = mysql_fetch_array($result)) {
?>
<table <?
if ($i%2 != 0) echo ("bgcolor=\"#F8F8F8\"");
>
<tr>
<td>id</td>navn<td><td>dato</td><td>emne</td><td>nyhed</td>
</tr><tr>
<td>
<? echo $row[id]; ?>
</td>
<td>
<? echo $row[navn]; ?>
</td>
<td>
<? echo $row[dato]; ?>
</td>
<td>
<? echo $row[emne]; ?>
</td>
<td>
<? echo $row[nyhed]; ?>
</td>
</tr>
</table>
<?
}
Avatar billede andreas Nybegynder
08. juli 2000 - 14:41 #21
hov.. det mangler lige noget...

$result = mysql_query("select * from tabel order by id desc");
$i = 0;
while($row = mysql_fetch_array($result)) {
?>
<table <?
if ($i%2 != 0) echo ("bgcolor=\"#F8F8F8\"");
>
<tr>
<td>id</td>navn<td><td>dato</td><td>emne</td><td>nyhed</td>
</tr><tr>
<td>
<? echo $row[id]; ?>
</td>
<td>
<? echo $row[navn]; ?>
</td>
<td>
<? echo $row[dato]; ?>
</td>
<td>
<? echo $row[emne]; ?>
</td>
<td>
<? echo $row[nyhed]; ?>
</td>
</tr>
</table>
<?
$i++;
}
Avatar billede jub Nybegynder
08. juli 2000 - 14:51 #22
Og hva' så med en lille beskrivelse :) ??
Avatar billede jub Nybegynder
08. juli 2000 - 14:52 #23
Hvad de forskellige ting gør :o)
så jeg også lærer noget ;o)
Avatar billede andreas Nybegynder
08. juli 2000 - 14:53 #24
det burde du kunne huske det stammer fra dit sidste spørgsmål med en TXT fil....
Avatar billede andreas Nybegynder
08. juli 2000 - 14:55 #25
if ($i%2 != 0) -- hvis i ikke er deligt med 2
$i++; -- ligger 1 til i
$i = 0; -- i er lig med nul.
Avatar billede jub Nybegynder
08. juli 2000 - 15:27 #26
Nåå ja :)

Det er da rigtigt :)

Også lige det sidst spørgsmål, inden jeg uddeler pointsne

"hvis nu man har en tabel der hedder kategori i en Mysql database, og kun vil evt. have vist dem der hedder PHP i tabellen kategori ?? hvordan gør man det ?"

Så man i tabellen har følgene

id | kategori | text
1  | PHP      | Lær om PHP
2  | PHP      | Vidre med PHP
3  | ASP      | Lær om ASP
4  | ASP      | Vidre med ASP
5  | XML      | Lær om XML

og jeg kun vil have vist dem der hedder 'PHP' i tabellen 'Kategori'

Mvh. Daniel
Avatar billede jub Nybegynder
08. juli 2000 - 15:32 #27
Hmmm Stadig fejl, her er koden:

<?
$connection = mysql_connect("mysql.netdex.dk","netdex","haslev");
mysql_select_db("netdex", $connection);
$result = mysql_query("select * from tabel order by id desc");
$i = 0;
while($row = mysql_fetch_array($result)) {
?>
<table <?
if ($i%2 != 0) echo ("bgcolor=\"#F8F8F8\"");
>
<tr>
<td>id</td>navn<td><td>dato</td><td>emne</td><td>nyhed</td>
</tr><tr>
<td>
<? echo $row[id]; ?>
</td>
<td>
<? echo $row[skribent]; ?>
</td>
<td>
<? echo $row[kategori]; ?>
</td>
<td>
<? echo $row[link]; ?>
</td>
</tr>
</table>
<?
$i++;
}
?>

Her her kommer fejlen:

Warning: 0 is not a MySQL result index in /hotel/netdex/WWW2/mysql/read_colur.php3 on line 6

Parse error: parse error in /hotel/netdex/WWW2/mysql/read_colur.php3 on line 10
Avatar billede jub Nybegynder
08. juli 2000 - 15:35 #28
JEg fandt selv lige nogle fejl :)

det er rettet, der var et sted PHP ikke var lukket af med en ?> så her er der en lidt mere rettet verison, men stadig fejl:

<?
$connection = mysql_connect("mysql.netdex.dk","netdex","haslev");
mysql_select_db("netdex", $connection);
$result = mysql_query("select * from tabel order by id desc");
$i = 0;
while($row = mysql_fetch_array($result)) {
?>
<table
<?
if ($i%2 != 0) echo ("bgcolor=\"#F8F8F8\""); ?>
<td>id</td>navn<td><td>dato</td><td>emne</td><td>nyhed</td>
</tr><tr>
<td>
<? echo $row[id]; ?>
</td>
<td>
<? echo $row[skribent]; ?>
</td>
<td>
<? echo $row[kategori]; ?>
</td>
<td>
<? echo $row[link]; ?>
</td>
</tr>
</table>
<?
$i++;
}
?>

Fejlen er nu:


Warning: 0 is not a MySQL result index in /hotel/netdex/WWW2/mysql/read_colur.php3 on line 6
Avatar billede andreas Nybegynder
08. juli 2000 - 16:11 #29
$result = mysql_query("select * from tabel order by id desc");

ret dog den linie....
Avatar billede jub Nybegynder
08. juli 2000 - 16:28 #30
Ja nu virker det, men der kommer ingen farver på:

Link: http://www.jub.dk/mysql/read_colur.php3

Kilde:
<?
$connection = mysql_connect("mysql.netdex.dk","netdex","haslev");
mysql_select_db("netdex", $connection);
$result = mysql_query("select * from source order by id desc");
$i = 0;
while($row = mysql_fetch_array($result)) {
?>
<table
<?
if ($i%2 != 0) echo ("bgcolor=\"#F8F8F8\""); ?>
<td>id</td>navn<td><td>dato</td><td>emne</td><td>nyhed</td>
</tr><tr>
<td>
<? echo $row[id]; ?>
</td>
<td>
<? echo $row[skribent]; ?>
</td>
<td>
<? echo $row[kategori]; ?>
</td>
<td>
<? echo $row[link]; ?>
</td>
</tr>
</table>
<?
$i++;
}
?>
Avatar billede andreas Nybegynder
08. juli 2000 - 16:35 #31
<?
$i % 2 ? 0: echo ("bgcolor=#f8f8f8");
?>
Avatar billede andreas Nybegynder
08. juli 2000 - 16:49 #32
<?
$result = mysql_query( "select * from source order by id desc");
$i = 0;
while($row = mysql_fetch_array($result)) {
?>
<table
<?
if ($i%2==0) {
echo( "");
}
else
{
echo ( "bgcolor=#f8f8f8");
}?>
<td>id</td>navn<td><td>dato</td><td>emne</td><td>nyhed</td>
</tr><tr>
<td>
<? echo $row[id]; ?>
</td>
<td>
<? echo $row[skribent]; ?>
</td>
<td>
<? echo $row[kategori]; ?>
</td>
<td>
<? echo $row[link]; ?>
</td>
</tr>
</table>
<?
$i++;
}
?>
Avatar billede erikjacobsen Ekspert
08. juli 2000 - 21:22 #33
(det klarer I jo fint selv - jeg blander mig bare udenom ... med mindre jeg finder
en stavefej, hihi)
Avatar billede andreas Nybegynder
08. juli 2000 - 21:34 #34
arrg, erik... det driller man ikke en med hehe
Avatar billede andreas Nybegynder
18. august 2000 - 12:58 #35
hvorfor har du givet dig selv pointsne ????
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester