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 12-22-2010, 05:04 PM   PM User | #1
simzam
New Coder

 
Join Date: Dec 2010
Posts: 36
Thanks: 1
Thanked 0 Times in 0 Posts
simzam is an unknown quantity at this point
inesrt Query need some help !

I'm trying to create function that insert into DB
need to add this function into insert.php but i really donno how to write this function properly using pagination.php
help needed badly !

Code:
function insertrow () {
   $sql = "INSERT INTO mytable(title) VALUES ('textarea text')";
   $pager = new PS_Pagination($conn, $sql);
   $pager->setDebug(true);
   $rs = $pager->paginate();
   if(!$rs){
   echo "Invalid query: ".mysql_error()." <br>\n ";
   }
}
insert.php:
PHP Code:
<?php

include('pagination.php');
$conn mysql_connect('localhost','root','123456');
if(!
$conn){
echo 
"Invalid query: ".mysql_error()." <br>\n ";
}
$status mysql_select_db('fblike'$conn);
if(!
$status){
echo 
"Invalid query: ".mysql_error()." <br>\n ";
}
echo 
"<html>\n" ;
echo 
"<head>\n" ;
echo 
"<title>Insert !</title>\n" ;
echo  
"</head>\n" ;
echo  
"<body>\n" ;
echo  
"<form method=\"post\" action=\"\">\n" ;
echo  
"Insert Row: <br> <textarea rows=\"1\"  cols=\"60\" name=\"quote\"  wrap=\"physical\" > Enter your favorite quote! </textarea> \n" ;
echo 
"<input type=\"submit\" name=\"submit\" value=\"Insert\">\n" ;
echo  
"</form>\n" ;
echo  
"<br>\n" ;
$sql 'SELECT * FROM mytable';
$pager = new PS_Pagination($conn$sql108"param1=valu1&param2=value2");
$pager->setDebug(true);
$rs $pager->paginate();
if(!
$rs){
echo 
"Invalid query: ".mysql_error()." <br>\n ";
}
while(
$row mysql_fetch_assoc($rs)) {
echo  
" {$row['title']} ---------------------------> <a href= \"\">Edit</a><br><br>\n";
}

echo  
"<br>\n" ;
  echo 
$pager->renderFullNav();
echo  
"</body>\n" ;
echo  
"</html>\n" ;
?>
pagination.php:
PHP Code:
<?php
/**
 * PHPSense Pagination Class
 *
 * PHP tutorials and scripts
 *
 * @package        PHPSense
 * @author        Jatinder Singh Thind
 * @copyright    Copyright (c) 2006, Jatinder Singh Thind
 * @link        http://www.phpsense.com
 */

// ------------------------------------------------------------------------


