Connecting Tech Pros Worldwide Forums | Help | Site Map

Creating TEMPORARY TABLES in mysql and accessing througth php script

Newbie
 
Join Date: Apr 2007
Posts: 4
#1: Apr 18 '07
<?php
/*
* Created on Apr 13, 2007
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
require_once 'init.php';
$con=mysql_connect("localhost","root","");
$dbc=mysql_select_db(test,$con)or die("Database select error:" . mysql_error($con));

$smarty->display('test.tpl');
//if(isset($_POST['btn_submit'])||($_GET['act'])!=''||($_GET['act21'])!=''||($_GET['act22'])!=''||($_GET['page'])!=''||($_GET['act23'])!=''||($_GET['act24'])!='')
if(isset($_POST['btn_submit']))
{
$qr="select * from temp where status='y'";
$user=mysql_query($qr);
$dr="drop TEMPORARY TABLE #temp1";
$redr=mysql_query($dr);
$qry2="CREATE TEMPORARY TABLE IF NOT EXISTS temp1 (`uid` INT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY ,`user_name` VARCHAR(20) ,`email` VARCHAR(30),`fname` VARCHAR(20),`lname` VARCHAR(20))TYPE=ISAM";
$loc="LOCK TABLE temp1 WRITE";
$resl=mysql_query($loc);
$res2=mysql_query($qry2)or die ("Error in query: $qry2. ".mysql_error());
while($rearr=mysql_fetch_array($user))
{
$ro =$rearr[uid];
$un =$rearr[user_name];
$em =$rearr[email];
$fn =$rearr[fname];
$ln =$rearr[lname];
//echo $qry4 ="INSERT INTO `#temp1` VALUES (select * from temp)";
$qry4 ="INSERT INTO `temp1` VALUES ( '$ro','$un','$em','$fn','$ln')";
$res4=mysql_query($qry4)or die ("Error in query: $qry4. ".mysql_error());
echo "<br>". $qry4;
$err=2;
}
header('location:test.php?ord=$orderby&sor=$sortby &tab=$ro');
}
//$smarty->assign('user',$rearr);
elseif(isset($_GET['ord'])!=''||($_GET['sor'])!=''||($_GET['tab'])!=''||($_GET['act'])!=''||($_GET['act21'])!=''||($_GET['act22'])!=''||($_GET['page'])!=''||($_GET['act23'])!=''||($_GET['act24'])!='')
//elseif(isset($_GET['ord'])!=''||($_GET['sor'])!=''||($_GET['tab'])!=''||($_GET['page'])!='')
{
echo $t=$_GET['tab'];
$qry .=" select * from temp1 type=heap";
$res1 = mysql_query($qry);
echo $totalrow=mysql_num_rows($res1);

/*paging code*/

/** how many rows to show per page **/
$rowsPerPage = 5;

/** by default we show first page **/
$pageNum = 1;

if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
/** counting the offset **/
$offset = ($pageNum - 1) * $rowsPerPage;

/********* Paging code starts Here ***********/

$totalCount = $totalrow;

/** how many pages we have when using paging? **/

$maxPage = ceil($totalCount/$rowsPerPage);

/** print the link to access each page **/

$self = $_SERVER['PHP_SELF'];
$nav = '';

if(!isset($_GET['page']))
{
for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum) $nav .= "<font color='red'><b>$page</b></font>&nbsp;"; // no need to create a link to current page
else if($page<=10) $nav .= "<a href=\"$self?page=$page\">$page</a> ";
}
}
else
{
if($pageNum-5 >= 1)
$start=$pageNum-5;
else
$start=1;

if($pageNum+5 <=$maxPage)
$end=$pageNum+5;
else
$end=$maxPage;

if($start==1)
$end=10;

if($end==$maxPage)
{
if($maxPage>9)
$start=$maxPage-9;
else
$start =1;
}

for($page=$start; $page <=$maxPage && $page <= $end ; $page++)
{
if ($page == $pageNum)
$nav .= " <font color='red'><b>$page</b></font>&nbsp;"; /** no need to create a link to current page **/
elseif($pageNum>=1 and $pageNum<=$end)
$nav .= "<a href=\"$self?page=$page\">$page</a> ";
}
}

if ($pageNum >1)
{
$page = $pageNum - 1;
$prev = " <a href=\"$self?page=$page\">[Previous]</a>&nbsp;";
$first = " <a href=\"$self?page=1\">[First]</a>";
}
else
{
$prev = '&nbsp;'; /** we're on page one, don't print previous link **/
$first = '&nbsp;'; /** nor the first page link **/
}
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$next = " <a href=\"$self?page=$page\">[Next]</a> ";
$last = " <a href=\"$self?page=$maxPage\">[Last]</a> ";
}
else
{
$next = '&nbsp;'; /** we're on the last page, don't print next link **/
$last = '&nbsp;'; /** nor the last page link **/
}

echo $first . $prev . $nav . $next . $last ;
$id = "desc";
if(isset($_GET['act'])!='')
{
if($_GET['act']=='asc')
$id = "desc";
elseif($_GET['act']=='desc')
$id = "asc";
else
$id='asc';
$qry .=" order by uid $id";
}
$sort = "desc";
if(isset($_GET['act21'])!='')
{
if($_GET['act21']=='asc')
$sort = "desc";
elseif($_GET['act21']=='desc')
$sort = "asc";
else
$sort='asc';
$qry .=" order by user_name $sort";
}
$email = "desc";
if(isset($_GET['act22'])!='')
{
if($_GET['act22']=='asc')
$email = "desc";
elseif($_GET['act22']=='desc')
$email = "asc";
else
$email='asc';
$qry .=" order by email $email";
}
$fname = "desc";
if(isset($_GET['act23'])!='')
{
if($_GET['act23']=='asc')
$fname = "desc";
elseif($_GET['act23']=='desc')
$fname = "asc";
else
$fname='asc';
$qry .=" order by fname $fname";
}
$lname = "desc";
if(isset($_GET['act24'])!='')
{
if($_GET['act24']=='asc')
$lname = "desc";
elseif($_GET['act24']=='desc')
$lname = "asc";
else
$lname='asc';
$qry .=" order by fname $lname";
}

$qry .=" LIMIT $offset, $rowsPerPage";
echo $qry;
$res = mysql_query($qry);
echo "<TABLE BORDER='1'>";
echo "<TR>";
echo "<TH><a href='test.php?act=$id'>uid</a></TH><TH><a href='test.php?act21=$sort'>uname</a></TH><TH><a href='test.php?act22=$email'>email</a></TH><TH><a href='test.php?act23=$fname'>fname</a></TH><TH><a href='test.php?act24=$lname'>lname</a></TH>";
echo "</TR>";

while ($row3 = mysql_fetch_array($res))
{
echo "<TR>";
echo "<TD>", $row3['uid'], "</TD><TD>", $row3['user_name'],"</TD><TD>",$row3['email'],"</TD><TD>", $row3['fname'],"</TD><TD>", $row3['lname'],"</TD>";
echo "</TR>";
}

echo "</TABLE>"; }

?>
Above program i executed i got warning error.as below




Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\testing\test.php on line 53
select * from temp1 type=ISAM order by uid asc LIMIT 0, 5
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\testing\test.php on line 211

code green's Avatar
Expert
 
Join Date: Mar 2007
Location: England
Posts: 1,083
#2: Apr 18 '07

re: Creating TEMPORARY TABLES in mysql and accessing througth php script


This query failed
Expand|Select|Wrap|Line Numbers
  1. select * from temp1 type=heap
. Probably because the table is empty
Reply