将php函数更改为java脚本
我有一个动态创建的表。这很好用。我想使用概述的php函数在每个单元格中创建按钮(按钮不起作用,但会显示),并使用javascript或其他类似语言。我的最终目标是,当用户单击按钮时,会弹出一个框,用户在其中进行选择并提交,就像在php函数中一样。我没有很多使用javascript的经验,老实说,我找不到任何关于如何做到这一点的方法 下面是我的php文件将php函数更改为java脚本,php,javascript,jquery,javascript-events,Php,Javascript,Jquery,Javascript Events,我有一个动态创建的表。这很好用。我想使用概述的php函数在每个单元格中创建按钮(按钮不起作用,但会显示),并使用javascript或其他类似语言。我的最终目标是,当用户单击按钮时,会弹出一个框,用户在其中进行选择并提交,就像在php函数中一样。我没有很多使用javascript的经验,老实说,我找不到任何关于如何做到这一点的方法 下面是我的php文件 <?php session_start(); $tbvbr= $_SESSION['gamecode']; //user c
<?php
session_start();
$tbvbr= $_SESSION['gamecode'];
//user can only edit the row they created
$_GET["editmode"]=$_SESSION['playername'];
//start creating the table
function stripslashes2( $string )
{
if ( get_magic_quotes_gpc() ) {
return stripslashes( $string );
} else {
return $string;
}
}
function display_db_query( $tablename, $header_bool , $border )
{
// find out the number of columns in result
$result = mysql_query( "SHOW FIELDS FROM $tablename" );
while ( $row = mysql_fetch_assoc( $result ) ) {
if ( $row['Key'] == "PRI" )
$primarykey = $row['Field'];
else
$field[$row['Field']] = array( $row['Type'] );
}
if ( isset( $_POST["update$tablename"] ) ) {
$sql = sprintf( "update $tablename SET " );
$sqlfields = array();
foreach( $field AS $k => $v ) {
if ( !empty( $_POST["edit"][$k] ) )
$sqlfields[] = "$k='" . mysql_real_escape_string( stripslashes2( $_POST["edit"][$k] ) ) . "'";
else
$sqlfields[] = "$k = NULL ";
}
if ( count( $sqlfields ) > 0 ) {
$sql .= implode( " , " , $sqlfields ) . " WHERE $primarykey=" . intval( $_POST["updateid"] ) ;
mysql_query( $sql ) OR DIE( mysql_error() );
if ( mysql_affected_rows() > 0 )
print "Updated succesfully<br />";
}
else
echo "No change<br />";
}
// perform the database query
$result_id = mysql_query( "SELECT * from $tablename" )
or die( "display_db_query:" . mysql_error() );
if ( $header_bool ) {
echo "<table width='850' $border align='center' cellpadding='5' cellspacing='1' class='entryTable'>";
echo "<tr class='entryTableHeader'>";
foreach( $field AS $k => $v )
print( "<td><center><b>$k</b></center></td>" );
} else
echo "<table width='850' $border align='center' cellpadding='5' cellspacing='1' class='entryTable'> ";
while ( $row = mysql_fetch_assoc( $result_id ) ) {
print( "<tr>" );
// can edit only edit their row
if ( $_GET["editmode"] AND $_GET["editmode"] == $row[$primarykey] ) {
$editmodeison = true;
echo "<form method=\"post\" action=\"{$_SERVER["PHP_SELF"]}\">";
// this keeps users from editing other users rows
} else
$editmodeison = false;
foreach( $field AS $k => $v ) {
if ($editmodeison)
print( "<td class='content' align='center'><input type=\"button\" name=\"edit[$k]\" value=\"" . ( !empty( $row[$k] )?htmlspecialchars( $row[$k] ) : htmlspecialchars( '' ) ) . "\" /></td>\n" );
else
print( "<td class='content' align='center'>" . ( !empty( $row[$k] )?htmlspecialchars( $row[$k] ) : htmlspecialchars( 'change' ) ) . "</td>\n" );
}
if ( $editmodeison )
print( "<td class='content' align='center'><input type=\"hidden\" name=\"updateid\" value=\"{$row[$primarykey]}\"><input type=\"submit\" name=\"update$tablename\" value=\"update\"></form></td>\n" );
else
print( "<td class='content' align='center'><a href=\"{$_SERVER["PHP_SELF"]}?editmode=" . $row[$primarykey] . "\">change</a></td>\n" );
print( "</tr>\n" );
}
print( "</table>\n" );
}
?>
<HTML><HEAD><TITLE>Products Orderable table</TITLE></HEAD>
<BODY>
<TABLE><TR><TD>
<?php
/* For the following details, ask your server vendor */
$dbhost = "localhost";
$dbuser = "placeholder";
$dbpass = "placeholder";
$dbname = "placeholder";
mysql_connect( $dbhost, $dbuser, $dbpass ) or die ( "Unable to connect to MySQL server" );
mysql_select_db( "$dbname" );
mysql_query( "SET NAMES utf8" );
$table = $tbvbr;
display_db_query( $table, // $global_dbh,
true, "border='2'" );
?>
</TD></TR></TABLE></BODY></HTML>
我必须再次感谢上述帮助我的人
下面的代码是我问题的答案
我编辑的代码
if ($editmodeison)
print( "<td class='content' align='center'><input type=\"button\"onClick=\"reply_click(this.name)\" name=\"edit[$k]\" value=\"" . ( !empty( $row[$k] )?htmlspecialchars( $row[$k] ) : htmlspecialchars( '' ) ) . "\" /></td>\n" );
if($editmodeison)
打印(“\n”);
当然,我也必须将脚本添加到我的代码中
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
function reply_click(clicked_name)
{
alert(clicked_name);
}
</script>
功能回复点击(点击名称)
{
警报(单击名称);
}
再次感谢你为我指明了正确的方向 你不能仅仅把一段在服务器端运行并且依赖于数据库的代码“转换”成一种在客户端运行的语言?ajax就是一种方法。谢谢你的建议!你能让我更深入地了解我需要做什么吗?谷歌这将是一个起点。你会想阅读一些ajax教程,特别是如何通过ajax提交表单。如果您还不知道,它是一个帮助简化javascript编写的框架,我建议您使用它。此外,html不应该是大写的。这个答案可以帮助您使用ajax
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
function reply_click(clicked_name)
{
alert(clicked_name);
}
</script>