class PS_Pagination {
    var 
$php_self;
    var 
$rows_per_page 10//Number of records to display per page
    
var $total_rows 0//Total number of rows returned by the query
    
var $links_per_page 5//Number of links to display per page
    
var $append ""//Paremeters to append to pagination links
    
var $sql "";
    var 
$debug false;
    var 
$conn false;
    var 
$page 1;
    var 
$max_pages 0;
    var 
$offset 0;
    
    
/**
     * Constructor
     *
     * @param resource $connection Mysql connection link
     * @param string $sql SQL query to paginate. Example : SELECT * FROM users
     * @param integer $rows_per_page Number of records to display per page. Defaults to 10
     * @param integer $links_per_page Number of links to display per page. Defaults to 5
     * @param string $append Parameters to be appended to pagination links 
     */
    
    
function PS_Pagination($connection$sql$rows_per_page 10$links_per_page 5$append "") {
        
$this->conn $connection;
        
$this->sql $sql;
        
$this->rows_per_page = (int)$rows_per_page;
        if (
intval($links_per_page ) > 0) {
            
$this->links_per_page = (int)$links_per_page;
        } else {
            
$this->links_per_page 5;
        }
        
$this->append $append;
        
$this->php_self htmlspecialchars($_SERVER['PHP_SELF'] );
        if (isset(
$_GET['page'] )) {
            
$this->page intval($_GET['page'] );
        }
    }
    
    
/**
     * Executes the SQL query and initializes internal variables
     *
     * @access public
     * @return resource
     */
    
function paginate() {
        
//Check for valid mysql connection
        
if (! $this->conn || ! is_resource($this->conn )) {
            if (
$this->debug)
                echo 
"MySQL connection missing<br />";
            return 
false;
        }
        
        
//Find total number of rows
        
$all_rs = @mysql_query($this->sql );
        if (! 
$all_rs) {
            if (
$this->debug)
                echo 
"SQL query failed. Check your query.<br /><br />Error Returned: " mysql_error();
            return 
false;
        }
        
$this->total_rows mysql_num_rows($all_rs );
        @
mysql_close($all_rs );
        
        
//Return FALSE if no rows found
        
if ($this->total_rows == 0) {
            if (
$this->debug)
                echo 
"Query returned zero rows.";
            return 
FALSE;
        }
        
        
//Max number of pages
        
$this->max_pages ceil($this->total_rows $this->rows_per_page );
        if (
$this->links_per_page $this->max_pages) {
            
$this->links_per_page $this->max_pages;
        }
        
        
//Check the page value just in case someone is trying to input an aribitrary value
        
if ($this->page $this->max_pages || $this->page <= 0) {
            
$this->page 1;
        }
        
        
//Calculate Offset
        
$this->offset $this->rows_per_page * ($this->page 1);
        
        
//Fetch the required result set
        
$rs = @mysql_query($this->sql " LIMIT {$this->offset}, {$this->rows_per_page}" );
        if (! 
$rs) {
            if (
$this->debug)
                echo 
"Pagination query failed. Check your query.<br /><br />Error Returned: " mysql_error();
            return 
false;
        }
        return 
$rs;
    }
    
    
/**
     * Display the link to the first page
     *
     * @access public
     * @param string $tag Text string to be displayed as the link. Defaults to 'First'
     * @return string
     */
    
function renderFirst($tag 'First') {
        if (
$this->total_rows == 0)
            return 
FALSE;
        
        if (
$this->page == 1) {
            return 
"$tag ";
        } else {
            return 
'<a href="' $this->php_self '?page=1&' $this->append '">' $tag '</a> ';
        }
    }
    
    
/**
     * Display the link to the last page
     *
     * @access public
     * @param string $tag Text string to be displayed as the link. Defaults to 'Last'
     * @return string
     */
    
function renderLast($tag 'Last') {
        if (
$this->total_rows == 0)
            return 
FALSE;
        
        if (
$this->page == $this->max_pages) {
            return 
$tag;
        } else {
            return 
' <a href="' $this->php_self '?page=' $this->max_pages '&' $this->append '">' $tag '</a>';
        }
    }
    
    
/**
     * Display the next link
     *
     * @access public
     * @param string $tag Text string to be displayed as the link. Defaults to '>>'
     * @return string
     */
    
function renderNext($tag '&gt;&gt;') {
        if (
$this->total_rows == 0)
            return 
FALSE;
        
        if (
$this->page $this->max_pages) {
            return 
'<a href="' $this->php_self '?page=' . ($this->page 1) . '&' $this->append '">' $tag '</a>';
        } else {
            return 
$tag;
        }
    }
    
    
/**
     * Display the previous link
     *
     * @access public
     * @param string $tag Text string to be displayed as the link. Defaults to '<<'
     * @return string
     */
    
function renderPrev($tag '&lt;&lt;') {
        if (
$this->total_rows == 0)
            return 
FALSE;
        
        if (
$this->page 1) {
            return 
' <a href="' $this->php_self '?page=' . ($this->page 1) . '&' $this->append '">' $tag '</a>';
        } else {
            return 
" $tag";
        }
    }
    
    
/**
     * Display the page links
     *
     * @access public
     * @return string
     */
    
function renderNav($prefix '<span class="page_link">'$suffix '</span>') {
        if (
$this->total_rows == 0)
            return 
FALSE;
        
        
$batch ceil($this->page $this->links_per_page );
        
$end $batch $this->links_per_page;
        if (
$end == $this->page) {
            
//$end = $end + $this->links_per_page - 1;
        //$end = $end + ceil($this->links_per_page/2);
        
}
        if (
$end $this->max_pages) {
            
$end $this->max_pages;
        }
        
$start $end $this->links_per_page 1;
        
$links '';
        
        for(
$i $start$i <= $end$i ++) {
            if (
$i == $this->page) {
                
$links .= $prefix " $i " $suffix;
            } else {
                
$links .= ' ' $prefix '<a href="' $this->php_self '?page=' $i '&' $this->append '">' $i '</a>' $suffix ' ';
            }
        }
        
        return 
$links;
    }
    
    
/**
     * Display full pagination navigation
     *
     * @access public
     * @return string
     */
    
function renderFullNav() {
        return 
$this->renderFirst() . '&nbsp;' $this->renderPrev() . '&nbsp;' $this->renderNav() . '&nbsp;' $this->renderNext() . '&nbsp;' $this->renderLast();
    }
    
    
/**
     * Set debug mode
     *
     * @access public
     * @param bool $debug Set to TRUE to enable debug messages
     * @return void
     */
    
function setDebug($debug) {
        
$this->debug $debug;
    }
}
?>
simzam is offline   Reply With Quote
Old 12-22-2010, 05:23 PM   PM User | #2
Fumigator
UE Antagonizer


 
Fumigator's Avatar
 
