Thread: info into array
View Single Post
  #6 (permalink)  
Old 07-08-09, 02:12 AM
job0107's Avatar
job0107 job0107 is offline
Community Liaison
 
Join Date: Dec 2006
Location: Tacoma, Washington USA
Posts: 2,653
Thanks: 0
Thanked 21 Times in 21 Posts
Quote:
Originally Posted by zenix View Post
Thanks job!! This looks exactly like what I was thinking!! I had the idea, but no clue of how to best implement it...kinda like a writers block i guess. Anyway, I'll be playing around with the code you've given so I can learn the programming better. I noticed something in your coding that I was hoping you could explain, please.

In this bit of coding: $array_position = !empty($_POST["key"]) ? $_POST["key"] : 0;

What does the question mark do? I can use it in a GET method and have the data in the URL, but I haven't yet (until now) seen it in plain code.

Thanks again!! YOU are the coding God!
PHP Code:
$array_position = !empty($_POST["key"]) ? $_POST["key"] : 0
This is a BOOLEAN logic statement.
It is similar to an if statement.
It reads like this:
PHP Code:
if(!empty($_POST["key"])){$array_position=$_POST["key"];}
else{
$array_position=0;} 
Ok, I am glad you liked my code.
Here is the finished program with an UPDATE feature, Record # display and navigation buttons.
This program also fetches all existing records from the database and loads them into the session array at the very beginning.
PHP Code:
<?php
session_start
();
$conn mysql_connect('localhost''root''')or die(mysql_error());
$create mysql_query("CREATE DATABASE IF NOT EXISTS db1") or die(mysql_error());
mysql_select_db ("db1");
$testdb 'CREATE TABLE IF NOT EXISTS testable(id int (11) NOT NULL auto_increment,
                             lname varchar(40) NOT NULL,
                             fname varchar(40) NOT NULL,
                               address varchar(40) NOT NULL,
                             address2 varchar(40) NOT NULL,
                             city varchar(15) NOT NULL,
                             state varchar(2) NOT NULL,
                             zip int(5) NOT NULL,
                             phone varchar(11) NOT NULL,
                             notes longtext NOT NULL,
                                PRIMARY KEY(id),
                             KEY testype(lname, fname))'
;

$result mysql_query($testdb) or die(mysql_error());
if(empty(
$_SESSION))
{
 
$results mysql_query("select * from testable") or die(mysql_error());
 while(
$r mysql_fetch_assoc($results))
 {
  
$_SESSION["id"][]=$_SESSION["last_id"]=$r["id"];
  
$_SESSION["lname"][]=$r['lname'];
  
$_SESSION["fname"][]=$r['fname'];
  
$_SESSION["address"][]=$r['address'];
  
$_SESSION["address2"][]=$r['address2'];
  
$_SESSION["city"][]=$r['city'];
  
$_SESSION["state"][]=$r['state'];
  
$_SESSION["zip"][]=$r['zip'];
  
$_SESSION["phone"][]=$r['phone'];
  
$_SESSION["notes"][]=$r['notes'];
  }
 }
$array_position = !empty($_POST["key"]) ? $_POST["key"] : 0;
if(!empty(
$_POST["first"]))
{
 
$array_position=0;
 }
if(!empty(
$_POST["next"]))
{
 
$sw 1;
 if(isset(
$_SESSION["fname"][$array_position]))
 {
  
$array_position++;
  if(!empty(
$_SESSION["fname"][$array_position])){$sw 0;}
  }
 }
if(!empty(
$_POST["prev"]))
{
 
$sw 0;
 
$array_position--;
 if(
$array_position<0){$array_position 0;}
 }
if(!empty(
$_POST["last"]))
{
 
$array_position=count($_SESSION["id"])-1;
 }
