delphiuser Mester
29. november 2018 - 15:27 Der er 3 kommentarer og
1 løsning

medarbejder list i php og ajax

Hej eksperter jeg er i gang med at lave en medarbejder list som ligger fast i min admin. Den bliver hentet og opdateret af en ajax code hvor jeg kalder et php script. Men kan ganske enkelt ikke få det til at blive vist. det er rigtig meget øv. for jeg har set den henter alle data og lægger i en array som bliver json_encode.

men nu kommer lige mine koder til jer. håber i kan hjælpe.

employee_list.php

<?php
$con = mysqli_connect('localhost', 'jp_pro_dk', '****', 'jp_pro_dk');
if(mysqli_connect_errno()) {
    die('kunne ikke forbinde til databasen: ' . mysqli_connect_error());
}

define('URL', 'http://jp-pro/');

$sql = "select * from employees";
$result = $con->query($sql);
$output = '';
$count = $result->num_rows;
if($count > 0) {
    echo '
        <li class="list-group-item list-group-item-secondary text-center" style="border-radius: 0">Medarbejder Liste</li>';
    while ($dt = $result->fetch_array()) {
        $status = $dt['status'];
        $name = $dt['fname'].' '.$dt['sname']. ' '.$dt['lname'];
        $role = $dt['role'];
        $picture = $dt['picture'];
        if($role === 'owner') {
            $role = 'Direktør';
        }
        if($role === 'accountant') {
            $role = 'Bogholder';
        }
        if($role === 'selling') {
            $role = 'Sælger';
        }
        if($role === 'support') {
            $role = 'Support';
        }
        if($role === 'technician') {
            $role = 'Tekniker';
        }
        if($role === 'stock') {
            $role = 'Lager';
        }
        if($role === 'programmer') {
            $role = 'Programmør';
        }
        if(empty($picture)) {
            $picture = 'nopic.jpg';
        }
        if($status === '1') {
            $status = '<i class="fa fa-circle" style="color: green; font-style: normal;"></i> <i style="color: green; font-style: normal;">Online</i>';
            $output .= '
            <li class="list-group-item" style="border-radius: 0">
                        <img src="'.URL.'public/img/employee/'.$picture.'" width="30px" class="rounded rounded-circle" style="float: left;">
                        <span style="float: left; margin-left: 15px;">'.$name.'</span>
                        <span style="float: left; margin-left: 15px;">'.$status.' <i class="fa fa-flash" style="margin-left: 10px;"></i> '.$role.'</span>
            </li>
            ';
        } else {
            $status = '<i class="fa fa-circle" style="color: red; font-style: normal;"></i> <i style="color: red; font-style: normal;">Offline</i>';
            $output .= '
            <li class="list-group-item" style="border-radius: 0">
                        <img src="'.URL.'public/img/employee/'.$picture.'" width="30px" class="rounded rounded-circle" style="float: left;">
                        <span style="float: left; margin-left: 15px;">'.$name.'</span>
                        <span style="float: left; margin-left: 15px;">'.$status.' <i class="fa fa-flash" style="margin-left: 10px;"></i> '.$role.'</span>
            </li>
            ';
        }
        $data = array(
            'emperlist' => $output
        );
    }
}



echo json_encode($data);

her kommer min js fil som hedder employee_list.js
$(document).ready(function () {
    function load_employee_list(view) {
        $.ajax({
            url:'../views/admin/inc/data/employee_list.php',
            type: 'post',
            data:{view:view},
            dataType:'json',
            success:function (data) {
                $('#employee_list').html(data.emperlist);
            }
        });
    }
    load_employee_list();

    setInterval(function () {
        load_employee_list()
    }, 1000);
});

Det hele skal ligge i min employee_list som ligger i min header.php. den kommer her.

header.php
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
    <link rel="stylesheet" href="<?php echo URL; ?>public/css/styles.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
    <script src="<?php echo URL; ?>public/js/users.js"></script>
    <script src="<?php echo URL; ?>public/js/employee_list.js"></script>
</head>
<body>
<div class="bg-dark" id="topbar">
    <nav class="navbar navbar-expand-sm w-auto float-left">
        <a href="<?php echo URL; ?>admin" class="navbar-brand" style="float: left;"><b class="text-primary">JP-PRO</b> <b class="text-light">SOFTWARE</b></a>
    </nav>
    <?php if(Session::get('adminLoggedIn') == true): ?>
    <nav class="navbar navbar-expand-sm bg-dark navbar-dark justify-content-end">
        <ul class="navbar-nav">
            <li class="nav-item"><a href="#" class="nav-link fa fa-users" data-toggle="tooltip" data-placement="bottom" title="Vis/Skjul Messenger" onclick="myFunction()"></a></li>
            <li class="nav-item"><a href="#" class="nav-link fa fa-globe"></a></li>
            <li class="nav-item"><a href="#" class="nav-link fa fa-envelope"></a></li>
            <li class="nav-item"><a href="<?php echo URL; ?>admin/logout" class="nav-link fa fa-sign-out"></a></li>
        </ul>
    </nav>
</div>


<aside class="bg-dark" id="sidebar">
        <div class="list-group">
            <?php if(Session::get('role') === 'owner'): ?>
            <div class="dropdown list-group-item p-0 bg-dark">
                <a href="#" class=" list-group-item list-group-item-action bg-dark text-light dropdown-toggle" style="border-radius: 0;" data-toggle="dropdown">Medarbejdere</a>
                <div class="dropdown-menu">
                    <a href="<?php echo URL; ?>admin/all_employee" class="dropdown-item">Alle Medarbejdere</a>
                    <a href="<?php echo URL; ?>admin/new_employee" class="dropdown-item">Opret Medarbejder</a>
                </div>
            </div>
            <?php endif; ?>
            <a href="#" class="list-group-item list-group-item-action bg-dark text-light" style="border-radius: 0;"">Menu Liste</a>
            <a href="#" class="list-group-item list-group-item-action bg-dark text-light" style="border-radius: 0;"">Menu Liste</a>
            <a href="#" class="list-group-item list-group-item-action bg-dark text-light" style="border-radius: 0;"">Menu Liste</a>
            <a href="#" class="list-group-item list-group-item-action bg-dark text-light" style="border-radius: 0;"">Menu Liste</a>
            <a href="#" class="list-group-item list-group-item-action bg-dark text-light" style="border-radius: 0;"">Menu Liste</a>
            <a href="#" class="list-group-item list-group-item-action bg-dark text-light" style="border-radius: 0;"">Menu Liste</a>
            <a href="#" class="list-group-item list-group-item-action bg-dark text-light" style="border-radius: 0;"">Menu Liste</a>
            <a href="#" class="list-group-item list-group-item-action bg-dark text-light" style="border-radius: 0;"">Menu Liste</a>
            <a href="#" class="list-group-item list-group-item-action bg-dark text-light" style="border-radius: 0;"">Menu Liste</a>
            <a href="#" class="list-group-item list-group-item-action bg-dark text-light" style="border-radius: 0;"">Menu Liste</a>
            <a href="#" class="list-group-item list-group-item-action bg-dark text-light" style="border-radius: 0;"">Menu Liste</a>
        </div>
</aside>
<?php
$con = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if(mysqli_connect_errno()) {
    die('Kunne ikke forbinde til ' . DB_NAME . ': ' . mysqli_connect_error());
}
?>
<aside id="messenger">
***************************************************************************************
    <ul class="list-group" id="employee_list">

    </ul>
***************************************************************************************
</aside>
<?php endif; ?>

Jeg håber i kan hjælpe med at få det løst. jeg kan simpelt hen ikke finde ud af hvad jeg har gjort forkert. På forhånd tak for hjælpen

Venlig hilsen

