Avatar billede kgp43 Nybegynder
05. december 2003 - 21:29 Der er 15 kommentarer og
1 løsning

Tælle rækker

Hejsa,

Jeg har en database der smider noget data ud i en tabel.
Hvordan får jeg et række nummer på min tabel? Automatisk opdatering går der kommer en ny række.
Avatar billede googolplex Novice
05. december 2003 - 21:33 #1
Kan du ligge lidt kode ?
Avatar billede kgp43 Nybegynder
05. december 2003 - 21:34 #2
<? 
include("/home/fedtmco/public_html/tl/db.php");
$no=0;
$query = mysql_query("SELECT * FROM hof ORDER BY networth DESC LIMIT 20 ");

$i=0;
$no=$no++;
while($row = mysql_fetch_array($query) {
$networth = number_format($row[networth]);
$land = number_format($row[land]);
?>
  <tr bgcolor="<?= ($i++ % 2==0 ? "#D9ECFF" : "#B3D9FF") ?>">
    <td align=center><? echo $no;?></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $row[nick];?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $row[state];?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $networth;?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $row[rank];?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $land; ?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $row[date];?></font></td>
  </tr>
  <?
}
?>
Avatar billede kgp43 Nybegynder
05. december 2003 - 21:34 #3
Den poster bare "0"
Avatar billede kgp43 Nybegynder
05. december 2003 - 21:36 #4
<? 
include("/home/fedtmco/public_html/tl/db.php");
$query = mysql_query("SELECT * FROM hof ORDER BY networth DESC LIMIT 20 ");

$i=0;
$no=1;
while($row = mysql_fetch_array($query) {

$no=$no++;
$networth = number_format($row[networth]);
$land = number_format($row[land]);
?>
  <tr bgcolor="<?= ($i++ % 2==0 ? "#D9ECFF" : "#B3D9FF") ?>">
    <td align=center><? echo $no;?></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $row[nick];?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $row[state];?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $networth;?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $row[rank];?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $land; ?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $row[date];?></font></td>
  </tr>
  <?
}
?>
</table>
</body>
</html>
Avatar billede kgp43 Nybegynder
05. december 2003 - 21:39 #5
Nu får jeg en parse error i linie 55:
while($row = mysql_fetch_array($query) {
Avatar billede kgp43 Nybegynder
05. december 2003 - 21:39 #6
Seneste kode:

<? 
include("/home/fedtmco/public_html/tl/db.php");
$query = mysql_query("SELECT * FROM hof ORDER BY networth DESC LIMIT 20 ");

$i=0;
$no=1;

while($row = mysql_fetch_array($query) {

$networth = number_format($row[networth]);
$land = number_format($row[land]);
?>
  <tr bgcolor="<?= ($i++ % 2==0 ? "#D9ECFF" : "#B3D9FF") ?>">
    <td align=center><? echo $no;?></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $row[nick];?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $row[state];?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $networth;?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $row[rank];?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $land; ?></font></td>
    <td align=center><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><? echo $row[date];?></font></td>
  </tr>
  <?
$no=$no++;
}
?>
Avatar billede googolplex Novice
05. december 2003 - 21:41 #7
Og hvad præcis er det den skal gøre, som den ikke gør, kan jeg se scriptet på din side ?
Avatar billede kgp43 Nybegynder
05. december 2003 - 21:41 #8
http://www.fedtm.com/hof/overview.php

Den skal bare vide række nummer
Avatar billede Slettet bruger
05. december 2003 - 21:43 #9
Du mangler en ) i din while-linie lige før {

Hvis dit problem er med variablen $no, har du vist fået startet den på 2, men faktisk burde du kunne bruge $i til dette også.
Avatar billede Slettet bruger
05. december 2003 - 21:46 #10
Det, jeg mente, var, at der hvor du udskriver $no, kan du bare udskrive $i istedet. Den har alligevel altid samme værde, som $no ville have.
Avatar billede googolplex Novice
05. december 2003 - 21:48 #11
Ja, der er ingen grund til at bruge $no til noget :)

Og så hedder det forresten:

$no++; - ikke $no=$no++;
Avatar billede kgp43 Nybegynder
05. december 2003 - 21:54 #12
$i virkede også :)
Nb. Den startede ved 1, så det var bare "$no=$no++;" der var problemet.

Fjernede $no, så problemet er løst.
Avatar billede kgp43 Nybegynder
05. december 2003 - 21:55 #13
Sandbox; give lige et svar
Avatar billede Slettet bruger
05. december 2003 - 21:58 #14
Eller eventuelt

$no+=1;

Dog mest hvis det er andet end 1 man vil lægge til hver gang.

Og ja, $no=$no++; giver samme resultat som $no=$no; fordi ++ EFTER en variabel først forhøjer den EFTER dens værdi er brugt. Hvis man skulle have lyst til at skrive det på en overflødigt kompliceret måde, vil dette også virke:

$no=++$no;
Avatar billede Slettet bruger
05. december 2003 - 21:58 #15
Javel
Avatar billede kgp43 Nybegynder
05. december 2003 - 21:59 #16
Jeg fjernede bare det første $no, så der kun står $no++, der virker perfekt (som skrevet ovenfor)
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