2012-01-03 62 views
0

我已将下面的代码放在一起,并允许我删除成员。将PHP输出插入表中

解决方案

<?php 
    $db_host = 'hostname'; 
    $db_user = 'username'; 
    $db_pwd = 'password'; 

    $database = 'databasename'; 
    $table = 'tablename'; 
    // use the same name as SQL table 

    if (!mysql_connect($db_host, $db_user, $db_pwd)) 
    die("Can't connect to database"); 

    if (!mysql_select_db($database)) 
    die("Can't select database"); 

    function sql_safe($s) 
{ 
    if (get_magic_quotes_gpc()) 
     $s = stripslashes($s); 

    return mysql_real_escape_string($s); 
} 

if ($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
    if (isset($_POST["submit"])) 
    { 
     if (isset($_POST['del'])) 
      $userid = intval($_POST['del']); 

     if (mysql_query("DELETE FROM {$table} WHERE userid={$userid}")) 
      $msg = 'The member who you selected has now been deleted!'; 
     else 
      $msg = 'Could not delete the selected member'; 
    } 
} 
?> 
<html><head> 
<title>Save Photo(s) to Find</title> 
<style type="text/css"> 
<!-- 
.style1 { 
    color: #FFFFFF; 
    font-size: 18px; 
    font-family: Calibri; 
} 
.style2 { 
    font-size: 18px; 
    font-weight: bold; 
    font-family: Calibri; 
} 
.style3 {font-family: Calibri} 
.style6 {font-size: 16px} 
.style7 {font-family: Calibri; font-size: 16px; } 
--> 
</style> 
</head> 
<body> 
<p class="style7"> 
<?php 
if (isset($msg)) // this is special section for 
// outputing message 
{ 
?></p> 
<p class="style7"> 
    <?=$msg?> 
</p> 
<?php 
} 
?> 
<form action="<?=$PHP_SELF?>" method="POST" enctype="multipart/form-data"> 
<?php 
$result = mysql_query("SELECT userid, forename, surname, subscriptionexpiration FROM {$table} ORDER BY userid DESC"); 
if (mysql_num_rows($result) == 0) // table is empty 
echo 'There are no members to view'; 
else 
{ 
echo "<table>\n"; 
while(list($userid, $forename, $surname, $subscriptionexpiration) = mysql_fetch_row($result)) 
{ 
echo "<tr>\n" 
."<td><input type='radio' name='del' forename, surname value='{$userid}' /></td>\n" 
."<td><small>{$forename} {$surname}</small><td>\n" 
."<td><small>{$subscriptionexpiration}</small><td>\n" 
."</tr>\n"; 
} 
echo "<tr><td colspan=\"3\">"; 
echo '<input type="submit" value="Delete Selected Member" name="submit"/>'; 
echo "</td></tr>"; 
echo '</table>'; 
} 
?> 
<input type="hidden" name="action" id="action" /> 
</form> 
</body> 
</html> 

为了让我轻松一点,我希望能够与包含子弹点的第一列插入列表输出到一个表我的形式,单选按钮和成员名称,最后一列显示“订购到期日期”。

我试着简单地将php脚本移动到表格列中,但这不起作用,因为我不能,或者应该说,不知道如何将PHP和HTML元素结合在一起。

+1

'不知道如何将PHP和HTML元素结合在一起。“你是什么意思?你已经在你发布的代码中做了它... – 2012-01-03 16:19:33

+0

也许他问如何使它成为一张桌子而不是列表? – Rooster 2012-01-03 16:24:08

回答

2

我eddited你的代码和替换列表项(UL和IL)与表标签(表,TR ,和td)。

$result = mysql_query("SELECT userid, forename, surname, subscriptionexpiration FROM {$table} ORDER BY userid DESC"); 
if (mysql_num_rows($result) == 0) // table is empty 
echo 'There are no members to view'; 
else 
{ 
    echo "<table>\n"; 
    while(list($userid, $forename, $surname, $subscriptionexpiration) = mysql_fetch_row($result)) 
    { 
     echo "<tr>\n" 
     ."<td><input type='radio' name='del' forename, surname value='{$userid}' /></td>\n" 
     ."<td><small>{$forename} {$surname}</small><td>\n" 
     ."<td><small>{$subscriptionexpiration}</small><td>\n" 
     ."<td><input type=\"submit\" value=\"Delete Selected Member\" onclick=\"document.getElementById('action').value='delete'\" /><td>\n" 
     ."</tr>\n"; 
    } 
    echo '</table>'; 
} 
+0

