CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 1 of 1
  1. #1
    Join Date
    May 2009
    Posts
    160

    php with OOPS practical example?

    i have been programming in php for a while and i do know all the concepts of OOPS as well.... i lack clarity on how i can bring these two together. below is an example of my code.
    This is really old code so i donot use tables any more but rather use CSS div (without absolute positioning to render to all resolutions) so i dont have any issues with the CSS.
    Code:
    <?php include_once ('includes/session.php') ?>
    <?php 
    include_once ('includes/mysql.php'); 
    include ('includes/edit_reportids.php');
    $obj=new db();
    $obj->connect();
    $disp="";
    //module to retrieve all the sub categories for a given category to add new inventory
    if((!isset($_GET['id'])))
    {
    	$disp.= "Select Category<select name=\"inventory\" onChange=\"DisplayContent(this.value);\"  >
    		<option value=\"0\" >Select&nbsp;Category</option>
    		<option value=\"sample_request\" >Sample&nbsp;Request</option>
    		<option  value=\"sample_received\">Sample&nbsp;Received</option>
    		<option value=\"sample_correction\" >Sample&nbsp;Correction</option>
    		<option  value=\"final_details\">Final&nbsp;Details</option>
    		<option value=\"orders\" >Orders</option>
    		<option  value=\"confirmation_samples\">Confirmation&nbsp;Samples</option>		
    		</select>";
    }	
    else
    {
    $disp.="<table cellpadding=5px cellspacing=0 border=1><tr><td colspan=4><table cellpadding=5><tr><td>";
    }
    ?>
    <?php 
    
    include_once ('head.php');
    if((isset($_GET['id'])))
    {
    $id_val=$_GET['id'];
    
    //CODE TO DISPLAY ALL THE STYLENAME-COLOR MATCHES ON TOP OF THE EDIT FRAME	
    		for($i=0;$i<$sidsize;$i++)
    			{
    				$disp.="&nbsp;|&nbsp;<a href=\"edit_report.php?id=$id_val&&sid=$sidlist[$i]\">".$stylelist[$i]."-".$colorlist[$i]."</a>&nbsp;|&nbsp;";
    				if(($i+1)&#37;10 == 0)
    				$disp.="</td></tr><tr><td>";
    			}
    			$disp.="</table>";
    
    
    //MAIN EDIT FRAME SWITCH USED TO DETERMINE WHICH TABLE TO MANIPULATE OR ADD
    			if(isset($_GET['sid']) && isset($_GET['id']))
    			{
    			
    				switch($id_val)
    				{
    				
    				//CASE SAMPLE REQUEST	
    				case "sample_request" :
    				$tbname=$_GET['id'];
    				$sid=$_GET['sid'];
    				$disp.="<tr>
    						<td><form enctype=\"multipart/form-data\" action=update_edit_report.php method=post>
    						<input type=hidden name=tbname value=$tbname>
    						<input type=hidden name=sid value=$sid>
    						<strong>ORIGIN</strong></td><td><textarea rows=1  name=origin>$origin</textarea></td><td><strong>FACTORY</strong></td><td><textarea rows=1 name=factory>$factory</textarea></td></tr>
    						<tr>
    						<td>
    						<strong>STYLE NAME</strong></td><td><textarea rows=1 name=stylename>$stylename</textarea></td><td><strong>COLOR</strong></td><td><textarea rows=1  name=color>$color</textarea></tr>
    						<tr>
    						<td>
    						<strong>FACTORY STYLE</strong></td><td><textarea rows=1  name=factorystyle>$factorystyle</textarea></td><td><strong>SEASON</strong></td><td><textarea rows=1  name=season>$season</textarea></tr>
    						<tr>
    						<td><strong>SHOE CATEGORY</strong>
    						</td><td><textarea rows=1  name=shoecat>$shoecat</textarea></td><td><strong>REQUESTED BY</strong></td><td><textarea rows=1  name=reqby>$reqby</textarea></tr><tr><td colspan=2 align=center><h3><span style=\"color:red\";>MATERIAL DETAILS</span></h3></td></tr>
    						<tr>
    						<td>
    						<strong>A</strong></td><td><textarea rows=1  name=mat_a>$mat_a</textarea></td><td><strong>SOCK</strong></td><td><textarea rows=1  name=mat_sock>$mat_sock</textarea></tr>
    						<tr>
    						<td>
    						<strong>B</strong></td><td><textarea rows=1 name=mat_b>$mat_b</textarea></td><td><strong>LINING</strong></td><td><textarea rows=1 name=mat_lining>$mat_lining</textarea></tr>
    						<tr>
    						<td>
    						<strong>C</strong></td><td><textarea rows=1 name=mat_c>$mat_c</textarea></td><td><strong>HEEL/WEDGE</strong></td><td><textarea rows=1 name=mat_heelwedge>$mat_heelwedge</textarea></tr>
    						<tr>
    						<td>
    						<strong>STITCHING</strong></td><td><textarea rows=1 name=stitching>$stitching</textarea></td><td><strong>SOLE</strong></td><td><textarea rows=1 name=sole>$sole</textarea></td></tr>
    						<tr>
    						<td>
    						<strong>HARDWARE </strong></td><td><textarea rows=1 name=hardware>$hardware</textarea></td><td><strong>DATE</strong></td><td><textarea rows-1 name=dateneed>$dateneed</textarea></td>
    												
    							
    							
    						</tr>
    						
    						<tr><td>
    						<strong>NOTES</strong></td><td colspan=3><textarea name=notes rows=5 cols=120>$notes</textarea></td></tr>
    						
    						<td><input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"90000000\" />
    				 Upload <strong>THUMBNAIL </strong>Image </td><td> <input name=\"userfile\" type=\"file\" />
    				 </td>
    				 <td>
    						
    						<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"90000000\" />
    				 Upload <strong>LARGE</strong> Image </td><td> <input name=\"userfile2\" type=\"file\" />
    						</td>
    						</tr>
    					  <tr><td colspan=2><img src=\"uploads/thumbnail/".$thumbimg."\" width=150 height=100></td><td>&nbsp;</td>
    					  <td><input name=submit type=submit REPORT value=UPDATE&nbsp;REPORT></tr>
    						";
    				break;
    				
    				//CASE SAMPLE RECEIVED
    				case "sample_received" :
    				$tbname=$_GET['id'];
    				$sid=$_GET['sid'];
    				$disp.="<tr>
    						<td><form enctype=\"multipart/form-data\" action=update_edit_report.php method=post>
    						<input type=hidden name=tbname value=$tbname>
    						<input type=hidden name=sid value=$sid>
    						<strong>ORIGIN</strong></td><td>$origin</td><td><strong>FACTORY</strong></td><td>$factory</td></tr>
    						<tr>
    						<td>
    						<strong>STYLE NAME</strong></td><td>$stylename</td><td><strong>COLOR</strong></td><td>$color</tr>
    						<tr>
    						<td>
    						<strong>FACTORY STYLE</strong></td><td>$factorystyle</td><td><strong>SEASON</strong></td><td>$season</tr>
    						<tr>
    						<td><strong>TRACK NUMBER</strong>
    						</td><td><textarea rows=1  name=tracknumber>$r_tracknumber</textarea></td><td><strong>RECEIVED BY</strong></td><td><textarea rows=1  name=recby>$r_received</textarea></tr><tr>
    						
    						<td>
    						<strong>CARRIER</strong></td><td><textarea rows=1 name=carrier >$r_carrier</textarea></td><td><strong>DATE RECEIVED</strong></td><td><textarea name=dateneed rows=1>$r_daterec</textarea></td></tr>
    						
    						
    						<tr><td>
    						<strong>NOTES</strong></td><td colspan=3><textarea  name=notes rows=5 cols=120>$r_notes</textarea></td></tr>
    						
    						
    					  <tr><td colspan=2><img src=\"uploads/thumbnail/".$r_thumbimg."\" width=150 height=100></td><td>&nbsp;</td>
    					  <td><input name=submit type=submit REPORT value=UPDATE&nbsp;REPORT></tr>
    						";
    				break; 
    				
    				case "sample_correction" :
    				$disp.="<tr>
    						<td><form enctype=\"multipart/form-data\" action=update_edit_report.php method=post>
    						<input type=hidden name=tbname value=$tbname>
    						<input type=hidden name=sid value=$sid>
    						<strong>ORIGIN</strong></td><td>$origin</td><td><strong>FACTORY</strong></td><td>$factory</td></tr>
    						<tr>
    						<td>
    						<strong>STYLE NAME</strong></td><td>$stylename</td><td><strong>COLOR</strong></td><td>$color</tr>
    						<tr>
    						<td>
    						<strong>FACTORY STYLE</strong></td><td>$factorystyle</td><td><strong>SEASON</strong></td><td>$season</tr>
    						<tr><td><strong>OVERALL LOOK</strong></td><td><input type=checkbox name=f_look value=$c_look >YES<input type=checkbox name=f_look value=$c_look >NO</td><td colspan=2><textarea name=f_look_notes>$c_looknotes</textarea></td></tr>
    						<tr><td><strong>UPPER MATERIAL</strong></td><td><input type=checkbox name=f_material value=$c_material >YES<input type=checkbox name=f_material value=$c_material >NO</td><td colspan=2><textarea name=f_material_notes>$c_materialnotes</textarea></td></tr>
    						<tr><td><strong>STITCHING</strong></td><td><input type=checkbox name=f_stitching value=$c_stitching >YES<input type=checkbox name=f_stitching value=$c_stitching >NO</td><td colspan=2><textarea name=f_stitching_notes>$c_stitchingnotes</textarea></td></tr>
    						<tr><td><strong>HEEL</strong></td><td><input type=checkbox name=f_heel value=$c_heel >YES<input type=checkbox name=f_heel value=$c_heel >NO</td><td colspan=2><textarea name=f_heel_notes>$c_heelnotes</textarea></td></tr>
    						<tr><td><strong>SOLE</strong></td><td><input type=checkbox name=f_sole value=$c_sole >YES<input type=checkbox name=f_sole value=$c_sole >NO</td><td colspan=2><textarea name=f_sole_notes>$c_solenotes</textarea></td></tr>
    						<tr><td><strong>SOCK</strong></td><td><input type=checkbox name=f_sock value=$c_sock >YES<input type=checkbox name=f_sock value=$c_sock >NO</td><td colspan=2><textarea name=f_sock_notes>$c_socknotes</textarea></td></tr>
    						<tr><td><strong>LINING</strong></td><td><input type=checkbox name=f_lining value=$c_lining >YES<input type=checkbox name=f_lining value=$c_lining >NO</td><td colspan=2><textarea name=f_lining_notes>$c_liningnotes</textarea></td></tr>
    						<tr><td><strong>EMBELLISMENTS</strong></td><td><input type=checkbox name=f_embel value=$c_embel >YES<input type=checkbox name=f_embel value=$c_embel >NO</td><td colspan=2><textarea name=f_embel_notes>$c_embelnotes</textarea></td></tr>
    						<tr><td><strong>SIZE</strong></td><td><input type=checkbox name=f_size value=$c_size >YES<input type=checkbox name=f_size value=$c_size >NO</td><td colspan=2><textarea name=f_size_notes>$c_sizenotes</textarea></td></tr>
    						<tr><td><strong>FIT</strong></td><td><input type=checkbox name=f_fit value=$c_fit >YES<input type=checkbox name=f_fit value=$c_fit >NO</td><td colspan=2><textarea name=f_fit_notes>$c_fitnotes</textarea></td></tr>
    						<tr><td><strong>STYLE APPROVED</strong></td><td><input type=checkbox name=f_style_appr value=$c_styleappr >YES<input type=checkbox name=f_style_appr value=$c_styleappr >NO</td><td colspan=2><textarea name=f_style_appr_notes>$c_styleapprnotes</textarea></td></tr>
    						<TD><strong>REVIWED BY</strong></TD><td ><textarea name=f_reviewby>$c_reviewby</textarea></td></tr>
    									
    						";
    				
    				
    				break;
    				
    				case "final_details" :
    				echo "final details";
    				break;
    				
    				case "orders" :
    				echo "orders";
    				break;
    				
    				case "confirmation_samples" :
    				echo "confirmation samples:";
    				break;
    				
    				default :
    				echo "UNKNOWN CHOICE";
    				break;
    			
    			
    				}//end of switch
    			}//end of inner if
    			
    	
    }//end of outer if
    
     echo $disp;
      ?>
    </td>
    </tr>
    
    
    <?php include("foot.php"); ?>
    </body>
    </html>

    Well when i complex projects it gets really all messed up and goes all over the place. i know i could render each functionality in a class and have functions in it but i still dont understand how would i spit out the htmls. Would it be returned from the function in a variable? basically if i could get some pointers to links or books which actually take a real project (small scale) and show how its done in OOP it would clear my doubts. all the existing books explain on all the features and properties of OOPS (theory) which i know.

    thanks.
    Last edited by niladhar8@gmail.com; July 17th, 2009 at 09:46 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured