Go Back   CodingForums.com > :: Server side development > PHP

Before you post, read our: Rules & Posting Guidelines

Reply
 
Thread Tools Rate Thread
Enjoy an ad free experience by logging in. Not a member yet? Register.
Old 06-28-2010, 09:58 PM   PM User | #1
sonofjack
Regular Coder

 
Join Date: Sep 2005
Posts: 153
Thanks: 34
Thanked 0 Times in 0 Posts
sonofjack is an unknown quantity at this point
Date/Time not displaying in Edit mode

I have a page where you can post and edit a listing. However when you go into edit mode, all the fields appear filled in with the previous data except for the date and time. I know this is probably something to do with the format of each of these but I can't work out how these should be labelled in the code.
I've tried different ways except for the correct one it would seem.
Can anyone out there help please?

Code:
<?php

else: // Edit listings
$id = $_GET['id'];
$listings = @mysql_query (
"SELECT id, day, date_format(date,'%Y/%m/%d') as d, channel, programmetitle, time_format

(starttime, '%h:%i%p') as t, duration, notes FROM listings WHERE id='$id'");
if (!$listings) {
exit ('<p>Error fetching listings: ' .
mysql_error() . '</p>');
}

$listings = mysql_fetch_array($listings);
?>

<?php
function safe($value){ 
   return mysql_real_escape_string($value); 
} 
?>

<?php

$id = $listings['id'];
$day = $listings['day'];
$date = $listings['date'];
$channel = $listings['channel'];
$programmetitle = $listings['programmetitle'];
$starttime = $listings['starttime'];
$duration = $listings['duration'];
$notes = $listings['notes'];


//Convert special characters for safe use
$id = htmlspecialchars($id);
$day = htmlspecialchars($day);
$date = htmlspecialchars($date);
$channel = htmlspecialchars($channel);
$programmetitle = htmlspecialchars($programmetitle);
$starttime = htmlspecialchars($starttime);
$duration = htmlspecialchars($duration);
$notes = htmlspecialchars($notes);
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset>
<legend>Enter listings</legend>
<div><label for="day">Day:</label> <br /><input id="day" type="text" name="day" value="<?php 

echo $day; ?>"></div>
<div><label for="date">Date:</label><br /><input id="date" type="text" name="date" value="<?php 

echo $date; ?>" /></div>
<div><label for="channel">Channel:</label> <br /><input id="channel" type="text" name="channel" 

value="<?php echo $channel; ?>" /></div>
<div><label for="prog_title">Prog Title:</label><br /> <textarea id="prog_title" 

name="programmetitle" rows="1" cols="70"><?php echo $programmetitle; ?></textarea></div>
<div><label for="starttime">Start time:</label><br /> <input id="starttime" type="text" 

name="starttime" value="<?php echo $starttime; ?>" ></div>
<div><label for="duration">Duration:</label> <br /><input id="duration" type="text" 

name="duration" value="<?php echo $duration; ?>" ></div>
<div><label for="notes">Notes:</label><br /> <textarea id="notes" name="notes" rows="5" 

cols="70"><?php echo $notes; ?></textarea></div>
<input type="hidden" name="id" value="<?php echo $id; ?>" >
<div><input type="submit" value="SUBMIT"></div>
</form>
Thank you
sonofjack is offline   Reply With Quote
Old 06-28-2010, 10:15 PM   PM User | #2
tomws
Senior Coder

 
tomws's Avatar
 
Join Date: Nov 2007
Location: Arkansas
Posts: 2,644
Thanks: 29
Thanked 330 Times in 326 Posts
tomws will become famous soon enoughtomws will become famous soon enough
You're using the wrong names in your array index:

PHP Code:
//date_format(date,'%Y/%m/%d') as d
$date $listings['date'];

//time_format(starttime, '%h:%i%p') as t
$starttime $listings['starttime']; 
When you SELECT `something` AS `something_else`, you're returning the column name as "something_else", not the original "something". Thus, you need to be using "d" and "t" as your array keys in those two lines, I think.

EDIT: By the way, "date" is a reserved word in MySQL (and probably other systems). If you must use reserved words as fields names, wrap them in backticks/graves (that's the "`" character to the left of the number 1 key on a standard US keyboard) when using those names in queries.
__________________
Are you a Help Vampire?

Last edited by tomws; 06-28-2010 at 10:18 PM..
tomws is offline   Reply With Quote
Old 06-28-2010, 10:30 PM   PM User | #3
sonofjack
Regular Coder

 
Join Date: Sep 2005
Posts: 153
Thanks: 34
Thanked 0 Times in 0 Posts
sonofjack is an unknown quantity at this point
That works perfectly. Thank you.
And it makes sense now I've stepped back from it and er... had it pointed out to me.

Many many thanks
sonofjack is offline   Reply With Quote
Reply

Bookmarks

Jump To Top of Thread


Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 09:27 AM.


Advertisement
Log in to turn off these ads.