Sida 5 av 8

Re: Arduino - Anropa hemsida

Postat: 13 april 2018, 20:43:33
av GeekJoan
Hittade denna sidan. Tror vi kan hitta på mer bus. http://apikatalogen.se/

Re: Arduino - Anropa hemsida

Postat: 14 april 2018, 01:06:53
av GeekJoan
Snabbisfråga:
else satsen här nedan till vilken av alla if tillhör den?

Kod: Markera allt

		if($bussar["ResponseData"]["Buses"][$i]["LineNumber"] == "509")
		{
			if($bussar["ResponseData"]["Buses"][$i]["Destination"] == "Brommaplan")
				{
				echo "";
				}	
			if($bussar["ResponseData"]["Buses"][$i]["Destination"] == "Danderyds sjukhus")
			{
			?>
				<tr>
				<td bgcolor="#0e4165"> <?php echo "509";?>
				<td bgcolor="#0e4165"> <?php echo "" . $bussar["ResponseData"]["Buses"][$i]["DisplayTime"] . " ";

				if($bussar["ResponseData"]["Buses"][$i]["Deviations"][0] != NULL) 
				{
         			if($bussar["ResponseData"]["Buses"][$i]["Deviations"][0]["Text"] == "Förseningar pga framkomlighetsproblem") 
         			{
         			?>
         				<td bgcolor="#0e4165"> <?php echo "Går enligt tidtabell"; ?> </td>
			    		<td bgcolor="#0e4165"> <?php echo "..."; ?> </td>
						<?php
         			}
					else 
					{ ?>
			    	<td bgcolor="#b80000"> <?php echo " " . $bussar["ResponseData"]["Buses"][$i]["Deviations"][0]["Text"] . " "; ?> </td>
			    	<td bgcolor="#b80000"> <?php echo " " . $bussar["ResponseData"]["Buses"][$i]["ExpectedDateTime"] . " "; ?> </td>
			    	<?php
			    }
				} 			   
			}
		}
	}

Resultat: http://geekjoan.com/multiscreen/sldata_torg_web.php
Jag trodde det var OM Deviations"][0] != NULL INTE är = NULL så gör följande:
OM Text= Förseningar pga framkomlighetsproblem ???
å så kunde jag lägga till echo ny text och expecteddatetime
ANNARS
skriv ut den går enligt tidtabell.

Re: Arduino - Anropa hemsida

Postat: 14 april 2018, 01:42:42
av Kulla
Den tillhör denna if($bussar["ResponseData"]["Buses"][$i]["Deviations"][0]["Text"] == "Förseningar pga framkomlighetsproblem")

Re: Arduino - Anropa hemsida

Postat: 14 april 2018, 14:53:36
av Mickecarlsson
Skriv så här i stället:
Jag ändrade raden if($bussar["ResponseData"]["Buses"][$i]["Deviations"][0]["Text"] != "Förseningar pga framkomlighetsproblem")
från == (lika med) till != (skilt från)

Kod: Markera allt

<?php
// Om vi inte får NULL (!= NULL) har vi data            
if($bussar["ResponseData"]["Buses"][$i]["Deviations"][0] != NULL)
  {
  // Om vi inte har (!=) texten "Förseningar pga framkomlighetsproblem" skriv ut nedan text
  if($bussar["ResponseData"]["Buses"][$i]["Deviations"][0]["Text"] != "Förseningar pga framkomlighetsproblem")
    {
    ?>
    <td bgcolor="#0e4165"> <?php echo "Går enligt tidtabell"; ?> </td>
    <td bgcolor="#0e4165"> <?php echo "..."; ?> </td>
    <?php
    }
  // Om vi har texten "Förseningar pga framkomlighetsproblem" visa detta i stället
  else
    { ?>
    <td bgcolor="#b80000"> <?php echo " " . $bussar["ResponseData"]["Buses"][$i]["Deviations"][0]["Text"] . " "; ?> </td>
    <td bgcolor="#b80000"> <?php echo " " . $bussar["ResponseData"]["Buses"][$i]["ExpectedDateTime"] . " "; ?> </td>
    <?php
    }
  }             
