Avatar billede thomaxz Nybegynder
02. april 2010 - 18:47 Der er 8 kommentarer og
1 løsning

ener, tier, tyver

Jeg henter nogle tal fra en database, jeg har brug for en metode der tester om det er en ener, tier, tyver etc.

Jeg havde prøvet med

if($ano<10)
    {
        echo "<td>".$ano."</td>";
    }
    else
    {
        echo "<td>&nbsp;a1a</td>";
    }

    if($ano>=10 && $ano <20)
    {
        echo "<td>".$ano."</td>";
    }
    else
    {
        echo "<td>&nbsp;a10a</td>";
    }

    if($ano>=20 && $ano <30)
    {
        echo "<td>".$ano."</td>";
    }
    else
    {
        echo "<td>&nbsp;a20a</td>";
    }

men tallet bliver teste på alle if' er selv om der er fundet ud af hvilket det, hvilket resultater i for mange felter.
Avatar billede arne_v Ekspert
02. april 2010 - 19:00 #1
Brug en:

if() {
...
} else if() {
...
} else if() {
...
} else {
...
}

konstruktion.
Avatar billede The_Buzz Novice
02. april 2010 - 19:15 #2
Hvorfor ikke bare checke om det er devidable med 10?

if ($ano % 10 == 0) {
echo "Is devidable by 10";
}
Avatar billede thomaxz Nybegynder
02. april 2010 - 20:16 #3
Arne den konstruktion virker ikke, da der skal være tallet hvis det er den ting f.esk tier, og et tomt resultat hvis det ikke er en tier.

Prøvede også med

    $rs=$ano/10;

    if($rs<1) //1
    {
        echo "<td>".$ano."</td>";
    }
    else
    {
        echo "<td>&nbsp;a1a##".$ano."##</td>";
    }

    if($rs<2) //10
    {
        echo "<td>".$ano."</td>";
    }
    else
    {
        echo "<td>&nbsp;a10a</td>";
    }

Det jeg prøver på er at lave en kolone med ener, en med tier, en med tyver etc.
Avatar billede The_Buzz Novice
02. april 2010 - 20:32 #4
hvad er $ano ?
Avatar billede thomaxz Nybegynder
02. april 2010 - 20:34 #5
$ano indholder et tal f.esk.

1,2,3 ener
10,11,12 tier
20,23 tyver

etc.
Avatar billede The_Buzz Novice
02. april 2010 - 20:44 #6
Og et vilkårligt tal række fra 1 til måske 999.999 ?
Avatar billede The_Buzz Novice
02. april 2010 - 20:45 #7
Du kunne lægge dem i et array og køre en sort på den? http://php.net/manual/en/function.sort.php
Avatar billede thomaxz Nybegynder
02. april 2010 - 23:01 #8
Så fik jeg løst det,

    //tier
    $sql="SELECT * FROM `nos` WHERE pid='".$p."' AND rid=".$rtel." AND numb/10<2 ORDER BY rid ASC, numb ASC";
    //echo "<hr>".$sql."<hr>";
    $res=mysql_query($sql);
    $num=mysql_num_rows($res);

    if($num==0)
    {
        echo "<td>&nbsp;</td>";
    }
    else
    {
        $data=mysql_fetch_array($res);
        $ano=$data['numb'];
        echo "<td>".$ano."</td>";
    }

og tilsvarende for tvyer, 30 'er etc.

læg et svar hvis i ville have point.
Avatar billede The_Buzz Novice
03. april 2010 - 09:09 #9
Lige en sidste anbefaling.

Når du kører en select sætning så prøv om muligt at lade være med at bruge * med mindre du skal bruge alle items i tabel - du vil så vidt jeg kan se kun have numb feltet.

$sql="SELECT numb FROM `nos` WHERE pid='".$p."' AND rid=".$rtel." AND numb/10<2 ORDER BY rid ASC, numb ASC";
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