Avatar billede bigtime Nybegynder
19. november 2008 - 09:43 Der er 12 kommentarer og
1 løsning

tæl sammen i fra dben

hvordan får jeg den til at liste det der ned af,sådan så den side der har givet flest hits til en reklame bliver vist øverst også den næste osv.osv. jeg har i min db statestik_log 4 tabeller (id,side,ref,dato)
id = Giver næsten sig selv.
side = den reklame der er  trykket på.
ref = den side hvor der blev trykket på reklamen
dato = giver sig selv.

og hvordan får jeg den til at skifet fave for hvert udskrevet <th> sådan så men kan se forskæl på linjerne

<?PHP
$query = mysql_query("SELECT * FROM statestik_log ") or die(mysql_error());

    while($row = mysql_fetch_array($query)) {

    echo "
    <tr>
    <th scope='col'><span class='style4'>$row[ref]</span></th>
    <th scope='col'><span class='style4'>$row[side]
    </span></th>
    <th scope='col'><span class='style4'></span></th>
  </tr>
  ";
}
?>

er det ren vulapyg at finde ud af ?
Avatar billede bigtime Nybegynder
19. november 2008 - 09:44 #1
forresten. nu som i kan se så hiver den alt ud af tabellen og det er ikke helt meningen
Avatar billede evilfish Nybegynder
19. november 2008 - 09:56 #2
Som jeg forstår det, så vil du gerne en liste der giver den side der har haft flest hits. Det kan gøres via en SQL sætning.

SELECT side, count(*) FROM statestik_log GROUP BY side ORDER BY count(*) DESC;

Den SKULLE gerne giver dig alle siderne i tabellen med hit count ved siden af.
Avatar billede evilfish Nybegynder
19. november 2008 - 10:00 #3
Jeg er ikke PHP programmør, så dette er et gæt på din farve skift:

  $color = true;
  $rowColor = <EN ELLER ANDEN FARVE>
  while($row = mysql_fetch_array($query)) {
    if($color == true)
    {
$rowColor = <farve1>
}
else
{
$rowColor = <farve2>
}
    echo "
    <tr>
    <th scope='col'><span class='style4'>$row[ref]</span></th>
    <th scope='col'><span class='style4'>$row[side]
    </span></th>
    <th scope='col'><span class='style4'></span></th>
  </tr>
  ";
}

Så skal du bare indsætte $rowColor der hvor farve skal vær i tabellerne. Der er jeg også lidt lost.  Men noget i den stil vil jeg tro
Avatar billede evilfish Nybegynder
19. november 2008 - 10:01 #4
En rettelse:

if($color == true)
    {
$rowColor = <farve1>
$color = false;
}
else
{
$rowColor = <farve2>
$color = true;
}
Avatar billede bigtime Nybegynder
19. november 2008 - 12:49 #5
hmmm Invalid use of group function.
Avatar billede showsource Seniormester
19. november 2008 - 13:17 #6
$sql = "SELECT `side`, COUNT(*) as `antal`
        FROM
        `statestik_log`
        GROUP BY `side` ORDER BY `antal` DESC";

$query = mysql_query($sql) or die(mysql_error());

if(mysql_num_rows($query) > 0) {
echo"<table>";
$i = 0;

    while($v = mysql_fetch_object($query)) {
    $color = (($i%2) == 0 ? "#CECECE" : "FFFFFF");
    echo"<tr style=\"background-color: ".$color."\">\r\n";
    echo"<td>Hits: ".$v->antal."</td>\r\n";
    echo"<td>".$v->side."</td>\r\n";
    echo"</tr>\r\n";
    }

echo"</table>";

}

mysql_free_result($query);

Så'n ca. ( utestet )
Avatar billede bigtime Nybegynder
19. november 2008 - 13:28 #7
showsource det styre du bare med hård hånd :D det virker der er kun en ting jeg ville have den sådan at den første linje den udskrev var en fave og så den næste side var en anden fave og den tredje linje var samme fave som den første altså skiftevis farve.
Avatar billede bigtime Nybegynder
19. november 2008 - 13:32 #8
næææ hov det var ikke helt sådan jeg mente sorry. vender lige tilbage
Avatar billede showsource Seniormester
19. november 2008 - 13:34 #9
Det med farve, er denne linie:

$color = (($i%2) == 0 ? "#CECECE" : "FFFFFF");

hvor jeg så glemte en # foran FFFFFF.

Plus at jeg glemte et forøge $i ved hvert gennemløb

echo"</tr>\r\n";
$i++;
Avatar billede bigtime Nybegynder
19. november 2008 - 14:46 #10
den counte $link i rekken sider og order by ref (i ref er de sider som der re trykket fra link fra så det kan være http://side.dk/ og www.side.dk osv ) og så skal den også order by DESC i ref hvis du forstå
Avatar billede showsource Seniormester
19. november 2008 - 23:08 #11
Du har lidt kode at lege med .....
Og du kan godt sortere på flere felter
ORDER BY `antal`, `side`

Et alias er brugbart mange gange, bl.a. hvis man selecter fra flere tabeller hvor kolonnenavn er det samme.
Avatar billede showsource Seniormester
19. november 2008 - 23:14 #12
Avatar billede bigtime Nybegynder
03. marts 2011 - 13:15 #13
hmm tror bare jeg lukker her
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