Delphiuser
Slater Ekspert
29. november 2018 - 15:40 #1
Du kan ikke beskrive lidt nærmere hvad problemet er eller hvor det sker, vel?
Når der er database med er det jo lidt besværligt for os andre lige at sætte et miljø op og teste selv.
delphiuser Mester
29. november 2018 - 15:49 #2
problemet sker med overførsel fra min employee_list.php til min employee_list.js

når jeg tester min employee_list.php skriver den fint alle mine dataer ud i en array som den skal. Men det virker ikke til at den overføre det til min employee_list.js

Den viser ihverfald ikke noget i min medarbejder liste som den burde gøre.
delphiuser Mester
29. november 2018 - 16:03 #3
Jeg har fundet fejlen selv nu. beklager ulejligheden.

fejlen lå i min employee_list.php

$con = mysqli_connect('localhost', 'jp_pro_dk', '****', 'jp_pro_dk');
if(mysqli_connect_errno()) {
    die('kunne ikke forbinde til databasen: ' . mysqli_connect_error());
}

define('URL', 'http://jp-pro/');

$sql = "select * from employees";
$result = $con->query($sql);
$output = '';
$count = $result->num_rows;
if($count > 0) {
    echo '
        <li class="list-group-item list-group-item-secondary text-center" style="border-radius: 0">Medarbejder Liste</li>';
    while ($dt = $result->fetch_array()) {
        $status = $dt['status'];
        $name = $dt['fname'].' '.$dt['sname']. ' '.$dt['lname'];
        $role = $dt['role'];
        $picture = $dt['picture'];
        if($role === 'owner') {
            $role = 'Direktør';
        }
        if($role === 'accountant') {
            $role = 'Bogholder';
        }
        if($role === 'selling') {
            $role = 'Sælger';
        }
        if($role === 'support') {
            $role = 'Support';
        }
        if($role === 'technician') {
            $role = 'Tekniker';
        }
        if($role === 'stock') {
            $role = 'Lager';
        }
        if($role === 'programmer') {
            $role = 'Programmør';
        }
        if(empty($picture)) {
            $picture = 'nopic.jpg';
        }
        if($status === '1') {
            $status = '<i class="fa fa-circle" style="color: green; font-style: normal;"></i> <i style="color: green; font-style: normal;">Online</i>';
            $output .= '
            <li class="list-group-item" style="border-radius: 0">
                        <img src="'.URL.'public/img/employee/'.$picture.'" width="30px" class="rounded rounded-circle" style="float: left;">
                        <span style="float: left; margin-left: 15px;">'.$name.'</span>
                        <span style="float: left; margin-left: 15px;">'.$status.' <i class="fa fa-flash" style="margin-left: 10px;"></i> '.$role.'</span>
            </li>
            ';
        } else {
            $status = '<i class="fa fa-circle" style="color: red; font-style: normal;"></i> <i style="color: red; font-style: normal;">Offline</i>';
            $output .= '
            <li class="list-group-item" style="border-radius: 0">
                        <img src="'.URL.'public/img/employee/'.$picture.'" width="30px" class="rounded rounded-circle" style="float: left;">
                        <span style="float: left; margin-left: 15px;">'.$name.'</span>
                        <span style="float: left; margin-left: 15px;">'.$status.' <i class="fa fa-flash" style="margin-left: 10px;"></i> '.$role.'</span>
            </li>
            ';
        }
        $data = array(
            'emperlist' => $output
        );
    }
}



echo json_encode($data);

rettelsen jeg lavede også virker det bare maks var dette

$con = mysqli_connect('localhost', 'jp_pro_dk', '****', 'jp_pro_dk');
if(mysqli_connect_errno()) {
    die('kunne ikke forbinde til databasen: ' . mysqli_connect_error());
}

define('URL', 'http://jp-pro/');

