Avatar billede lurup Ekspert
22. september 2016 - 01:13 Der er 5 kommentarer og
1 løsning

hente data fra webservice

Jeg henter dada fra en webservice som fungere rigtig godt.

Har dog en problem.
jeg får kun vist en ting pr klokke slet ??
Fx er der 4-8 klasser der har time mellem 8-9

<span style="font-size:16pt">

<span style="font-family:'Comic Sans MS', Comic, Monospace">

<link rel="stylesheet" type="text/css" href="css.css" />



<?php
$enhed_ar = array("Køkkenvagter");
$simple = simplexml_load_file('https://dhe.skoleplan.skoleit.dk/SPService.asmx/AktuelleSkema');
$str="";
$str .= '<table>';
foreach ($simple->Tidsrum as $tidsrum) { 
    if(!in_array($tidsrum->Enhed->Navn, $enhed_ar)){
        $str .= "<tr>";
        $str .= "<td>".$tidsrum->StartTid."</td>";
        $str .= "<td>-</td>";
        $str .= "<td>".$tidsrum->SlutTid."</td>";
        $str .= "<td>".$tidsrum->Enhed->Navn."</td>";
        $str .= "<td>".$tidsrum->Enhed->Lokale."</td>";
        $str .= "<td>".$tidsrum->Enhed->Laerer."</td>";
        $str .= "</tr>";
    }
}
$str .= '</table>';
echo $str;
//echo"-";

?>
Avatar billede Slater Ekspert
22. september 2016 - 07:06 #1
Der skal du have endnu en løkke indeni, f.eks. sådan:

foreach ($simple as $tidsrum) { 
    if(!in_array($tidsrum->Enhed->Navn, $enhed_ar)){
        foreach ($tidsrum->Enhed as $enhed) {
            $str .= "<tr>";
            $str .= "<td>".$tidsrum->StartTid."</td>";
            $str .= "<td>-</td>";
            $str .= "<td>".$tidsrum->SlutTid."</td>";
            $str .= "<td>".$enhed->Navn."</td>";
            $str .= "<td>".$enhed->Lokale."</td>";
            $str .= "<td>".$enhed->Laerer."</td>";
        }
        $str .= "</tr>";
    }
}
Avatar billede lurup Ekspert
22. september 2016 - 12:46 #2
1000 tak det virker 100%

Kan jeg fjerne den tomme linie der er over teksten ??

Er det mulig at lave så der kun vises 20 linie ??( ser ikke godt ud med en halv linie i bunden.
Avatar billede Slater Ekspert
22. september 2016 - 13:26 #3
Hov, den ene linje stod forkert i mit eksempel. Den afsluttende </tr> skal rykkes ind i løkken, altså ikke

    $str .= "<td>".$enhed->Laerer."</td>";
}
$str .= "</tr>";

men i stedet:

    $str .= "<td>".$enhed->Laerer."</td>";
    $str .= "</tr>";
}

- Men ud over det, ved jeg ikke hvilken tom linje, du mener. Er det noget der kommer fra din CSS, som vi ikke har?
Avatar billede olsensweb.dk Ekspert
22. september 2016 - 13:27 #4
>Kan jeg fjerne den tomme linie der er over teksten ??
hvilke tom linje ?? kig på din HTML

hvis du mener
12:15    -    13:05    Middagsmad       
13:05    -    13:55    Fysik/kemi 9A    Fysik    HA
.....
11:20    -    12:10    Støtte 0        SD,WB
12:15    -    13:05    Middagsmad       

linjerne 12:15 er ikke tomme, de har bare ikke nogle Lokale og Laerer



>Er det mulig at lave så der kun vises 20 linie
Ja, lav en variabel du sætter til 0 uden for løkken, og tæller op inde i den indre løkke.
når variablen når 20 laves en break
http://php.net/manual/en/control-structures.break.php
Avatar billede lurup Ekspert
22. september 2016 - 22:44 #5
I kan se den tomme linie her
allanurup.dk/ramme30

css

<style type="text/css">
table{
border: 1px solid black;
}
       
tr:nth-child(even) {
background-color: lightgray;
}


tr:nth-child(odd) {
background-color: white;
}               
</style>



php

<span style="font-size:16pt">

<span style="font-family:'Comic Sans MS', Comic, Monospace">

<link rel="stylesheet" type="text/css" href="css.css" />



<?php
$enhed_ar = array("Køkkenvagter");
$simple = simplexml_load_file('https://dhe.skoleplan.skoleit.dk/SPService.asmx/AktuelleSkema');

$str="";
$str .= '<table>';
foreach ($simple as $tidsrum) {
    if(!in_array($tidsrum->Enhed->Navn, $enhed_ar))

{
        foreach ($tidsrum->Enhed as $enhed)
{
            $str .= "<tr>";
           
$str .= "<td>".$tidsrum->StartTid."</td>";
         
$str .= "<td>-</td>";
         
$str .= "<td>".$tidsrum->SlutTid."</td>";
         
$str .= "<td>".$enhed->Navn."</td>";
           
$str .= "<td>".$enhed->Lokale."</td>";
           

$str .= "<td>".$enhed->Laerer."</td>";
               
$str .= "</tr>";
}
    }
}

$str .= '</table>';
echo $str;
//echo"-";

?>
Avatar billede olsensweb.dk Ekspert
23. september 2016 - 00:22 #6
når du har rettet dine validerings fejl, så forsvinder fejlen
https://validator.w3.org/nu/?doc=http%3A%2F%2Fallanurup.dk%2Framme30


jeg ser bla nogle span der ikke er afsluttet
jeg ser noget afslutning div


dette
<span style="font-size:16pt">
<span style="font-family:'Comic Sans MS', Comic, Monospace">

skal ligges i CSS
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

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