Avatar billede kulip Nybegynder
05. september 2006 - 19:42 Der er 26 kommentarer

Tegninger, som skal være røde .

Hejsa, altså jeg har dette her billede: http://www.vhcamp.dk/pladser2.jpg
Vil gerne have lavet sådan at hvis 1 står i tabellen "login" og kolonne "plads", så skal den gøre plads 1 rød, hvis det ikke står der så grøn, og sådan skal den gøre det hele vejen igennem. Ved ikke om det kan lade sig gøre, hvis ikke . har i så en ide til hvordan man så kan gøre det?
Avatar billede jakobdo Ekspert
05. september 2006 - 22:09 #1
Prøv at se lidt her: http://www.codebreaker.dk/exp/730567exp.php
<?php
//http://www.eksperten.dk/spm/730567

function LoadJpeg($imgname)
{
    $im = @imagecreatefromjpeg($imgname); /* Attempt to open */
    if (!$im)
    {
        /* See if it failed */
        $im  = imagecreatetruecolor(150, 30); /* Create a black image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}

$img = 'http://www.vhcamp.dk/pladser2.jpg';
$plads = array();

//X, Y, Height, Width
$plads[1] = array(100,10,50,50);

$myImage = LoadJpeg($img);

$green = imagecolorallocate($myImage,  0, 255,  0);
$red  = imagecolorallocate($myImage, 255,  0,  0);

imagefilledrectangle($myImage,  10,  10, 50, 50, $green);
imagefilledrectangle($myImage, 100, 100, 140, 140, $red);

header("Content-type: image/jpeg");
imagepng($myImage);
imagedestroy($myImage);

?>
Avatar billede kulip Nybegynder
06. september 2006 - 12:41 #2
kan du forklarer mig det der?
Avatar billede kulip Nybegynder
06. september 2006 - 12:43 #3
og hvordan jeg får det til at passe, sådan at den læser det fra databasen osv.?
Avatar billede jakobdo Ekspert
06. september 2006 - 13:32 #4
Prøv at se her nu: http://www.eksperten.dk/spm/730567

Koden er her:

<?php
//http://www.eksperten.dk/spm/730567

function LoadJpeg($imgname)
{
    $im = @imagecreatefromjpeg($imgname); /* Attempt to open */
    if (!$im)
    {
        /* See if it failed */
        $im  = imagecreatetruecolor(150, 30); /* Create a black image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}

$img = 'http://www.vhcamp.dk/pladser2.jpg';
$pladser = array();

//X, Y, Height, Width, 1 = green & 0 = red
$pladser[1] = array(175,64,216,96,1);
$pladser[2] = array(218,64,259,96,0);

$myImage = LoadJpeg($img);

$green = imagecolorallocate($myImage,  0, 255,  0);
$red  = imagecolorallocate($myImage, 255,  0,  0);
$black = imagecolorallocate($myImage,  0,  0,  0);

foreach($pladser AS $nummer => $plads)
{
    $x1 = $plads[0];
    $y1 = $plads[1];
    $x2 = $plads[2];
    $y2 = $plads[3];
    $xt = ($x1+$x2)/2;
    $yt = ($y1+$y2)/2;
   
    $color = ($plads[4] == 0)? $red : $green;
   
    imagefilledrectangle($myImage, $x1, $y1, $x2, $y2, $color);
    imagestring($myImage, 5, $xt, $yt, $nummer, $black);
}

header("Content-type: image/jpeg");
imagepng($myImage);
imagedestroy($myImage);

?>

Der du så skal sætte ind, det er koordinaterne for pladserne.
Og så skal 1 eller 0 sættes hvis pladsen er optaget eller ej.
Avatar billede kulip Nybegynder
06. september 2006 - 13:58 #5
mange tak, kan du hjælpe mig med hvordan jeg kobler det på databasen? så mangler jeg nemlig ikke mere :)
Avatar billede kulip Nybegynder
06. september 2006 - 15:33 #6
Det ser sådan her ud nu, skal bare have lavet sådan at det tjekker om pladsen er tilmeldt i databasen.

<?php
//http://www.eksperten.dk/spm/730567

function LoadJpeg($imgname)
{
    $im = @imagecreatefromjpeg($imgname); /* Attempt to open */
    if (!$im)
    {
        /* See if it failed */
        $im  = imagecreatetruecolor(150, 30); /* Create a black image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}

$img = 'http://www.vhcamp.dk/pladser2.jpg';
$pladser = array();

//X, Y, Height, Width, 1 = green & 0 = red
$pladser[1] = array(168,0,213,26,1);
$pladser[2] = array(214,0,257,26,0);
$pladser[3] = array(175,64,216,96,1);
$pladser[4] = array(218,64,259,96,0);
$pladser[5] = array(261,64,301,96,1);
$pladser[6] = array(303,64,343,96,1);
$pladser[7] = array(175,98,216,130,1);
$pladser[8] = array(218,98,259,130,1);
$pladser[9] = array(261,98,301,130,1);
$pladser[10] = array(303,98,343,130,1);
$pladser[11] = array(371,31,403,72,1);
$pladser[12] = array(371,74,403,114,1);
$pladser[13] = array(371,116,403,157,1);
$pladser[14] = array(371,159,403,200,1);
$pladser[15] = array(427,31,459,72,1);
$pladser[16] = array(427,74,459,114,1);
$pladser[17] = array(427,116,459,157,1);
$pladser[18] = array(427,159,459,200,1);
$pladser[19] = array(478,31,510,72,1);
$pladser[20] = array(478,74,510,114,1);
$pladser[21] = array(478,116,510,157,1);
$pladser[22] = array(478,159,510,200,1);
$pladser[23] = array(534,31,566,72,1);
$pladser[24] = array(534,74,566,114,1);
$pladser[25] = array(534,116,566,157,1);
$pladser[26] = array(534,159,566,200,1);
$pladser[27] = array(7,234,48,266,1);
$pladser[28] = array(50,234,91,266,1);
$pladser[29] = array(93,234,133,266,1);
$pladser[30] = array(135,234,176,266,1);
$pladser[31] = array(7,268,48,300,1);
$pladser[32] = array(50,268,91,300,1);
$pladser[33] = array(93,268,133,300,1);
$pladser[34] = array(135,268,176,300,1);
$pladser[35] = array(204,234,245,266,1);
$pladser[36] = array(247,234,288,266,1);
$pladser[37] = array(290,234,330,266,1);
$pladser[38] = array(332,234,373,266,1);
$pladser[39] = array(204,268,245,300,1);
$pladser[40] = array(247,268,288,300,1);
$pladser[41] = array(290,268,330,300,1);
$pladser[42] = array(332,268,373,300,1);
$pladser[43] = array(399,234,440,266,1);
$pladser[44] = array(442,234,483,266,1);
$pladser[45] = array(485,234,525,266,1);
$pladser[46] = array(527,234,568,266,1);
$pladser[47] = array(399,268,440,300,1);
$pladser[48] = array(442,268,483,300,1);
$pladser[49] = array(485,268,525,300,1);
$pladser[50] = array(527,268,568,300,1);

$myImage = LoadJpeg($img);

$green = imagecolorallocate($myImage,  0, 255,  0);
$red  = imagecolorallocate($myImage, 255,  0,  0);
$black = imagecolorallocate($myImage,  0,  0,  0);

foreach($pladser AS $nummer => $plads)
{
    $x1 = $plads[0];
    $y1 = $plads[1];
    $x2 = $plads[2];
    $y2 = $plads[3];
    $xt = ($x1+$x2)/2;
    $yt = ($y1+$y2)/2;
   
    $color = ($plads[4] == 0)? $red : $green;
   
    imagefilledrectangle($myImage, $x1, $y1, $x2, $y2, $color);
    imagestring($myImage, 5, $xt, $yt, $nummer, $black);
}

header("Content-type: image/jpeg");
imagepng($myImage);
imagedestroy($myImage);

?>
Avatar billede jakobdo Ekspert
07. september 2006 - 08:12 #7
Hvordan er din tabel med tilmeldinger?
Avatar billede kulip Nybegynder
09. september 2006 - 19:12 #8
CREATE TABLE `login4` (
  `id` int(11) NOT NULL auto_increment,
  `brugernavn` varchar(255) NOT NULL default '',
  `password` varchar(255) NOT NULL default '',
  `alder` varchar(255) NOT NULL default '',
  `plads` varchar(255) NOT NULL default '',
  `emne` varchar(255) NOT NULL default '',
  `mail` varchar(255) NOT NULL default '',
  `news` text NOT NULL,
  `rank` varchar(255) NOT NULL default '',
  `betalt` varchar(50) NOT NULL default '',
  `klan` varchar(100) NOT NULL default '',
  `land` varchar(50) NOT NULL default '',
  `tilmeldt` varchar(50) NOT NULL default '0000-00-00',
  `varetmed` varchar(200) NOT NULL default '',
  `mobtlf` varchar(200) NOT NULL default '',
  `hjemtlf` varchar(200) NOT NULL default '',
  `kr` varchar(255) NOT NULL default '',
  `adr` varchar(255) NOT NULL default '',
  `type` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=48
Avatar billede jakobdo Ekspert
09. september 2006 - 20:28 #9
Så skal du lave noget ala:
SELECT plads FROM login4 WHERE tilmeldt = 1 (eller hvad du sætter når en person er tilmeldt)
Avatar billede kulip Nybegynder
09. september 2006 - 23:00 #10
Jakobdo> hvor skal jeg indsætte det, det er det jeg ikke forstår?
Avatar billede jakobdo Ekspert
10. september 2006 - 09:05 #11
Sådan f.eks.:

<?php
//http://www.eksperten.dk/spm/730567

function LoadJpeg($imgname)
{
    $im = @imagecreatefromjpeg($imgname); /* Attempt to open */
    if (!$im)
    {
        /* See if it failed */
        $im  = imagecreatetruecolor(150, 30); /* Create a black image */
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);
        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
        /* Output an errmsg */
        imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
    }
    return $im;
}
//
//
//Husk CONNECT til din database...
//
//

//Her laver vi array over alle tilmeldte...
//Brugt til test...
//$tilmeldte = array(1 => 'jakobdo', 5 => 'kulip');

$tilmeldte = array();
$query = mysql_query('SELECT plads,brugernavn FROM login4 WHERE tilmeldt = 1') or die(mysql_error());
if(mysql_num_rows($query>0))
{
    while($row = mysql_fetch_assoc($query))
    {
        $tilmeldte[$row['plads']] = $row['brugernavn'];
    }
}

$img = 'http://www.vhcamp.dk/pladser2.jpg';
$pladser = array();

//X, Y, Height, Width, 1 = green & 0 = red
$pladser[1] = array(168,0,213,26);
$pladser[2] = array(214,0,257,26);
$pladser[3] = array(175,64,216,96);
$pladser[4] = array(218,64,259,96);
$pladser[5] = array(261,64,301,96);
$pladser[6] = array(303,64,343,96);
$pladser[7] = array(175,98,216,130);
$pladser[8] = array(218,98,259,130);
$pladser[9] = array(261,98,301,130);
$pladser[10] = array(303,98,343,130);
$pladser[11] = array(371,31,403,72);
$pladser[12] = array(371,74,403,114);
$pladser[13] = array(371,116,403,157);
$pladser[14] = array(371,159,403,200);
$pladser[15] = array(427,31,459,72);
$pladser[16] = array(427,74,459,114);
$pladser[17] = array(427,116,459,157);
$pladser[18] = array(427,159,459,200);
$pladser[19] = array(478,31,510,72);
$pladser[20] = array(478,74,510,114);
$pladser[21] = array(478,116,510,157);
$pladser[22] = array(478,159,510,200);
$pladser[23] = array(534,31,566,72);
$pladser[24] = array(534,74,566,114);
$pladser[25] = array(534,116,566,157);
$pladser[26] = array(534,159,566,200);
$pladser[27] = array(7,234,48,266);
$pladser[28] = array(50,234,91,266);
$pladser[29] = array(93,234,133,266);
$pladser[30] = array(135,234,176,266);
$pladser[31] = array(7,268,48,300);
$pladser[32] = array(50,268,91,300);
$pladser[33] = array(93,268,133,300);
$pladser[34] = array(135,268,176,300);
$pladser[35] = array(204,234,245,266);
$pladser[36] = array(247,234,288,266);
$pladser[37] = array(290,234,330,266);
$pladser[38] = array(332,234,373,266);
$pladser[39] = array(204,268,245,300);
$pladser[40] = array(247,268,288,300);
$pladser[41] = array(290,268,330,300);
$pladser[42] = array(332,268,373,300);
$pladser[43] = array(399,234,440,266);
$pladser[44] = array(442,234,483,266);
$pladser[45] = array(485,234,525,266);
$pladser[46] = array(527,234,568,266);
$pladser[47] = array(399,268,440,300);
$pladser[48] = array(442,268,483,300);
$pladser[49] = array(485,268,525,300);
$pladser[50] = array(527,268,568,300);

$myImage = LoadJpeg($img);

$green = imagecolorallocate($myImage,  0, 255,  0);
$red  = imagecolorallocate($myImage, 255,  0,  0);
$black = imagecolorallocate($myImage,  0,  0,  0);

foreach($pladser AS $nummer => $plads)
{
    $x1 = $plads[0];
    $y1 = $plads[1];
    $x2 = $plads[2];
    $y2 = $plads[3];
    $xt = ($x1+$x2)/2;
    $yt = ($y1+$y2)/2;
     
      if(array_key_exists($nummer, $tilmeldte))
        $color = $red;
    else
        $color = $green;
 
    imagefilledrectangle($myImage, $x1, $y1, $x2, $y2, $color);
    imagestring($myImage, 5, $xt, $yt, $nummer, $black);
}

header("Content-type: image/jpeg");
imagepng($myImage);
imagedestroy($myImage);

?>
Avatar billede kulip Nybegynder
10. september 2006 - 12:14 #12
Så bliver alle pladserne bare grønne.
Avatar billede kulip Nybegynder
10. september 2006 - 12:15 #13
Du bruger jo "WHERE tilmeldt = 1" men tilmeldt er jo den dato de bliver tilmeldt, skal der ikke bruges noget andet?
Avatar billede kulip Nybegynder
10. september 2006 - 13:26 #14
og "  $tilmeldte[$row['plads']] = $row['brugernavn'];" kan det vel heller ikke være pladsen er jo ikke ligmed ens brugernavn, ?
Avatar billede jakobdo Ekspert
10. september 2006 - 14:40 #15
Du må lige selv udtænke din SQL, du ved hvad du har i dine tabeller.
Avatar billede kulip Nybegynder
10. september 2006 - 14:50 #16
ja men jeg forstår ikke helt hvad det der du vil lave.
Avatar billede jakobdo Ekspert
10. september 2006 - 15:05 #17
Jeg vil have du skal lave et udtræk, som giver dig alle pladser som er optaget.
altså noget i stil med:
SELECT id FROM login4 WHERE plads = optaget
Avatar billede kulip Nybegynder
10. september 2006 - 15:10 #18
jeg kan bare ikk forstå hvordan det så vil blive 1 eller 0 dernede hvor den skal gøre dem grønne eller røde, kan du ikke få koden til databasen over msn så kan du se hvordan det ser ud også passe det dertil?
Avatar billede jakobdo Ekspert
10. september 2006 - 15:20 #19
Fang mig lige på msn! Så ser vi på det.
Avatar billede kulip Nybegynder
10. september 2006 - 15:27 #20
jep, så kom lige på :)
Avatar billede jakobdo Ekspert
10. september 2006 - 15:34 #21
Hvad er dit msn navn?
Avatar billede kulip Nybegynder
10. september 2006 - 15:35 #22
Gudiik 8D - med hul i bukserne..
Avatar billede kulip Nybegynder
10. september 2006 - 15:48 #23
kommer du på?
Avatar billede jakobdo Ekspert
10. september 2006 - 15:59 #24
Hvad er din email?
Avatar billede kulip Nybegynder
10. september 2006 - 16:05 #25
Daniel@smart-host.dk
Avatar billede jakobdo Ekspert
10. september 2006 - 16:28 #26
Du får lige et svar!
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