$sql = "select * from employees";
$result = $con->query($sql);
$output = '';
$count = $result->num_rows;
if($count > 0) {
***********************************************************************************************
  output .=  '
        <li class="list-group-item list-group-item-secondary text-center" style="border-radius: 0">Medarbejder Liste</li>';
***********************************************************************************************
    while ($dt = $result->fetch_array()) {
        $status = $dt['status'];
        $name = $dt['fname'].' '.$dt['sname']. ' '.$dt['lname'];
        $role = $dt['role'];
        $picture = $dt['picture'];
        if($role === 'owner') {
            $role = 'Direktør';
        }
        if($role === 'accountant') {
            $role = 'Bogholder';
        }
        if($role === 'selling') {
            $role = 'Sælger';
        }
        if($role === 'support') {
            $role = 'Support';
        }
        if($role === 'technician') {
            $role = 'Tekniker';
        }
        if($role === 'stock') {
            $role = 'Lager';
        }
        if($role === 'programmer') {
            $role = 'Programmør';
        }
        if(empty($picture)) {
            $picture = 'nopic.jpg';
        }
        if($status === '1') {
            $status = '<i class="fa fa-circle" style="color: green; font-style: normal;"></i> <i style="color: green; font-style: normal;">Online</i>';
            $output .= '
            <li class="list-group-item" style="border-radius: 0">
                        <img src="'.URL.'public/img/employee/'.$picture.'" width="30px" class="rounded rounded-circle" style="float: left;">
                        <span style="float: left; margin-left: 15px;">'.$name.'</span>
                        <span style="float: left; margin-left: 15px;">'.$status.' <i class="fa fa-flash" style="margin-left: 10px;"></i> '.$role.'</span>
            </li>
            ';
        } else {
            $status = '<i class="fa fa-circle" style="color: red; font-style: normal;"></i> <i style="color: red; font-style: normal;">Offline</i>';
            $output .= '
            <li class="list-group-item" style="border-radius: 0">
                        <img src="'.URL.'public/img/employee/'.$picture.'" width="30px" class="rounded rounded-circle" style="float: left;">
                        <span style="float: left; margin-left: 15px;">'.$name.'</span>
                        <span style="float: left; margin-left: 15px;">'.$status.' <i class="fa fa-flash" style="margin-left: 10px;"></i> '.$role.'</span>
            </li>
            ';
        }
        $data = array(
            'emperlist' => $output
        );
    }
}

echo json_encode($data);

Så alt jeg gjorde var at ændre denne line fra:

echo =  '
        <li class="list-group-item list-group-item-secondary text-center" style="border-radius: 0">Medarbejder Liste</li>';

til:

output .=  '
        <li class="list-group-item list-group-item-secondary text-center" style="border-radius: 0">Medarbejder Liste</li>';
Slater Ekspert
29. november 2018 - 16:11 #4
Det var godt - og god stil at skrive løsningen.

Og husk at ændre det password fra før ;)
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.

Opret Preview

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





Premium
Microsoft bekræfter gigant-opkøb af AI-selskabet Nuance
Nuance Communication, der blandt andet har leveret teknologi til Apples Siri, er blevet opkøbt af Microsoft, der mandag eftermiddag bekræfter handlen.
Computerworld
Gigantisk datalæk: 600.000 danskeres Facebook-data offentliggjort på hackerforum
Data om 533 millioner Facebook-brugere på verdensplan er i weekenden blev lækket på hackerforum.
CIO
Har du rost din mellemleder i dag? Snart er de uddøde - og det er et tab
Computerworld mener: Mellemledere lever livet farligt: Topledelsen får konstant ideer med skiftende hold i virkeligheden, og moden går mod flade agile organisationer. Men mellemlederen er en overset hverdagens helt med et kæmpe ansvar. Her er min hyldest til den ofte latterliggjorte mellemleder.
Job & Karriere
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
"Vi var nødt til at sige til dem, at I er nødt til at sende ham hjem nu, for han begynder at knække"
White paper
Overser du muligheder for at optimere din Dynamics-investering?
Der er omfattende og ofte oversete muligheder for at understøtte centrale forretningsprocesser med Dynamics 365 Finance & Operations.