Avatar billede tobrukDk Novice
08. april 2012 - 15:49 Der er 19 kommentarer og
1 løsning

ude skrive af rank på siden

Hej

jeg har prøve lege lidt med min rank og det er sådan at 0 det er blocker bruger og 1 det er normal bruger og 2 det er admin.. men jeg har prøve at bygge det op sådan her? men det ville ikke virker på nogle måde :(


<?php if($rank == '1')
                {
                    echo 'bruger';
                }else
                {
                    echo 'Admin';
                }
                ?>


hvad har jeg gjordt galt siden det ikke lige for mig?? i databasen hedder den "rank"

Håber du kan hjælp mig :)
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 16:01 #1
jeg tror jeg ville lave en switch istedet
(utested)

<?php
    $out="";
    switch($rank){
        case 0: $out="blokeret bruger"; break;
        case 1: $out="normal bruger"; break;
        case 2: $out="admin bruger"; break;   
    }
    echo $out;
?>
Avatar billede tobrukDk Novice
08. april 2012 - 16:03 #2
den siger blockeret bruger ligemeget om det er 1 eller 2,, :O hmmm
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 16:09 #3
prøv at echo værdien af rank før switch
hvilke data type er rank ??

prøv at sette værdien i " "


<?php
    $out="";
    switch($rank){
        case "0": $out="blokeret bruger"; break;
        case "1": $out="normal bruger"; break;
        case "2": $out="admin bruger"; break;   
    }
    echo $out;
?>
Avatar billede tobrukDk Novice
08. april 2012 - 17:48 #4
jeg er ikke lige i med hvad du helt mener ??.. hmm og hvad mener du med at echo værdien ar rank før swirch ?? og hvilke type data det er ?? hmm hvad mener du helt med de 4 tingene??
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 18:01 #5
>hvilke data type er rank ??
er rank en integer eller string ??
dette har betydning for om der skal "" omkring værdien i switch


<?php
echo $rank; // test
$out="";
switch($rank){
  case "0": $out="blokeret bruger"; break;
  case "1": $out="normal bruger"; break;
  case "2": $out="admin bruger"; break;   
}
echo $out;
?>
Avatar billede tobrukDk Novice
08. april 2012 - 18:06 #6
okay :)
i databasen er den i tinyint(2)
Avatar billede tobrukDk Novice
08. april 2012 - 18:15 #7
men hvis jeg bygge det op sådan som du har gøre det så kommer der fejl :) men kan jeg ikke sæt sql i $rank??
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 18:46 #8
>i databasen er den i tinyint(2)
så er det coden i #1 du skal bruge.

>men hvis jeg bygge det op sådan som du har gøre det så kommer der fejl :)
hvilke fejl ??
coden i #1 virker har lige tested

>men kan jeg ikke sæt sql i $rank??
nej, du henter rank ud med sql ikk
men du kan sagtens udføre sql inde i switch'en
Avatar billede tobrukDk Novice
08. april 2012 - 18:54 #9

<?php
                $rank = mysql_query("Select * FROM brugere WHERE rank = '2'");
                switch($rank){
                  case "0": $out="blokeret bruger"; break;
                  case "1": $out="normal bruger"; break;
                  case "2": $out="admin bruger"; break;   
                }
                echo $rank;
                ?>

så kommer den frem med en ny fejl;
Resource id #12

kan man gøre det på den måde??
Avatar billede tobrukDk Novice
08. april 2012 - 19:00 #10
#8 omkring det der sql , det var også det jeg mente. sorry :P fik lige skrevet får hurtigt.. :P

hvis jeg bygge det sådan her oppe

<?php
                echo $rank; // test
                $out="";
                switch($rank){
                  case "0": $out="blokeret bruger"; break;
                  case "1": $out="normal bruger"; break;
                  case "2": $out="admin bruger"; break;   
                }
                echo $out;
                ?>

så kommer der fejl frem...

Notice: Undefined variable: rank in C:\xampp\htdocs\ny\profil.php on line 32

Notice: Undefined variable: rank in C:\xampp\htdocs\ny\profil.php on line 35

Notice: Undefined variable: rank in C:\xampp\htdocs\ny\profil.php on line 36

Notice: Undefined variable: rank in C:\xampp\htdocs\ny\profil.php on line 37
Avatar billede tobrukDk Novice
08. april 2012 - 20:05 #11
jeg har gøre sådan her;


<?php
                $rank = mysql_query("Select * FROM brugere WHERE rank = '1'");
                if($rank == '2')
                {
                    echo 'Admin Bruger';
                }
                else
                {
                    echo 'Normale bruger';
                }
                ?>

men nu skal jeg bare finde ud af med blocker bruger hvordan kan jeg gøre det?? jeg har prøve med "elseif", men så kommer der fejl :O
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 20:32 #12
prøv at se hvad mysql-query en resource kke en værdi, derfor virker det som du forsøger ikke
det giver ikke nogle mening at teste på flere værdier, når du i din sql kun selecterer dem hvor rank er 1

du kan ikke få andet ind normal brugere når WHERE rank = '1'.
(utested)

$rs = mysql_query("Select * FROM brugere WHERE rank = '1'");
while ($row = mysql_fetch_assoc($rs)){     
    echo 'Normale bruger';
    echo $row['username']; 
    // echo $row[$value];         
}   



ovenstående udskriver alle normal brugere med deres navne, hvis deres navne står i kollonnen username

