Jump to content

Archived

This topic is now archived and is closed to further replies.

Tatara

Sql and PHP+GD

Recommended Posts

I want to create a script that creates an image on the fly based on one $HTTP_GET_VARS and two or three sql commands

this is the base for what i want but instead of using the http_get_vars function i want to call the data from a database the only HTTP_GET_VARS i want is a 'user'
[code]<?php

$item = $HTTP_GET_VARS['item'];
$have = $HTTP_GET_VARS['have'];
$need = $HTTP_GET_VARS['need'];
$height = 40;
$width = 116;
$fontsize = 6;
$frac = $have/$need;
$pct = 100 * $frac;

$img = imagecreate($width,$height);
$red = imagecolorallocate($img,255,0,0);
$black = imagecolorallocate($img,0,0,0);
$white = imagecolorallocate($img,255,255,255);
$bg = imageCreateFromPNG ('bg.png');
$bar =imageCreateFromPNG ('fill.png');
imageSetTile ($img, $bg);
imageFilledRectangle ($img, 0, 0, 116, 40, IMG_COLOR_TILED);
imageSetTile ($img, $bar);
ImageFilledRectangle($img, 7, 22, (114 * $frac), 34, IMG_COLOR_TILED);

$font = '04B_09__.ttf';
$text1 = "Questing For";
$text2 = $item;
$text3 = $have . "/" . $need;
$textwidth1 = floor(imagefontwidth($font) * strlen($text1));
$textleft1 = (($width - $textwidth1) / 2) + 12;
$textwidth2 = floor(imagefontwidth($font) * strlen($text2));
$textleft2 = (($width - $textwidth2) / 2) + 12;
imagettftext($img, $fontsize, 0, $textleft1, 8, $white, $font, $text1);
imagettftext($img, $fontsize, 0, $textleft2, 19, $white, $font, $text2);
imagettftext($img, 6, 0, 46, 32, $black, $font, $text3);

header('content-type: image/png');
imagepng($img);
   
?>[/code]
Can anybody help

Share this post


Link to post
Share on other sites
... then include a connection to the database and execute whatever query you need to retrieve whatever information you want in the same script.

Share this post


Link to post
Share on other sites
Ok ill comment what i want in the coding. I know how to code the connection and the query but i do not know how to add it to the variable

[code]<?php

//add $user = $HTTP_GET_VARS['user'];
//used to find which user to query for in the database

//change these to get the value from the results of the query
$item = $HTTP_GET_VARS['item'];
$have = $HTTP_GET_VARS['have'];
$need = $HTTP_GET_VARS['need'];
$height = 40;
$width = 116;
$fontsize = 6;
$frac = $have/$need;
$pct = 100 * $frac;

$img = imagecreate($width,$height);
$red = imagecolorallocate($img,255,0,0);
$black = imagecolorallocate($img,0,0,0);
$white = imagecolorallocate($img,255,255,255);
$bg = imageCreateFromPNG ('bg.png');
$bar =imageCreateFromPNG ('fill.png');
imageSetTile ($img, $bg);
imageFilledRectangle ($img, 0, 0, 116, 40, IMG_COLOR_TILED);
imageSetTile ($img, $bar);
ImageFilledRectangle($img, 7, 22, (114 * $frac), 34, IMG_COLOR_TILED);

$font = '04B_09__.ttf';
$text1 = "Questing For";
$text2 = $item;
$text3 = $have . "/" . $need;
$textwidth1 = floor(imagefontwidth($font) * strlen($text1));
$textleft1 = (($width - $textwidth1) / 2) + 12;
$textwidth2 = floor(imagefontwidth($font) * strlen($text2));
$textleft2 = (($width - $textwidth2) / 2) + 12;
imagettftext($img, $fontsize, 0, $textleft1, 8, $white, $font, $text1);
imagettftext($img, $fontsize, 0, $textleft2, 19, $white, $font, $text2);
imagettftext($img, 6, 0, 46, 32, $black, $font, $text3);

header('content-type: image/png');
imagepng($img);
   
?>[/code]

Share this post


Link to post
Share on other sites
[code=php:0]
<?php

//used to find which user to query for in the database
$user = mysql_real_escape_string(trim($HTTP_GET_VARS['user']));

// Query
$sql = "SELECT item, have, need FROM your_db_table WHERE user = '$user'";

// Run Query
$result = mysql_query($sql) or die("Error retrieving user info: ".mysql_error());

// Grab the user results
while( $row = mysql_fetch_array($result) ){
  $item = $row['item'];
  $have = $row['have'];
  $need = $row['need'];
}

// You can get rid of these
//change these to get the value from the results of the query
//$item = $HTTP_GET_VARS['item'];
//$have = $HTTP_GET_VARS['have'];
//$need = $HTTP_GET_VARS['need'];
?>
[/code]

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.