0

データベースに保存されているユーザーからのメッセージを表示するサイトがあります。私が欲しいのは、各メッセージの横にある返信リンクをクリックすると、新しいページが読み込まれ、各メッセージの詳細がループスルー後に特定の行の特定のデータを取得する方法。

<?php 
$dbcon=mysqli_connect("localhost","root","","technoage");

// Check connection
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_select_db($dbcon,"technoage") or die ("database not found!!!");

$r = mysqli_query($dbcon,"SELECT * FROM messages LIMIT $startrow,10 "); // Run the query.
if($r) { // If it ran OK, display the Table header.
    echo '<table class="table"> <tr><td><b>Name of sender</b></td><td><b>Senders Details</b></td><td><b>Message</b></td><td><b>Reply To Massage</b><td/></tr>';

    while ($row = mysqli_fetch_array($r,MYSQLI_ASSOC)) 
    { 
        echo'<tr><td>'.'Name: '.$row['name'].'</td><td> '.'Email: '.$row['email_address'] .'<br>Subject: '.$row['message_subject'].'<br>Phone: '.$row['phone'].'<br>Date Sent: '.$row['date_sent']. '</td><td>'.'Message: '.$row['message'].'</td><td><a     href="#">Reply</a></td></tr>';
    }
    echo '</table>';
}

返信リンクをクリックすると、クリックされたメッセージの詳細を含むページが読み込まれる必要があります。

返信ファイルは

<?php 
    $dbcon=mysqli_connect("localhost","root","","technoage");
    if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    mysqli_select_db($dbcon,"technoage") or die ("database not found!!!");

    // Run the query.

    echo'<form method="post" action="includes/insert.php">';
    echo'<label for="name">Name:</label><br>';
    echo'<input type="text" class="text" name="name" id="name" /><br>';
    echo'<label for="email">E-mail Address:</label><br>';
    echo'<input type="text" class="text" name="email" id="email" /><br>';
    echo'<label for="phone">Phone:</label><br>';
    echo'<input type="text" class="text" name="phone" id="phone" /><br>';
    echo'<label for="text">Message Subject:</label><br>';
    echo'<input type="text" class="text" name="message_subject" id="message_subject"></textarea><br>';
    echo'<label for="text">Message:</label><br>';
    echo'<textarea class="text" name="message" id="text"></textarea><br>';
    echo'<input type="submit" class="submit" value="Send" />';
    echo'</form>';
?>

Matlab のエラーバー付きヒストグラム

バー プロット (各バーの上) にエラー バーを配置したい。私は試した

bincentres = -85:10:85;
nelements = [1,4,14,24,46,57,63,63,174,147,69,49,22,9,4,2,1,0];
err = sqrt(nelements);
bar(bincentres, nelements);
hold on
errorbar(bincentres,nelements, err);
hold off

以前は、上記のコードの「errorbar」に「bincentres」がなかったため、エラーバーが表示されませんでした。それを指摘してくれた@Shaiに感謝します。しかし、エラーバーとは別に、各エラーバーの中央を結ぶ線が表示されるようになりました。その青い線を飛ばしたい。

4

3 に答える 3

2

まず、使用しないでくださいSELECT *。より良いSELECT id, name, phone.... FROM ...

データベーステーブルの主キーを使用して返信リンクを生成できます。(例: ID)

echo '<a href="reply.php?id=' . $row['id'] . '">Reply</a>';

idそれは常に整数であり、悪いリンクを生成する可能性のあるユーザー入力ではないことを確認してください。

于 2014-05-09T07:16:34.940 に答える
0

このようなフォームフィールドの値属性を追加します

echo'<input type="text" class="text" name="name" id="name" value="'.$row['name'].'" /><br>';

それに応じて、他のフィールドにも同じ属性を追加します。

于 2013-11-06T11:19:19.253 に答える
-1

これをチェックしてください。

1 ページ目の欠落点: 1. フォームが宣言されていない

変更されたコード:

<?php 
$dbcon=mysqli_connect("localhost","root","","technoage");

// Check connection
if (mysqli_connect_errno())
{
 echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_select_db($dbcon,"technoage") or die ("database not found!!!");
}

$r = mysqli_query($dbcon,"SELECT * FROM messages LIMIT $startrow,10 "); // Run the query.
if($r) { // If it ran OK, display the Table header.
echo "<form method='post' action='target_pagelink.php' target='_blank'>";
echo '<table class="table"> 
        <tr>
            <td><b>Name of sender</b></td>
            <td><b>Senders Details</b></td>
            <td><b>Message</b></td>
            <td><b>Reply To Massage</b><td/>
        </tr>';

while ($row = mysqli_fetch_array($r,MYSQLI_ASSOC)) 
{ 
echo'<tr><td>'.'Name: '.$row['name'].
    '</td><td> '.'Email: '.$row['email_address'] .
    '<br>Subject: '.$row['message_subject'].
    '<br>Phone: '.$row['phone'].
    '<br>Date Sent: '.$row['date_sent']. 
    '</td><td>'.'Message: '.$row['message'].
    '</td><td>'."
    <input type='hidden' name='Name' value=".$row['name']." >
    <input type='hidden' name='Email' value=".$row['email_address']." >
    <input type='hidden' name='Subject' value=".$row['message_subject']." >
    <input type='hidden' name='Phone' value=".$row['phone']." >
    <input type='hidden' name='DateS' value=".$row['date_sent']." >
    <input type='hidden' name='Message' value=".$row['message']." >
    <input type='submit' value='Reply' >
    </td>
    </tr>
    ";
}
echo '</table>';
echo '</form>';

?>

2 番目 (応答ファイル) ページの欠落点: 1. 入力パラメーターを受け入れるように宣言された要素がない

<?php 
    $dbcon=mysqli_connect("localhost","root","","technoage");
    if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    mysqli_select_db($dbcon,"technoage") or die ("database not found!!!");

    // Run the query.

    if(
        isset($_POST['name']) &&
        isset($_POST['email_address']) &&
        isset($_POST['message_subject']) &&
        isset($_POST['phone']) &&
        isset($_POST['date_sent']) &&
        isset($_POST['message']) 
    ){
    echo'<form method="post" action="includes/insert.php">';
    echo'<label for="name">Name:</label><br>';
    echo'<input type="text" class="text" name="name" id="name" value='.$_POST['name'].'/><br>';
    echo'<label for="email">E-mail Address:</label><br>';
    echo'<input type="text" class="text" name="email" id="email" value='.$_POST['email_address'].' /><br>';
    echo'<label for="phone">Phone:</label><br>';
    echo'<input type="text" class="text" name="phone" id="phone" value='.$_POST['phone'].' /><br>';
    echo'<label for="text">Message Subject:</label><br>';
    echo'<input type="text" class="text" name="message_subject" id="message_subject" value='.$_POST['message_subject'].' ></textarea><br>';
    echo'<label for="text">Message:</label><br>';
    echo'<textarea class="text" name="message" id="text" >'.$_POST['message'].'</textarea><br>';
    echo'<input type="submit" class="submit" value="Send" />';
    echo'</form>';
    }
?>
于 2013-11-06T11:26:49.623 に答える