Avatar billede kdjweb Nybegynder
26. maj 2005 - 11:35 Der er 7 kommentarer og
1 løsning

problemmer med at hente rigtigt fra databasen

det her går ud på at jeg har lavet en tabel om viser hvor mange artikler/koder hver person har skrevet.
kig evt. på www.kdj.dk/ny/?area=brugerstats

Problemmet er at personer bliver vist lige så mange gange som personen har skrevet artikler/koder.
Det er selføgelig meningen at man kun skal vises en gang..

Kære eksperter. Hjælp! :-)

Her er koden:


<table>
$query = mysql_query("SELECT * FROM koderartikler");
while ($w = mysql_fetch_array($query)) {
  $art = mysql_query("SELECT * FROM koderartikler WHERE type = '2' AND forfatter = '$w[forfatter]'");
  $artikler = (mysql_num_rows($art));
  $kod = mysql_query("SELECT * FROM koderartikler WHERE type = '1' AND forfatter = '$w[forfatter]'");
  $koder = (mysql_num_rows($kod));
echo "<tr width=\"440\">
        <td id=\"menu4tekst\">
          $w[forfatter]
        </td>
        <td>
          $artikler
        </td>
        <td>
          $koder
        </td>
      </tr>"
}
</table>
Avatar billede sukos Juniormester
26. maj 2005 - 11:40 #1
Du kan vel bruge COUNT

  $art = mysql_query("SELECT COUNT(forfatter) FROM koderartikler WHERE type = '2' AND forfatter = '$w[forfatter]'");
  $artikler = mysql_result($art, 0);
Avatar billede kdjweb Nybegynder
26. maj 2005 - 11:44 #2
giver samme resultat
Avatar billede barklund Nybegynder
26. maj 2005 - 11:52 #3
$query = mysql_query("SELECT forfatter, SUM(IF(type=2,1,0)) AS artikler, SUM(IF(type=1,1,0)) AS koder FROM koderartikler");
while (list($forfatter$artikler,$koder) = mysql_fetch_array($query)) {
echo "<tr width=\"440\">
        <td id=\"menu4tekst\">
          $forfatter
        </td>
        <td>
          $artikler
        </td>
        <td>
          $koder
        </td>
      </tr>"
}
Avatar billede barklund Nybegynder
26. maj 2005 - 11:52 #4
Hov, mangler lige group by:

$query = mysql_query("SELECT forfatter, SUM(IF(type=2,1,0)) AS artikler, SUM(IF(type=1,1,0)) AS koder FROM koderartikler GROUP BY forfatter");
while (list($forfatter$artikler,$koder) = mysql_fetch_array($query)) {
echo "<tr width=\"440\">
        <td id=\"menu4tekst\">
          $forfatter
        </td>
        <td>
          $artikler
        </td>
        <td>
          $koder
        </td>
      </tr>"
}
Avatar billede kdjweb Nybegynder
26. maj 2005 - 11:55 #5
barklund du manglede lige et komma men det virker :) smid et svar
Avatar billede barklund Nybegynder
26. maj 2005 - 11:58 #6
Jæsjæs :)
Avatar billede barklund Nybegynder
26. maj 2005 - 12:02 #7
Tark for points :)
Avatar billede kdjweb Nybegynder
26. maj 2005 - 13:32 #8
så lidt :)
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