Free Software Server Environment : FunctionsPhp

HomePage :: Categories :: PageIndex :: RecentChanges


Search this site: FSSE.INFO is produced by "osde8info" :

inc.functions.php

<?
    define (Q,  "'");
    define (QQ, '"');

    function qq( $v )
    {
        return QQ . $v . QQ ;
    }

    function mydebug ( $v )
    {
        echo "\n<pre>\n"  ;
        print_r ( $v ) ;
        echo "\n</pre>\n" ;
    }

    function fieldmetas($res)
    {
        $metas = array() ;
       
        $numfields = mysql_num_fields($res) ;

        for ($i=0 ; $i < $numfields ; $i++ )
        {
            $meta = mysql_fetch_field( $res, $i ) ;
            $metas[$meta->name] = $meta ;
        }
       
        return $metas ;
    }

    function fieldnames( $metas )
    {
        foreach ($metas as $val)
        {
            $s .= $s ? ',' : '' ;
            $s .= $val -> name ;
        }
        return $s ;
    }
   
    function fieldkeys( $table )
    {
        $sql = "select * from {$table} where 0 <> 0" ;

        $res = mysql_query( $sql ) ;

        $fieldmetas = fieldmetas( $res ) ;

        $status = mysql_free_result( $res ) ;
       
        foreach ($fieldmetas as $name => $meta)
        {
            if ( $meta -> primary_key ) $keys[$name] = $meta ;
        }
       
        return $keys ;
    }

    function fieldkeysvalues( $keys, $keyvalues )
    {
        foreach ( $keys as $name => $meta )
        {
            $s .= $s ? ' and ' : '' ;
            $s .= $name . "=" . $keyvalues[$name] ;
        }
        return $s ;
    }

    function table2form( $table, $keys, $values, $showdatas = false )
    {
        $sql = "select " .
                " * " .
                " from " .
                $table .
                " where " .
                fieldkeysvalues( $keys , $values ) ;

        $res = mysql_query( $sql ) ;

        $fieldmetas = fieldmetas( $res ) ;

        $data = mysql_fetch_assoc( $res ) ;

        foreach ($fieldmetas as $name => $meta)
        {
            $fprim = $meta -> primary_key ;

            $fincl = $fprim || $showdatas// include if primary or $showdatas
            $fhide = $fprim && $showdatas// hide if primary and $showdatas

            if ($fincl)
            {
   
                $ffname = ' name=' . qq( $name ) ;

                if (!$fhide)
                {
                    $s .= $name  . "\n<br />\n" ;
                    $fftype = ' type=' . qq( 'text' ) ;
                    $ffreadonly = '' ;
                }
                else
                {
                    $fftype = ' type=' . qq( 'hidden' ) ;
                    $ffreadonly = ' readonly=' . qq('true') ;
                }
               
                $val = $data[$name] ;
               
                switch ( $meta -> type )
                {
                    case 'int' :
                        $s .= '<input ' ;
                        $s .= $ffname ;
                        $s .= $fftype ;
                        $s .= $ffreadonly ;
                        $s .= ' size=' . qq(4) ;
                        $s .= ' maxlength =' . qq(4) ;
                        $s .= ' value=' . qq($val) ;
                        $s .= ' />' ;
                        break;
   
                    case 'string' :
                        $s .= '<input ' ;
                        $s .= $ffname ;
                        $s .= $fftype ;
                        $s .= $ffreadonly ;
                        $s .= ' size=' . qq(40) ;
                        $s .= ' maxlength=' . qq(100) ;
                        $s .= ' value=' . qq($val) ;
                        $s .= '/>' ;
                        break;
                       
                    case 'blob' :
                        $s .= '<textarea ' ;
                        $s .= $ffname ;
                        $s .= ' rows=' . qq(15) ;
                        $s .= ' cols=' . qq(80) ;
                        $s .= ' class=' . qq(mceEditor) ;
                        $s .= '>' ;
                        $s .= $val ;
                        $s .= '</textarea>' ;
                        break;
               
                    default:
                        break;
                }
   
                $s .= "\n<br />\n" ;
   
            }

        }

        return $s ;

    }

    function fieldkeyvalue( $sofar, $sep, $meta, $value )
    {
        if ($sofar) $s = $sep . "\n" ;
       
        $name = $meta -> name ;
       
        switch ( $meta -> type )
        {
            case 'int' :
                $s .= $name . '=' . ( $value ? $value : 'null' ) ;
                break;

            case 'string' :
                $s .= $name . '=' . qq($value) ;
                break;
               
            case 'blob' :
                $s .= $name . '=' . qq($value) ;
                break;
       
            default:
                break;
        }

        return $s ;

    }

    function post2update( $table , $datavalues )
    {
        $sql = "select * from $table where 0 <> 0" ;

        $res = mysql_query( $sql ) ;
        $fieldmetas = fieldmetas( $res ) ;
        $status = mysql_free_result( $res ) ;

        foreach ( $fieldmetas as $name => $meta )
        {
            $fvalu = $datavalues[$name] ;

            if ( $meta -> primary_key )
            {
                $keycols .= fieldkeyvalue( $keycols , ' and ' , $meta, $fvalu ) ;
            }
            else
            {
                $datacols .= fieldkeyvalue( $datacols , ' , ' , $meta, $fvalu ) ;
            }
        }

        $sql = "update\n$table\nset\n$datacols\nwhere\n$keycols" ;
       
        $res = mysql_query( $sql ) ;
       
    }

?>


REFERRERS
PhpMySqlUnicode

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki
Page was generated in 0.2215 seconds