嗨,非常感谢您花时间回复我的帖子,这基本上是我在寻找的内容,但是请您告诉我,我需要更改哪些内容以便只有一个“删除所选内容”按钮,通过单选按钮进行选择。亲切的问候。 – IRHM 2012-01-03 16:43:18

+1

@IRHM只需将该行删除,然后将其添加到自己的tr标记中,然后加上'echo'';'行(循环外部)。 – James 2012-01-03 17:19:12

+0

嗨@詹姆斯,非常感谢您花时间帮助解决这个问题。我已经完成了我以为你在说什么,但是我明显做错了什么,因为我收到了错误: 解析错误:语法错误,第83行中出现意外的T_CONSTANT_ENCAPSED_STRING whch是这一行:“”; 我修改了原始文章中的代码。你可能请看看这个,让我知道我做错了什么。亲切的问候 – IRHM 2012-01-03 18:24:12

0

您可以修改您的代码如下所示,只需切换出列表元素与表元素:

echo '<table>'; 
while(list($userid, $forename, $surname, $subscriptionexpiration) = mysql_fetch_row($result)) 
{ 
// outputing list 
echo "<tr>"; 
echo "<td><input type='radio' name='del' value='{$userid}' /> &nbsp;<small>{$forename} {$surname}</small></td>"; 
echo "<td><small>{$subscriptionexpiration}</small></td>"; 
echo "</tr>"; 
} 
echo '</table>'; 
+0

嗨,非常感谢您花时间回复我的帖子。非常感谢。亲切的问候。 – IRHM 2012-01-03 16:50:39

+0

传递斗! – 2012-01-06 15:52:36

0

我将离开HTML这样的:

<form action="<?=$PHP_SELF?>" method="POST" enctype="multipart/form-data"> 
<?php 
$result = mysql_query("SELECT userid, forename, surname, subscriptionexpiration FROM {$table} ORDER BY userid DESC"); 
if (mysql_num_rows($result) == 0) // table is empty 
echo 'There are no members to view'; 
else 
{ 
    echo "<table>\n"; 
    while(list($userid, $forename, $surname, $subscriptionexpiration) = mysql_fetch_row($result)) 
    { 
     echo "<tr>\n" 
     ."<td><input type='radio' name='del' forename, surname value='{$userid}' /></td>\n" 
     ."<td><small>{$forename} {$surname}</small><td>\n" 
     ."<td><small>{$subscriptionexpiration}</small><td>\n" 
     ."</tr>\n"; 
    } 
    echo "<tr><td colspan=\"3\">"; 
    echo '<input type="submit" value="Delete Selected Member" name="submit"/>'; 
    echo "</td></tr>";  
    echo '</table>'; 
} 
?> 
<input type="hidden" name="action" id="action" /> 
</form> 

而对于我的PHP:

<?php 
$db_host = 'hostname'; 
$db_user = 'username'; 
$db_pwd = 'password'; 

$database = 'databasename'; 
$table = 'tablename'; 
// use the same name as SQL table 

if (!mysql_connect($db_host, $db_user, $db_pwd)) 
    die("Can't connect to database"); 

if (!mysql_select_db($database)) 
    die("Can't select database"); 

function sql_safe($s) 
{ 
    if (get_magic_quotes_gpc()) 
     $s = stripslashes($s); 

    return mysql_real_escape_string($s); 
} 

if ($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
    if (isset($_POST["submit"])) 
    { 
     if (isset($_POST['del'])) 
      $userid = intval($_POST['del']); 

     if (mysql_query("DELETE FROM {$table} WHERE userid={$userid}")) 
      $msg = 'The member who you selected has now been deleted!'; 
     else 
      $msg = 'Could not delete the selected member'; 
    } 
} 
?> 

我拿出exit()因为那是什么导致页面停止加载(白屏幕)。我也拿出你的提交按钮onclick事件,因为我不确定你使用的是什么,也不需要执行这个任务。如果你使用它作为别的东西,它可以放回去。

在顶部,我只是让它检查是否按下提交按钮。让我知道这是否适合你。

+0

嗨,非常感谢您的回复我的文章,这是真正的赞赏。亲切的问候。 – IRHM 2012-01-03 16:51:18

+0

@IRHM这是否回答您的问题,还是仍然存在问题? – James 2012-01-03 22:22:33

+0

嗨@詹姆斯,不幸的是这不起作用。只要我添加,点击'删除选定的成员'按钮,整个屏幕刷新,并成为一个空白的网页浏览器页面。然后,当我进行手动刷新时,我选择删除的成员未被删除。亲切的问候 – IRHM 2012-01-04 13:52:31