hvad er det du gerne vil have udtrukket ??
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 20:37 #13
hvis det er alle brugere med deres rang
(utested)

$rs = mysql_query("Select * FROM brugere");
while ($row = mysql_fetch_assoc($rs)){     
    echo $row['username'];    
    $rank = $row['rank']; 
    $out="";
    switch($rank){
        case 0 : $out="blokeret bruger"; break;
        case 1 : $out="normal bruger"; break;
        case 2 : $out="admin bruger"; break;   
    }
    echo $out;
}   
Avatar billede tobrukDk Novice
08. april 2012 - 20:47 #14
okay det hjælp lidt af nu men hvis han er blocker så vise den det også på admins profil men så ser det sådan her ud ;

admin brugerblokeret bruger

men hvis han ikke er blocker ser det sådan her ud ;

admin brugernormal bruger

så admin bruger kommer til at stå der ligemeget hvad?.. hmm kan jeg ikke bruge $_get["rank"] eller ville det være en dårligt ide??
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 21:18 #15
hvordan ser admins profil ud ?? php + sql code

har du kun 2 brugere i db ??, coden jeg viste i #13 løber alle brugere igennem og skriver deres rank status ud

hvad er det du gerne vil opnå ??
Avatar billede tobrukDk Novice
08. april 2012 - 21:59 #16
sådan her ser både normal og blocker og admin's profil ud her


<?php include ("include/database/db.php");?>
<?php include ("include/header/header_top.php");?>
</head>
<body>
<div id="wrapper">
    <div id="top">
        <?php include ("include/login_opret.php");?>
        <?php include ("include/logo.php");?>
    </div>
        <?php include ("include/menu.php");?>
       
        <div id="nyheder">
        <?php include ("include/nyheder.php");?>
        </div>
        <div id="content">
        <?php
            $id = $_GET["id"];
            $result = mysql_query("SELECT * FROM `brugere` WHERE id = '$id'");
            $num_rows = mysql_num_rows($result);
            while($row = mysql_fetch_array($result))
            {
        ?>
        <h3><?php echo $row["djnavn"];?>'s Profil</h3>
        <div id="profilside">
            <div id="profilbilledet"><img src="profil/<?php echo $row["profilbillede"];?>" alt="<?php echo $row["djnavn"];?>" height="75" width="75" border="0"/></div>
            <ul>
                <li><?php echo $row["djnavn"];?></li>
                <li><?php echo $row["booking"];?></li>
                <li><?php echo $row["pris"];?></li>
                <li>
                <?php
               
                $rs = mysql_query("Select * FROM brugere");
                while ($row = mysql_fetch_assoc($rs)){         
                    $rank = $row['rank']; 
                    $out="";
                    switch($rank){
                        case 0 : $out="blokeret bruger"; break;
                        case 1 : $out="normal bruger"; break;
                        case 2 : $out="admin bruger"; break;   
                    }
                    echo $out;
                }   
                ?>
                </li>
                <li></li>
               
            </ul>
        </div>
        <?php
        }
        ?>
        </div>
        <div id="bruger">
        <h3>Bruger</h3>
        <?php include ("include/brugerinfo.php");?>
        </div>
        <?php include ("include/footer.php");?>
</div>
</body>
</html>


ja lige pt nu og her har jeg 2 da jeg tester siden for små ting osv.. :) Okay ja det kan jeg godt se,

f.eks 1 det er normal bruger så skal den blive udeskrevet til en rank, altså "Normal Bruger" kan jeg bare lave join mellem 2 tablere, så laver jeg en ny table til at jeg kan få den til at ude skrive navn eller det som jeg gerne vil have? eller hvad?
Avatar billede tobrukDk Novice
08. april 2012 - 22:37 #17
jeg skulle bare gøre sådan her

<?php
                $id = $_GET["id"];
                $rs = mysql_query("Select * FROM brugere WHERE id = '$id'");
                while ($row = mysql_fetch_assoc($rs)){         
                    $rank = $row['rank']; 
                    $out="";
                    switch($rank){
                        case 0 : $out="blokeret bruger"; break;
                        case 1 : $out="normal bruger"; break;
                        case 2 : $out="admin bruger"; break;   
                    }
                    echo $out;
                }   
                ?>


jeg skulle bare gøre sådan her :)

ligge et svar så for du noget for det!
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 22:43 #18
>jeg skulle bare gøre sådan her
ja men du laver sammen forspørgelse længere oppe, udtræk rank deroppe


<div id="content">
<?php
    $id = $_GET["id"];
    $result = mysql_query("SELECT * FROM `brugere` WHERE id = '$id' "); // bør set en LIMIT 1 på, der kan/må kun være en bruger
    $num_rows = mysql_num_rows($result); // hvorfor denne linje ??
    while($row = mysql_fetch_array($result))
    {
    $rank = $row["rank"];
?>
...

<?php
switch($rank){
    case 0 : echo "blokeret bruger"; break;
    case 1 : echo "normal bruger"; break;
    case 2 : echo "admin bruger"; break; 
    default : echo "ulovlig bruger rangering"; break;
}
?>
Avatar billede tobrukDk Novice
08. april 2012 - 22:47 #19
Ja det kan jeg godt se. Men jeg vil gerne give dig noget for at du har bruge tid på at ligesom hjælp mig frem til noget af det rigtigt. :)
Avatar billede olsensweb.dk Ekspert
08. april 2012 - 23:10 #20
får du så 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