if(!empty(
$_POST["update"]))
{
 
mysql_query("UPDATE testable SET lname = '".$_POST['lname']."',fname = '".$_POST['fname']."',address = '".$_POST['address']."',address2 = '".$_POST['address2']."',city = '".$_POST['city']."',state = '".$_POST['state']."',zip = '".$_POST['zip']."',phone = '".$_POST['phone']."',notes = '".$_POST['notes']."' WHERE id = '".$_SESSION["id"][$array_position]."'");
 
$_SESSION["lname"][$array_position]=$_POST['lname'];
 
$_SESSION["fname"][$array_position]=$_POST['fname'];
 
$_SESSION["address"][$array_position]=$_POST['address'];
 
$_SESSION["address2"][$array_position]=$_POST['address2'];
 
$_SESSION["city"][$array_position]=$_POST['city'];
 
$_SESSION["state"][$array_position]=$_POST['state'];
 
$_SESSION["zip"][$array_position]=$_POST['zip'];
 
$_SESSION["phone"][$array_position]=$_POST['phone'];
 
$_SESSION["notes"][$array_position]=$_POST['notes'];
 }
if(!empty(
$_POST["add"]))
{
 
$_SESSION["id"][]=$_SESSION["last_id"]++;
 
$_SESSION["lname"][]=$_POST['lname'];
 
$_SESSION["fname"][]=$_POST['fname'];
 
$_SESSION["address"][]=$_POST['address'];
 
$_SESSION["address2"][]=$_POST['address2'];
 
$_SESSION["city"][]=$_POST['city'];
 
$_SESSION["state"][]=$_POST['state'];
 
$_SESSION["zip"][]=$_POST['zip'];
 
$_SESSION["phone"][]=$_POST['phone'];
 
$_SESSION["notes"][]=$_POST['notes'];
 
$insert "INSERT INTO testable(lname,fname,address,address2,city,state,zip,phone,notes) VALUES('".$_POST['lname']."','".$_POST['fname']."','".$_POST['address']."','".$_POST['address2']."','".$_POST['city']."','".$_POST['state']."','".$_POST['zip']."','".$_POST['phone']."','".$_POST['notes']."')";
 
$results mysql_query($insert) or die ("Couldn't insert into database because: " .mysql_error());
 if(
mysql_affected_rows()==1){echo 'Data inserted successfully!';}
 }
?>
<form name="form" method="post" action="#">
 <table>
  <tr><td align="right">First Name: </td><td><input type="text" name="fname" value="<?php echo $_SESSION["fname"][$array_position]; ?>"></td><td align="right">Last Name: </td><td><input type="text" name="lname" value="<?php echo $_SESSION["lname"][$array_position]; ?>"></td></tr>
  <tr><td align="right">address: </td><td><input type="text" name="address" value="<?php echo $_SESSION["address"][$array_position]; ?>"></td><td colspan=2></td></tr>
  <tr><td align="right">address2: </td><td><input type="text" name="address2" value="<?php echo $_SESSION["address2"][$array_position]; ?>"></td><td colspan=2></td></tr>
  <tr><td align="right">City: </td><td><input type="text" name="city" value="<?php echo $_SESSION["city"][$array_position]; ?>"></td><td colspan=2></td></tr>
  <tr><td align="right">State: </td><td><input type="text" name="state" value="<?php echo $_SESSION["state"][$array_position]; ?>"></td><td colspan=2></td></tr>
  <tr><td align="right">Zip: </td><td><input type="text" name="zip" value="<?php echo $_SESSION["zip"][$array_position]; ?>"></td><td colspan=2></td></tr>
  <tr><td align="right">Phone: </td><td><input type="text" name="phone" value="<?php echo $_SESSION["phone"][$array_position]; ?>"></td><td colspan=2></td></tr>
  <tr><td align="right">Notes: </td><td><textarea name="notes"><?php echo stripslashes($_SESSION["notes"][$array_position]); ?></textarea></td><td colspan=2></td></tr>
  <tr><td><?php if($sw == 1){ ?><input type="submit" name="add" value="Add"><?php }else{ ?><input type="submit" name="update" value="Update"><?php ?></td><td colspan=2 align="center" style="color:#00f;">Record <b>-</b> <?php echo $pos $array_position+1; if($sw == 0){echo " of ".count($_SESSION["lname"]);} ?></td><td><input type="submit" name="first" value="First"><input type="submit" name="prev" value="Prev"><input type="submit" name="next" value="Next"><input type="submit" name="last" value="Last"></td></tr>
 </table>
 <input type="hidden" name="key" value="<?php echo $array_position?>">
</form>
__________________
Jerry Broughton

Last edited by job0107; 07-08-09 at 02:19 AM.
Reply With Quote