?>
Eller så behåller du din kod och byter plats på texten:

Kod: Markera allt

<?php
// Om vi inte får NULL (!= NULL) har vi data            
if($bussar["ResponseData"]["Buses"][$i]["Deviations"][0] != NULL)
  {
  // Är där förseningar? Visa dessa
  if($bussar["ResponseData"]["Buses"][$i]["Deviations"][0]["Text"] == "Förseningar pga framkomlighetsproblem")
    {
    ?>
    <td bgcolor="#b80000"> <?php echo " " . $bussar["ResponseData"]["Buses"][$i]["Deviations"][0]["Text"] . " "; ?> </td>
    <td bgcolor="#b80000"> <?php echo " " . $bussar["ResponseData"]["Buses"][$i]["ExpectedDateTime"] . " "; ?> </td>
    <?php
    }
  // Annars går bussarna i tid
  else
    { ?>
    <td bgcolor="#0e4165"> <?php echo "Går enligt tidtabell"; ?> </td>
    <td bgcolor="#0e4165"> <?php echo "..."; ?> </td>
    <?php
    }
  }             
?>

Re: Arduino - Anropa hemsida

Postat: 14 april 2018, 22:07:37
av GeekJoan
Man kan ju tycka att det är så det borde funka, men av någon anledning så gör det inte det.
Resultat:
fel.png
Här är koden i sin helhet. Jag har lagt två versioner av json anropet på min server ett där det är förseningar och ett utan.

Kod: Markera allt

<html>
<head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>Trafik</title>
    <style>
        td{font-family:verdana;font-size:12px;color:#FFFFFF;}
    </style>
</head>
<body bgcolor="#203155" leftmargin="1" topmargin="1">

<?php
//Här kan man ändra om man vill ha med förseningar eller inte.
$json = file_get_contents('http://geekjoan.com/multiscreen/sldata_torg_med_fel.json');
//$json = file_get_contents('http://geekjoan.com/multiscreen/sldata.json');

	$bussar = json_decode($json,true);
	$antal_bussar = count($bussar["ResponseData"]["Buses"]);
?>	
	    <table border="0" cellspacing="1" cellpadding="1">
        <tr bgcolor="#111111">
            <td style="width: 40px" valign="top"><b>Buss</b></td>
            <td style="width: 70px" valign="top"><b>Tid</b></td>
            <td style="width: 300px" valign="top"><b>Störningar</b></td>
            <td style="width: 150px" valign="top"><b>Ny beräknad tid</b></td>
        </tr>
        
<?php
	// Plockar bort bussar mot brommaplan
	for ($i =0; $i < $antal_bussar; $i++)
	{
		if($bussar["ResponseData"]["Buses"][$i]["LineNumber"] == "509")
		{
			if($bussar["ResponseData"]["Buses"][$i]["Destination"] == "Brommaplan")
				{
				echo "";
				}	
			if($bussar["ResponseData"]["Buses"][$i]["Destination"] == "Danderyds sjukhus")
			{
			?>
				<tr>
				<td bgcolor="#0e4165"> <?php echo "509";?>
				<td bgcolor="#0e4165"> <?php echo "" . $bussar["ResponseData"]["Buses"][$i]["DisplayTime"] . " ";

				if($bussar["ResponseData"]["Buses"][$i]["Deviations"][0] != NULL)
				{
         			if($bussar["ResponseData"]["Buses"][$i]["Deviations"][0]["Text"] == "Förseningar pga framkomlighetsproblem")
         			//if($bussar["ResponseData"]["Buses"][$i]["Deviations"][0]["Text"] != "Förseningar pga framkomlighetsproblem")
         			{
         			?>
         				<td bgcolor="#0e4165"> <?php echo "Går enligt tidtabell"; ?> </td>
			    		<td bgcolor="#0e4165"> <?php echo "..."; ?> </td>
						<?php
         			}
					else 
					{ ?>
			    	<td bgcolor="#b80000"> <?php echo " " . $bussar["ResponseData"]["Buses"][$i]["Deviations"][0]["Text"] . " "; ?> </td>
			    	<td bgcolor="#b80000"> <?php echo " " . $bussar["ResponseData"]["Buses"][$i]["ExpectedDateTime"] . " "; ?> </td>
			    	<?php
			    }
				} 			   
			}
		}
	}


?>
		</tr>
		</table>
</body>
</html>



Re: Arduino - Anropa hemsida

Postat: 15 april 2018, 02:39:59
av GeekJoan
OT: Av en händelse så såg jag på Her Alibi och författaren i filmen har en laptop av märket Zenith så nu vet vi vad Mickecarlsson kodar på...
her_alibi_supersport_1.jpg

Re: Arduino - Anropa hemsida

Postat: 15 april 2018, 04:29:18
av GeekJoan
BTW, vad kodar ni i för program? Skulle verkligen behöva något nytt som talar om att denna { tillhör denna } så man kan ha kolla på alla [{(.

Re: Arduino - Anropa hemsida

Postat: 15 april 2018, 08:13:07
av Mickecarlsson
Jag äter frukost nu, kollar på din kod om en stund.
Editorerna jag använder heter
1. Sublime Text, den är inte gratis, men otroligt användbar. Finns i testversion. Och finns för Windows och Linux.
2. Notepad++, gratis, finns endast för Windows men är otroligt kraftfull.

Båda har syntax hilight och håller reda på ([ och { genom att sätta ett undlerline-tecken på motsvarande tecken när man sätter cursorn på ett av dom.

Re: Arduino - Anropa hemsida

Postat: 15 april 2018, 09:14:49
av Mickecarlsson
Hittade felet:

Kod: Markera allt

if($bussar["ResponseData"]["Buses"][$i]["Deviations"][0]["Text"] == "Förseningar pga framkomlighetsproblem") 
Det ska stå:

Kod: Markera allt

if($bussar["ResponseData"]["Buses"][$i]["Deviations"][0]["Text"] == "Förseningar pga framkomlighetsproblem") 

Re: Arduino - Anropa hemsida

Postat: 15 april 2018, 09:40:48
av rvl
Har också testat Sublime en del och har inte nåt att klaga på, efter en liten borteditering av nagscreenen men det ska vi inte diskutera här. I synnerhet när jag hört från olika håll "varför använda Sublime när det finns Atom?" Helt öppet och gratis: Atom.

Visual studio code har jag inte testat än, men den verkar rekommenderas varmt i Full Stack kretsar.

Re: Arduino - Anropa hemsida

Postat: 15 april 2018, 10:48:51
av Kulla
När jag skriver i PHP då är det PHP Storm, inte gratis men värt pengarna.
Har också Sublime, använder som text editor på alla platform, den är guldvärt.

Testat Visual Studio Code för lite C programmering i samband med ESP8266 och ESP32.

Atom har jag också använt vid Javascript programmering, den är helt ok, haft några problem att den äter CPU när den borde inte göra.

Re: Arduino - Anropa hemsida

Postat: 15 april 2018, 22:42:13
av GeekJoan
Nu verkar det funka, ändrade lite till: http://geekjoan.com/multiscreen/alla1.htm

Re: Arduino - Anropa hemsida

Postat: 15 april 2018, 23:13:50
av Kulla
Gillar namn på sidan :twisted: :lol:

Re: Arduino - Anropa hemsida

Postat: 15 april 2018, 23:16:20
av sodjan
Dra ihop fältet "Beskrivning". Det är ändå radbrutet och behöver inte den bredden.
Ta bort texterna i de färgade fälten till höger, de finns ändå under tabellen, och
färgerna i sig talar för sig själva.

Re: Arduino - Anropa hemsida

Postat: 16 april 2018, 21:56:16
av GeekJoan
Ska anpassa sidan till en stående skärm som jag har ligger och väntar. Men det får vänta tills allt som ska vara med är klart.