I've got a SQL database that keeps track of which services a client has. I need to create an image using SVG that only displays the services that the client has. The database stores the services in the format 1,2,3,6,7,9
. Here's what I have:
<?php
header("Content-type: image/svg+xml");
$db = new PDO(**[redacted]**);
$grabServices = $db->prepare("SELECT services FROM *** where name= :name");
$grabServices->execute(array(":name" => "test" ));
$services = $grabServices->fetchAll();
$services = explode(",", $services[0][services]);
var_dump($services);
?>
//snip...
<?php if(in_array(1, $services)){?>
<line x1="820" y1="120" x2 ="790" y2="180" class="SaaS"/>
<?php }?>
<?php if(in_array(2, $services)){?>
<line x1="905" y1="180" x2 ="700" y2="370" class="PM"/>
<?php }?>
//etc, etc,
This seems incredibly tedious to me. The only other way I can think to do this would have all the SVG elements created in a PHP array, but that seems even more wasteful. Is there a better way to do this?