Avatar billede tif12345 Nybegynder
09. juni 2005 - 16:37 Der er 1 kommentar og
1 løsning

Udtræk fra DB sat under en variabel

Jeg har følgende udtræk:
$res = db_query("
  SELECT * FROM tabel
");
$row = db_fetch_array($res);

if($row['type'] == "1")
{
$types = "Number 1";
}
if($row['type'] == "2")
{
$types = "Number 2";
}
if($row['type'] == "3")
{
$types = "Number 3";
}

Mit problem er at når $types bliver printet, så ligegyldigt hvad "if($row['type'] ==" er, så bliver der kun printet "Number 1" ud.
Er der nogle mangler i koden som kan være skyld i dette?
Avatar billede mrgumble Nybegynder
09. juni 2005 - 17:02 #1
Svært spørgsmål. Kan heller ikke umiddelbart forstå, hvorfor den gør sådan. Men er du nu også sikker på, at $row['type'] ikke er lig 1? Prøv at skriv print_r($row); før dine if, og se hvad $row indeholder.

Udover det, vil jeg foreslå, at du går over til at bruge en switch i stedet for det, du har skrevet her. Syntaxen vil så være:
switch ($row['type']) {
case 1:
  $types = "Number 1";
  break;
case 2:
  $types = "Number 2";
  break;
case 3:
  $types = "Number 3";
  break;
default:
  $types = "Hverken 1, 2 eller 3";
}
Avatar billede nielle Nybegynder
09. juni 2005 - 17:25 #2
Med mindre du indføre et loop i din kode, så vil din kode kun give dig det der ske for den aller første række i tabellen "tabel" - du kommer aldig videre til de andre:

$res = db_query("SELECT * FROM tabel");

while ($row = db_fetch_array($res))
{
    if ($row['type'] == "1")
    {
        $types = "Number 1";
    }

    if ($row['type'] == "2")
    {
        $types = "Number 2";
    }

    if ($row['type'] == "3")
    {
        $types = "Number 3";
    }

    echo $types . "<br>"
}

PS: Hvis det er en MySQL database du bruger så hedder det da "mysql_db_query" og "mysql_fetch_array".
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