tag:blogger.com,1999:blog-91186350137512158502024-03-13T08:48:05.722-07:00php-mysqlphp/mysql tips,tricks,scriptsAnonymoushttp://www.blogger.com/profile/12210836106744893384noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-9118635013751215850.post-36199400686886513822009-02-13T04:28:00.000-08:002009-02-13T04:41:42.650-08:00Array PagingHi friends..below is the complete php code for array pagination. copy the code, paste it in a new file named <span style="font-style: italic;">array_paging.php</span> and run it on your local server.<br /><br />Comments are written to understand the code.<br /><br />Please write any suggestions or improvements you have to implement in this code.<br /><br /><span style="background-color: rgb(228, 228, 228);"><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" ><?php</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >//This is the temporary array created for this example. In your case the values would be coming from database</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >$DataArray = array('value1','value2','value3','value4','value5','value6','value7','value8','value9','value10','value11','value12','value13','value14','value15','value16','value17');</span><br /><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >//take the count of the array</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >$cnt = count($DataArray);</span><br /><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >//get the page number from the url</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >if($_REQUEST['pge_no']){</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $pge_no=$_REQUEST['pge_no'];</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }else{</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $pge_no=1; //set page number to 1 if not specified</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > if($_REQUEST['lim']){</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $lim=$_REQUEST['lim'];</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }else{</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $lim=2; //Number of records to display per page.</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><br /><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >if(!$cnt)</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >{</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $cnt=0;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >}</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >//calculate the number of pages</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >$pages = ceil($cnt/$lim);</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >if($pge_no>$pages)</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >{</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $pge_no=$pages;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >}</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >$pg_last=$pge_no*$lim; //calculate the last page value</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >$pg_start=$pg_last-($lim-1); //calculate the first page value</span><br /><br /><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >$counter=0;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >//create the sets of pages eg. page number 1 will have 1,2,3 records, 2 will have 4,5,6 records...</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > for($l=1;$l<=$pages;$l++)</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > {</span><br /><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > for($m=1;$m<=$lim;$m++)</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > {</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $pagesets[$l][]=$counter;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $counter++;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >//display the records </span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >for($k=0;$k<count($DataArray);$k++)</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >{</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > //display the records only for the particular page</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > if(in_array($k,$pagesets[$pge_no]))</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > {</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > echo $DataArray[$k]."<br><hr/>";</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >}</span><br /><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >//this is the number of pages to be displayed at a time between next and previous buttons</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >$NumberOfPagesToShow = 3;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >if($pages>1){</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $sets = ceil($pages/$NumberOfPagesToShow);</span><br /><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > //createing first and last page numbers</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > for($j=1;$j<=$sets;$j++)</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > {</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $lastpage = $j*$NumberOfPagesToShow;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $firstpage = $lastpage-$NumberOfPagesToShow+1;</span><br /> <br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $nextPageValue = $pge_no + 1; //calculate value of next button</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > if($nextPageValue>$pages)</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > {</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $nextPageValue=$pages;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $next = "<a href='array_paging.php?pge_no=$nextPageValue'>Next »</a>"; //create next button</span><br /><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > //create value of last button</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $ending = $lastpage+1;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > if($ending>$pages)</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > {</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $ending = $pages;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $end = "<a href='array_paging.php?pge_no=$ending'>»</a>"; //Create last button</span><br /> <br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $prevPageValue = $pge_no - 1; //calculate value of previous button</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > if($prevPageValue<=0)</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > {</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $prevPageValue=1;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $prev = "<a href='array_paging.php?pge_no=$prevPageValue'>« Previous</a>"; //create previous button</span><br /> <br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > //create value of first button</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $starting = $firstpage-1;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > if($starting < 1)</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > {</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $starting = 1;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > $start = "<a href='array_paging.php?pge_no=$starting'>«</a>";//create first button</span><br /> <br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > if($pge_no>=$firstpage && $pge_no<=$lastpage)</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > {</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > break;</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > echo $start." "; //display first button</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > echo $prev." "; //display previous button</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > //Display pages</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > for ($x=$firstpage;$x<=$lastpage;$x++){</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > if($x==$pge_no){</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > echo "<span style='color:red'>".$x."</span> ";</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }else{</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > if($x<=$pages)</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > {</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > echo "<a href='array_paging.php?pge_no=$x'>".$x."</a> ";</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > }</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > echo $next." "; //display next button</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > echo $end." "; //display last button</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" > echo "<br><br>";</span><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >}</span><br /><br /><span style="color: rgb(0, 0, 0);font-family:verdana;" >?></span><br /></span>Anonymoushttp://www.blogger.com/profile/12210836106744893384noreply@blogger.com0tag:blogger.com,1999:blog-9118635013751215850.post-11877370480671904452008-08-19T01:15:00.000-07:002008-08-21T01:40:55.357-07:00Multiple File upload in phpHello friends. This is a short tutorial for uploading multiple files (gmail style). on the server. The tutorial shows a html file to generate dynamic elements and a php file which displays the submitted values. Hope it will be helpful.<br /><br />Below is the entire html code. On this page, html elements like textbox and file upload are dynamically created on a button click. These elements are then validated for empty check before submitting. To see this page working copy and paste the entire html code (in grey) on a new blank html file.<br /><br /><span style="background-color:#E4E4E4"><br /><html xmlns="http://www.w3.org/1999/xhtml"><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><br /><title>Dynamic Fields Tutorial</title><br /><script type="text/javascript"><br />//Validate data<br />function validate()<br />{<br /> TotalImages = parseInt(document.getElementById("DynamicFieldsCount").value);<br /> for(i=1;i<=TotalImages;i )<br /> {<br /> //check empty title<br /> var ctrl_id = "ImageTitle_" i;<br /> var ctrlValue = document.getElementById(ctrl_id).value.replace(/^\s |\s $/g, '');<br /> if(ctrlValue=="")<br /> {<br /> alert("please enter Image Title");<br /> document.getElementById(ctrl_id).focus();<br /> return false;<br /> }<br /> <br /> //check if the image is selected or not<br /> var ImageFileID = "ImageFile_" i;<br /> var ImageFileValue = document.getElementById(ImageFileID).value.replace(/^\s |\s $/g, '');<br /> if(ImageFileValue!="")<br /> {<br /> //check if the image is a jpg, gif or png image.<br /> filetype = ImageFileValue.substr(ImageFileValue.lastIndexOf(".")).toLowerCase();<br /> if(filetype!=".jpg" && filetype!=".jpeg" && filetype!=".gif" && filetype!=".png")<br /> {<br /> alert("Invalid image type. Please upload images of type jpg, gif or png");<br /> document.getElementById(ImageFileID).focus();<br /> return false;<br /> }<br /> }<br /> else<br /> {<br /> alert("please select image to upload");<br /> document.getElementById(ImageFileID).focus();<br /> return false;<br /> }<br /> }<br />}<br />function addElement()<br />{<br /> document.getElementById('RemoveElement').style.display= 'inline'; <br /> var ni = document.getElementById('dvDynamicElements');<br /> var num = parseInt((document.getElementById('DynamicFieldsCount').value)) 1;<br /> if(num<=20)<br /> {<br /> if(num<=9)<br /> {<br /> serialnum = '0' num;<br /> }<br /> else<br /> {<br /> serialnum = num;<br /> }<br /> var newdiv = document.createElement('div');<br /> var divIdName = 'New' num 'Div';<br /> newdiv.setAttribute('id',divIdName);<br /> newdiv.innerHTML = '<table width="100%" border="0" cellpadding="8" cellspacing="0" bgcolor="#EFEFEF" class="normal"><tr><td width="5%" style="font:Verdana, Arial, Helvetica, sans-serif;font-size:15px; font-weight:bold" >' serialnum '</td><td style="font:Verdana, Arial, Helvetica, sans-serif;font-size:15px; font-weight:bold" valign="top">&nbsp;Title: <input type="text" name="ImageTitle[]" id="ImageTitle' num '" class="normal"/>&nbsp; Upload Image: <input name="ImageFile[]" type="file" class="normalmedium" id="ImageFile_' num '"></td></tr></table>';<br /> ni.appendChild(newdiv);<br /> document.getElementById('DynamicFieldsCount').value = num;<br /> }<br />}<br /><br />function removeElement() {<br /> divNum = 'New' parseInt(document.getElementById('DynamicFieldsCount').value) 'Div';<br /> var d = document.getElementById('dvDynamicElements');<br /> var olddiv = document.getElementById(divNum);<br /> d.removeChild(olddiv);<br /> var OptionsCount = document.getElementById('DynamicFieldsCount').value;<br /> OptionsCount = OptionsCount - 1;<br /> document.getElementById('DynamicFieldsCount').value = OptionsCount;<br /> document.getElementById('DynamicFieldsCount').value = OptionsCount;<br /> if(OptionsCount==1)<br /> {<br /> document.getElementById('RemoveElement').style.display= 'none';<br /> }<br />}<br /></script><br /></head><br /><br /><body><br /><form name="frmUploadFiles" id="frmUploadFiles" action="myServerPage.php" method="post" onsubmit="return validate()" enctype="multipart/form-data"><br /><table width="100%" border="0" cellpadding="8" cellspacing="0" bgcolor="#EFEFEF" class="normal"><br /> <tr><br /> <br /> <td colspan="2" style="font:Verdana, Arial, Helvetica, sans-serif;font-size:15px; font-weight:bold">Multiple Upload</td><br /> </tr><br /> <tr><br /> <br /> <td width="5%" style="font:Verdana, Arial, Helvetica, sans-serif;font-size:15px; font-weight:bold">01</td><br /> <td style="font:Verdana, Arial, Helvetica, sans-serif;font-size:15px; font-weight:bold" valign="top">&nbsp;Title: <input name="ImageTitle[]" type="text" class="normal" id="ImageTitle_1">&nbsp; Upload Image:<br /> <input name="ImageFile[]" type="file" class="normalmedium" id="ImageFile_1" ><br /> </td><br /> </tr><br /> </table><br /> <div id="dvDynamicElements" align="left" ></div><br /> <table width="100%" border="0" cellpadding="8" cellspacing="0" bgcolor="#EFEFEF" class="normal"><br /> <tr><br /> <br /> <td colspan="2"><br /> <input type="hidden" value="1" id="DynamicFieldsCount" /><br /> <input name="UploadMore" type="button" class="normalmedium" id="UploadMore" value="Upload More" onclick="addElement();"> &nbsp; <input name="RemoveElement" type="button" class="normalmedium" id="RemoveElement" value="Remove" onclick="removeElement();" style="display:none"><br /> </td><br /> </tr><br /> </table><br /> <input name="submit" type="submit" class="normal" id="submit" value="Submit"><br /> </form><br /></body><br /></html><br /></span><br /><br />Ok now if you are saturated playing with upload more and remove buttons, lets move on to generate our php file.<br /><br />Create a php file with the name myServerPage.php and insert the code given below inside the php tags.<br /><br />print_r($_POST);<br />print_r($_FILES);<br /><br />I hope the readers of this blog know how to setup a local webserver to run php files.Anonymoushttp://www.blogger.com/profile/12210836106744893384noreply@blogger.com2tag:blogger.com,1999:blog-9118635013751215850.post-79211253966091723722008-07-14T23:14:00.000-07:002008-07-15T00:58:58.804-07:00Multiple Insert, Update or Delete in one Query (php-mysql).<p class="MsoNormal" style="text-indent: 0.5in;">Many times we want to make a multiple Insert (I), Update (U) or Delete (D) on a certain database table. The first thought of doing it would be to fire Insert, Update or Delete query inside a for(each) loop. But this is not the best solution regarding the system performance. Ever thought of inserting Or Updating |or Deleting multiple records in 1 query? Yes it is possible. It may look complex to beginners. The idea is to create a query dynamically for all the values you want to Insert, Update or Delete. The example of each is given below. I am not going to write <span style=""> </span>the code for creating query, but will show how the final query looks like (the syntax) after dynamically created.</p> <p class="MsoNormal"><o:p> </o:p>Imagine a table name <i style="">employees </i>with fields id (int auto increment) age (int), name (varchar) and sex (char).</p> <p class="MsoNormal"><o:p> </o:p>The syntax of the Multiple Insert Query for the employees table would be –</p> <p class="MsoNormal"><b style="">$sql = "INSERT INTO employees (age, name, sex)<br /> VALUES<br /> (25, 'Swanand', 'M'),<o:p></o:p></b></p> <p class="MsoNormal" style="text-indent: 0.5in;"><b style=""><span style=""> </span>(26, 'Smeeta', 'F'),<o:p></o:p></b></p> <p class="MsoNormal" style="text-indent: 0.5in;"><b style=""><span style=""> </span>(33, 'Vicky', 'M'),<o:p></o:p></b></p> <p class="MsoNormal" style="text-indent: 0.5in;"><b style=""><span style=""> </span>(42, 'Tony', 'M')”;<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><o:p> </o:p></b><br />One another alternative I know for inserting multiple records is through <code><b style=""><span style="font-size: 10pt;" lang="EN">LOAD DATA INFILE </span></b></code>statement of mysql. This approach gives the best performance as compared to multiple insert. Its description and syntax is out of the scope of this article. You can refer in mysql manual for more details.</p> <p class="MsoNormal"><o:p> </o:p><br /></p><p class="MsoNormal">The syntax of the Multiple Update Query for the employees table would be – </p> <p class="MsoNormal"><b style="">$sql = “UPDATE employees<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>SET age =<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>CASE id<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>WHEN $id1 THEN $age1<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>WHEN $id2 THEN $age2<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>WHEN $id3 THEN $age3<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>WHEN $id4 THEN $age4<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>END<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>, name =<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>CASE id<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>WHEN $id1 THEN '$name1'<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>WHEN $id2 THEN '$name2'<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>WHEN $id3 THEN '$name3'<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>WHEN $id4 THEN '$name4'<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>END<o:p></o:p></b></p> <p class="MsoNormal" style="text-indent: 0.5in;"><b style="">, sex =<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>CASE id<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>WHEN $id1 THEN '$sex1'<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>WHEN $id2 THEN '$sex 2'<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>WHEN $id3 THEN '$sex3'<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>WHEN $id4 THEN '$sex4'<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><span style=""> </span>END<o:p></o:p></b></p> <p class="MsoNormal" style="text-indent: 0.5in;"><b style="">WHERE id in ($id1,$id2,$id3,$id4)”;<o:p></o:p></b></p> <p class="MsoNormal"><b style=""><o:p><br /></o:p></b>The syntax of the Multiple Delete Query for the employees table would be – </p> <p class="MsoNormal"><b style="">$sql = “DELETE FROM employees WHERE id in ($id1,$id2,$id3,$id4)”;<o:p></o:p></b></p>Anonymoushttp://www.blogger.com/profile/12210836106744893384noreply@blogger.com0