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
Page was generated in 0.2215 seconds
There are no comments on this page. [Add comment]