You now can look in almost any website or web application where the background colors are alternating. This is a great (and easy) way to improve the user interface for the end users.
Here’s a quick explanation of what’s going on in the demo file below:
First we set the alternating backgrounds we want to use.
$bg1 = "#f5f5f5";
$bg2 = "#FFFFFF";
Then as we pass through a loop of some kind this code snip rotates the variable $bg to the background colors we set above:
$bg = ($i++ & 1) ? $bg1 : $bg2;
In the example files, we’ve added some javascript to the table
’s to add an additional hover effect as well as some styling to improve the look of the tables.
Demo | Source File
Comment if you have any questions or suggestions.
Posted in javascript, php, programing | 2 Comments »
Fade In and Out Images from a Single Directory Using jQuery (with plugin)
Posted by john in javascript, php
A friend of mine recently requested a quick image rotator script that was not using Flash, but would use Javascript. Below is a script that will read through a single directory and look for any image file (jpg, gif, or png) and rotate it.
Requirements:
- PHP
- jQuery (latest version)
- InnerFade plugin (see docs for variables explanations and additional vars)
// Global Variables
$image_dir = "$_SERVER[DOCUMENT_ROOT]/examples/imgs"; // directory on server
$image_relative_path = '/examples/imgs'; // path to images relative to script
$file_types = array('jpg','jpeg','gif','png');
$image_time = '4000'; // seconds each image will display (4000 = 4 seconds)
if($handle = opendir($image_dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$ext_bits = explode(".",$file); // finds file extensions
foreach($ext_bits as $key => $value){
if(in_array($value,$file_types)){
$image_rotation .= '

';
}
}
}
}
closedir($handle);
}
Live demo or source file rotating three images for single directory
If you have any questions about this, please leave a comment.
John
Posted in javascript, php | 11 Comments »
PHP File Last Modified and Filesize (bytes to KB/MB)
Posted by john in php, programing
Here’s a quick snip of code to help you easily manage your files by finding out the time the file was created or modified and also the time of the file.
$file = 'image.jpg';
// FILE TIME
$filetime = filemtime($file); // displays in Seconds since the Unix Epoch
echo date("M j, Y", $filetime); // would display the file creation/modified date as Feb 3, 2007
// FILE SIZES
$filesize = filesize($file); // displays in bytes
$file_kb = round(($file / 1024), 2); // bytes to KB
$file_mb = round(($file / 1048576), 2); // bytes to MB
$file_gb = round(($file / 1073741824), 2); // bytes to GB
// PHP does funny thing for files larger than 2GB
Posted in php, programing | 2 Comments »
Strip Off Characters from String Using PHP (substr)
Posted by john in php, programing
Here’s a quick way to strip off characters from a string using PHP’s function substr.
<?
$var = ‘05 Delete’;
$var = substr($var,0,2);
echo($var); // returns “05″
?>
If you wanted to strip off the characters from the end of a string, just change the “2″ to “-2″ and it will strip off the last two characters.
Posted in php, programing | No Comments »
Turn 2D Array into a HTML Dropdown with PHP
Posted by john in php, programing
Just another quick way to automate the simple process of creating HTML selects with a function. This small function with also remember which value was selected by checking it against the $_POST value and adding a selected="SELECTED" to that option.
2 dimentional array:
$people_array = array(
'1' => 'Bob',
'2' => 'James',
'3' => 'Jessi',
'4' => 'Sam');
Just call this function either through a request(…) or just simply adding it to the file’s code:
function array2select($array, $post_field){
foreach($array as $key => $value){
if($post_field == $key){$selected = ' selected="SELECTED"';}
echo ''.$value.'';
$selected = false;
}
}
Then just add it where you want the select to do:
< select name="people" >
echo array2select($people_array,$people);
< /select >
This is pretty basic, but it should give you an idea on how arrays and functions can be used together to help speed up projects and automate these basic tasks.
Posted in php, programing | No Comments »
Display Last.fm’s Recent Tracks on Web Site with PHP Function
Posted by john in music, php, programing
Being a very big music buff, I love being able to see what my music habits are. I’m currently using the most up-to-date version of Winamp, which does a good job of keep a history of what I listen to, but I wanted this info on the web for the world to see.
Fortunatly, Last.fm has this sweet software that “scrobbles” or sends your track data via a third part plugin to Winamp to their servers which out puts in return to a standard text file. (check out Last.fm anyway if you’re into music - it’s a cool way to meet people with similar music tastes.)
Just call up this function and echo it as followed.
// Program: recenttracks.php
// By: linein.org
// Date: 11.3.2006
// File format: timestamp,artist - track
// your last.fm username
function recenttracks($user)
{
// location on server where the cached file will be located (it must be absolute and the folder must have full (777) permission)
$cache = "$_SERVER[DOCUMENT_ROOT]/media/recenttracks.txt";
// sets played date using PHP date
$date_format = 'g:i a m.d.Y'; // 10:31 am 11.03.2006
// display styles
$track_num_style = 'font-family: arial; font-size: 10px; color: #666;';
$artist_style = 'font-family: arial; font-size: 11px; color: #fff;';
$track_style = 'font-family: arial; font-size: 11px; color: #fff;';
$date_style = 'font-family: arial; font-size:9px; color: #666;';
$dash_style = 'font-family: arial; font-size:9px; color: #999;';
// you could add here the ability to only cache ever 30 min or so, but I like it live
filemtime($cache);
$update = @file_get_contents("http://ws.audioscrobbler.com/1.0/user/$user/recenttracks.txt");
$f = fopen($cache, "w");
fwrite($f, $update);
fclose($f);
$cache = file_get_contents($cache);
$cache = str_replace( '–', '-', $cache ); // replaces en dash with regular dash (thanks MrSomeone - http://www.last.fm/user/MrSomeone/)
$cache = explode("\n", $cache);
$track_num = 1; // starting track number (you could change to count($cache) and count down)
foreach($cache as $data)
{
if(!empty($data))
{
$info = explode(",", $data, 2); // sperates date by only seperating at fist instance of a comma (since some artist/track have comma in their names
$played_time = $info[0];
$info_track = explode(" - ", $info[1]); // seperates artist and title
$artist = $info_track[0];
$title = $info_track[1];
$listingto .= ''.$track_num.')
'.$artist.'
-
'.$title.'
('.date("$date_format", $played_time).')
';
$track_num++; // adds 1 to track number
}
}
return $listingto;
}
(download as text)
Then once you’ve called the function:
$last_fm_username = 'linein_org';
$recent_tracks = recenttracks($last_fm_username);
Example with formating.
Feel free to change the function (especially the styles) to fit your needs, but please do give credit where it’s needed. I’m currently using a modified version to not only display these tracks, but to store them into a MySQL database which allows me to keep track of my music history. check it out here
Posted in music, php, programing | 9 Comments »
MySQL Return Single Data or Single Array with PHP
Posted by john in mysql, php, programing
Quite a few times during projects I only want to find a single value from the database. But rather than setting up WHILE loop, I’ve been using a quick function that does two things perfectly.
Here’s the function:
// returns single result
function mysql_one_data($query)
{
$one=mysql_query($query);
$r=mysql_fetch_row($one);
return($r[0]);
}
// returns single array
function mysql_one_array($query)
{
$one=mysql_query($query) or die (mysql_error());
$r=mysql_fetch_array($one);
return($r);
}
Say for example I wanted just the date of a record. All I have to do is make sure to call the function and then do the following:
// single value
$date = mysql_one_data("SELECT date FROM records WHERE id='2' LIMIT 1");
// single array
$date_info = mysql_one_array("SELECT firstname, lastname, date FROM records WHERE id='2' LIMIT 1");
// you can then use the single $date_info array like
echo $date_info['firstname'].' '.$date_info['lastname'].' ('.$date_info['date'].')';
Just let me know if you have any questions about this.
Posted in mysql, php, programing | No Comments »
USA State Array for HTML Select
Posted by john in php, programing
After coding for a while things no longer become “fun” to do over and over. One of those things for me is forms and particularly for this article a state drop down.
Below is an array of all the current states along with a quick example of how to use it. Read the rest of this entry »
Posted in php, programing | No Comments »