Avatar billede langkiller Nybegynder
21. april 2010 - 23:34 Der er 9 kommentarer og
1 løsning

simpelt if else problem ?

Tror løsningen er ret simpel, men kan ikke finde få den til at virke lige pt.

Det ser sådan ud lige nu.. efter en masse rettelse:


  $erhvervsdrivende_sql = mysql_query(SELECT erhverv FROM brugere WHERE id='$_SESSION["user_id"]);
  $erhvervsdrivende = mysql_result(mysql_query("$erhvervsdrivende_sql"),0);


  if($erhvervsdrivende == "erhvervsdrivende")
    {
    echo "<tr><td><font face=\"tahoma\" size=\"2\">&nbsp;&nbsp;<b>Firmanavn: &nbsp;</b></td><td><font face=\"tahoma\" size=\"2\">" . $userArray["firmanavn"] . "</td></tr>";
    }
    else
    {
    echo "  ";
    }


Altså hvis brugeren er registreret som erhvervsdrivende skal den udskrive noget, men hvis ikke skal den ikke udskrive noget?
Avatar billede DonTorro Nybegynder
22. april 2010 - 00:15 #1
hvor får du $userArray fra ?
Avatar billede langkiller Nybegynder
22. april 2010 - 00:19 #2
Glemte at få den med, men den er ikke så relevant skulle jeg da mene


  $userQuery = mysql_query("SELECT * FROM brugere WHERE id='$_SESSION[user_id]'");
  $userArray = mysql_fetch_array($userQuery);
22. april 2010 - 06:31 #3
Du goer det for indviklet.  Proev med denne kode:

$userQuery = mysql_query("SELECT * FROM brugere WHERE id='$_SESSION[user_id]'");
  $userArray = mysql_fetch_array($userQuery);

if($userArray['erhvervsdrivende'] = "erhvervsdrivende")
  echo "<tr><td><font face=\"tahoma\" size=\"2\">&nbsp;&nbsp;<b>Firmanavn: &nbsp;</b></td><td><font face=\"tahoma\" size=\"2\">" . $userArray["firmanavn"] . "</td></tr>";

Du soeger paa * FROM brugere.  Hvis saa $userArray['erhvervsdrivende'] == "erhvervsdrivende" saa echoer du det ud, ellers goer du ingenting (heller ikke echo "").
Avatar billede The_Buzz Novice
22. april 2010 - 06:34 #4
Har været ude for sådan noget her før...

Problemet for mig var at jeg ikke kunne bruge $_SESSION[""] kald i sql

Prøv:
$sessionid = $_SESSION["user_id"];
  $erhvervsdrivende_sql = mysql_query(SELECT erhverv FROM brugere WHERE id=$sessionid);
  $erhvervsdrivende = mysql_result(mysql_query("$erhvervsdrivende_sql"),0);


  if($erhvervsdrivende == "erhvervsdrivende")
    {
    echo "<tr><td><font face=\"tahoma\" size=\"2\">&nbsp;&nbsp;<b>Firmanavn: &nbsp;</b></td><td><font face=\"tahoma\" size=\"2\">" . $userArray["firmanavn"] . "</td></tr>";
    }
    else
    {
    echo "  ";
    }
Avatar billede langkiller Nybegynder
22. april 2010 - 17:31 #5
The_Buzz :
får denne fejl medd.
Warning: mysql_result(): supplied argument is not a valid MySQL result resource on line 15

Linje 15 er
$erhvervsdrivende = mysql_result(mysql_query("$erhvervsdrivende_sql"),0);
Avatar billede langkiller Nybegynder
22. april 2010 - 17:59 #6
Christian_Belgien : Det virkede næsten! Ingen fejl medd. Den udskrev også "firmanavn:" , men både når erhverv = erhvervsdrivende og privatperson?
22. april 2010 - 22:27 #7
langkiller, det var maerkeligt.  Det goer den ikke i mit system. For test oprettede jeg en tabel med et par vaerdier, en hvor erhvervsdrivende er "erhvervsdrivende", en hvor den er " ", og en hvoer den er NULL, og kun naar jeg forespoerger paa den id hvor erhvervsdrivende er "erhvervsdrivende" faar jeg udskrift.  Jeg har lige tilfoejet til tabellen en raekke hvor erhvervsdrivende er "privatperson" og det giver heller ikke udskrift.

Proev at sende din kode som tilpasset efter mit indlaeg.
25. april 2010 - 06:50 #8
langkiller, fik du mit indlaeg?  Er der stadig problemer saa vis mig din kode?  Hvis det virker saa slut venligts af, accepter svar, og luk spoergsmaalet.
Avatar billede langkiller Nybegynder
25. april 2010 - 23:22 #9
Jo jeg har fået det Christian. Har bare haft meget travlt med en masse eksamensprojekter. Har jeg stadig.. bl.a. dette :)

Den væsentlige del af koden ser sådan her ud:

if($_SESSION["logged_in"] == 1)
{
  $userQuery = mysql_query("SELECT * FROM brugere WHERE id='$_SESSION[user_id]'");
  $userArray = mysql_fetch_array($userQuery);


  $erhvervsdrivende_sql = mysql_query("SELECT erhverv FROM brugere WHERE id=".$_SESSION["user_id"]);
  $erhvervsdrivende = mysql_result($erhvervsdrivende_sql,0);

 
  if($erhvervsdrivende == "erhvervsdrivende")
    {
    echo "<tr><td><font face=\"tahoma\" size=\"2\">  <b>Firmanavn:  </b></td><td><font face=\"tahoma\" size=\"2\">" . $userArray["firmanavn"] . "</td></tr>";
    }
    else
    {
    echo "  ";
    }


I min database hedder feltnavnet "erhverv", datatypen er "varchar" og primær nøglen er sat ved "id". Aner ikke hvor problemet ligger ??
Avatar billede langkiller Nybegynder
25. april 2010 - 23:27 #10
OMG!! Hvor er løsningen dog det dummeste! har lige fundet ud af det:

if($erhvervsdrivende == "erhvervsdrivende")

Skulle rettes til

  if($erhvervsdrivende == "Erhvervsdrivende")

Altså det skulle være et stort E og ikke et lille.. Nå du får selvfølgelig points alligevel Christian. Tak for hjælpen :)
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