2012-01-03 9 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> 

、私は、箇条書きを含む最初の列で自分のフォーム上のテーブルに出力されたリストを挿入できるようにしたいのですがラジオボタンとメンバーの名前、最後の列に「Subscription Expiration Date」と表示されます。

私は単純にPHPのスクリプトをテーブルの列に移動しようとしましたが、PHPとHTML要素を組み込む方法がわからない、または私が言うべきではないので、これは単に機能しません。

+1

「PHPとHTMLの要素をどのように組み込むかわからない」とはどういう意味ですか?あなたはすでに投稿したコードでそれをやった... –

+0

多分hesはリストの代わりにテーブルにするように頼んでいますか? – Rooster

答えて

2

私はあなたのコードをeddited、テーブルタグ(表、TRとリスト項目(ULおよびIL)に置き換え、および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

+1

@IRHMちょうどその行を取り出し、あなたの 'echo '';'の直前にそれ自身のtrタグを入れて追加します(ループの外側)。 – James

+0

こんにちは@ジェームズ、これを助けるために時間を割いてくれてありがとう。私はあなたが言っていると思ったことをやったことがありますが、私はエラーを受け取っているので間違ったことをしました: 構文解析エラー:構文エラー、T_CONSTANT_ENCAPSED_STRINGが83行目にあります。 元の投稿のコードを修正しました。おそらくこれを見て、私が間違ったことを教えてください。種類: – IRHM

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

+0

バケツを渡す! –

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のために:それはページがロードを停止させたものだから、私はexit()を取り出し

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

(白画面)。私はあなたがそれを使用していたかどうかわからなかったので、あなたのonclickイベントを送信ボタンのために取り出しました。このタスクを実行する必要はありません。

トップに、送信ボタンが押されたかどうかを確認するだけです。これがあなたのために働くかどうか私に教えてください。

+0

こんにちは、私の投稿に返信を見てくれてありがとう、本当に感謝しています。敬具。 – IRHM

+0

@IRHMこれはあなたの質問に答えましたか、それでも問題はありますか? – James

+0

こんにちは@ジェームズ、残念ながら、これは動作しません。 'Delete Selected Member'ボタンをクリックすると、画面全体がリフレッシュされ、空白のWebブラウザページになります。手動で更新すると、削除したメンバーは削除されません。親切には – IRHM

関連する問題