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 ) ;
}
?>
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