Avatar billede kdjweb Nybegynder
06. juli 2005 - 12:38 Der er 7 kommentarer og
1 løsning

Funktion der finder rigtigt billede

Jeg har gang i et lille forum og ville gerne have det til at vise nogle små billeder for om der er blevet lagt et svar og om det er acceptere eller der slet ikke er blevet svaret..

Du kan se det her: http://kdj.dk/ny/?area=forum&o=13

function redgreenblue($id){
  // rød
  $red = mysql_query("SELECT * FROM traadsvar WHERE traadid = '$id' AND komsvar = '2' AND accept = '1'");
  $redantal = mysql_num_rows($red);
  if($redantal == 1){
    $result = "red";
  }
  // blå
  $blue = mysql_query("SELECT * FROM traadsvar WHERE traadid = '$id' AND komsvar = '2' AND accept = '0'");
  $blueantal = mysql_num_rows($blue);
  if($blueantal != 0){
    $result = "blue";
  }
  // Grøn
  $green = mysql_query("SELECT * FROM traadsvar WHERE traadid = '$id' AND komsvar = '1' AND accept = '0'");
  $greenantal = mysql_num_rows($green);
  if($greenantal =! 0){
    $result = "green";
  }
  $slut = "<img src=\"images/gfx/$result.gif\">";
  return $slut;
} 

Mvh. Kasper
Avatar billede kdjweb Nybegynder
06. juli 2005 - 12:40 #1
forresten.. det skal lige siges.. at den kun viser grøn selvom der er et accepteret svar eller er blevet svaret
Avatar billede nielle Nybegynder
06. juli 2005 - 21:51 #2
Jeg skal lige forstå din tabel. Begge felter komsvar og accept er vel boolske? Altså af typen ja/nej eller sand/falsk? Men hvis det er rigtig, hvorfor spørger du så på komsvar = '2' - burde dette felt ikke være enten '0' eller '1'?
Avatar billede kdjweb Nybegynder
07. juli 2005 - 00:25 #3
komsvar = kommentar eller svar = '1','2'
accept = spørgsmål accepteret = '0','1'

:) undskyld langsomt svar..

godnat
Avatar billede kdjweb Nybegynder
07. juli 2005 - 00:28 #4
det skal lige siges inden jeg går i seng at jeg har rettet:
if($greenantal =! 0){
    $result = "green";
}

til:
if($greenantal != 0){
    $result = "green";
}
Avatar billede nielle Nybegynder
08. juli 2005 - 18:33 #5
function redgreenblue($id)
{
    // rød
    $red = mysql_query("SELECT * FROM traadsvar WHERE traadid = '$id' AND komsvar = '2'");
    $redantal = mysql_num_rows($red);
    if ($redantal == 0)
        $result = "red";
    else
    {
        // blå
        $blue = mysql_query("SELECT * FROM traadsvar WHERE traadid = '$id' AND komsvar = '2' AND accept = '1'");
        $blueantal = mysql_num_rows($blue);
        if ($blueantal == 0)
            $result = "blue";
        else
        {
            // Grøn
            $green = mysql_query("SELECT * FROM traadsvar WHERE traadid = '$id' AND komsvar = '2' AND accept = '1'");
            $greenantal = mysql_num_rows($green);
            if ($greenantal > 0) $result = "green";
        }
    }

    $slut = "<img src=\"images/gfx/$result.gif\">";
    return $slut;
}
Avatar billede kdjweb Nybegynder
09. juli 2005 - 00:41 #6
jeg prøver imorgen tidligt :) men ser pænt ud

godnat :D
Avatar billede kingyo Nybegynder
09. juli 2005 - 12:40 #7
Ikke sikker på at jeg har forstået koden rigtigt, men tjek om det her virker:

<?PHP
  function redgreenblue($id) {
    $q = mysql_query("SELECT komsvar, accept FROM traadsvar WHERE traadid = '$id'");
    $r = mysql_fetch_array($q);
    if ($r[accept])
      $result = "red";
    if ($r[komsvar] == 2 && empty($result))
      $result = "blue";
    if (empty($result))
      $result = "green";
    $s = "<img src=\"images/gfx/" . $result . ".gif\" />";
    return $s;
  }
?>
Avatar billede nielle Nybegynder
11. juli 2005 - 17:32 #8
Øhm, det svar som er blevet accepteret er altså forkert:

<?PHP
function redgreenblue($id)
{
    $q = mysql_query("SELECT komsvar, accept FROM traadsvar WHERE traadid = '$id'");
    $r = mysql_fetch_array($q);

    if ($r[accept]) $result = "red";

    if ($r[komsvar] == 2 && empty($result)) $result = "blue";

    if (empty($result)) $result = "green";

    $s = "<img src=\"images/gfx/" . $result . ".gif\" />";
    return $s;
}
?>

Hvorfor? Jo, hvis der er flere poster som svarer til det samme trådid, så vil funktionen kun se på den allerførste af disse. Der mangler som det aller mindste en while-løkke som løber alle de udtrukne poster igennem.
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