Join Date: Dec 2005
Location: Utah, USA, Northwestern hemisphere, Earth, Solar System, Milky Way Galaxy, Alpha Quadrant
Posts: 7,687
Thanks: 42
Thanked 637 Times in 625 Posts
Fumigator is a glorious beacon of lightFumigator is a glorious beacon of lightFumigator is a glorious beacon of lightFumigator is a glorious beacon of lightFumigator is a glorious beacon of light
Why are you trying to insert a row using that pagination class?
__________________
Fumigator is offline   Reply With Quote
Old 12-22-2010, 05:35 PM   PM User | #3
simzam
New Coder

 
Join Date: Dec 2010
Posts: 36
Thanks: 1
Thanked 0 Times in 0 Posts
simzam is an unknown quantity at this point
I don't want to write other sql connectivity function to insert into database i think it look neat and as i want it in insert.php it also using pagination class why not to use same file for connectivity
and i also wanted to know how to use that function as i want it for insert update delete records while using pagination
simzam is offline   Reply With Quote
Old 12-22-2010, 06:30 PM   PM User | #4
Fumigator
UE Antagonizer


 
Fumigator's Avatar
 
Join Date: Dec 2005
Location: Utah, USA, Northwestern hemisphere, Earth, Solar System, Milky Way Galaxy, Alpha Quadrant
Posts: 7,687
Thanks: 42
Thanked 637 Times in 625 Posts
Fumigator is a glorious beacon of lightFumigator is a glorious beacon of lightFumigator is a glorious beacon of lightFumigator is a glorious beacon of lightFumigator is a glorious beacon of light
You answered your own question there. That pagination class doesn't do queries, it handles pagination. Why would you want to stick a square peg into a round hole?
__________________
Fumigator is offline   Reply With Quote
Old 12-22-2010, 07:54 PM   PM User | #5
simzam
New Coder

 
Join Date: Dec 2010
Posts: 36
Thanks: 1
Thanked 0 Times in 0 Posts
simzam is an unknown quantity at this point
OK so it mean's i need to create separate function like :

Code:
function insertrow () {
	$sqlinsert = mysql_query("INSERT INTO mytable143(title) VALUES ('textarea text')");
	if(!$sqlinsert){
	echo "Invalid query: ".mysql_error()." <br>\n ";
	}
}
if its OK than how to use with its simple text area form which insert data into database

Code:
echo "<html>\n" ;
echo "<head>\n" ;
echo "<title>Insert !</title>\n" ;
echo  "</head>\n" ;
echo  "<body>\n" ;
echo  "<form method=\"post\" action=\"\">\n" ;
echo  "Insert Row: <br> <textarea rows=\"1\"  cols=\"60\" name=\"quote\"  wrap=\"physical\" > Enter your favorite quote! </textarea> \n" ;
echo "<input type=\"submit\" name=\"submit\" value=\"Insert\">\n" ;
echo  "</form>\n" ;
echo  "<br>\n" ;
and when i hit EDIT button (title ) should display in TextArea how can i accomplish this all stuff

Last edited by simzam; 12-22-2010 at 08:14 PM..
simzam 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 05:18 AM.


Advertisement
Log in to turn off these ads.