2016-04-08 8 views
0

これは私の最初の投稿です。SQLクエリの別のページにテーブル値を渡す

私は、基本的にCRMの一部であるビジネスオペレーション中に発生する問題を格納するウェブサイトの一部を開発しています。ユーザーがクエリを更新して特定のID番号を検索できる場所をすべて設定しました。私が抱えている問題は、特定の口座番号のID番号のDBを検索するときです。私はテーブル形式でそれらのすべてのリストを得ることができますが、私が望むのは、ユーザーがID番号をクリックして更新ページで更新できるようにすることです。何が起こっているのかは、どのID番号がクリックされても更新された最後の行だけが更新ページに送信されていることです。私はまだ無駄に$ _SESSIONを使用してみました

$querystr = $wpdb->prepare("SELECT * FROM wp_prs WHERE prsAcct = %s ORDER BY prsID", $account); 
$query_results = $wpdb->get_results($querystr, ARRAY_N); 

if (!isset ($_POST['submit-prs'])) { 

// I've left out all css and html that is here 

<form action="update.php" method="post"> 
<?php 
$arraySize = count($query_results); 
for ($i = 0; $i < $arraySize; $i++) { 
    for ($j = 0; $j < 10; $j++) { 
     if ($j == 0) { 
      $prs_number = $query_results[$i][0]; 
?> 
      <tr> 
      <input type="hidden" name="prs-number" value="<?php esc_html_e($prs_number); ?>" /> 
      <td><input type="submit" name="submit-prs-find" value="<?php esc_html_e($prs_number); ?>" /></td> 

<?php 
     } else if ($j == 2) { 
      $new_date = newDate($query_results[$i][$j]); 
      echo '<td>' . $new_date . '</td>'; 
     } else if ($j == 5) { 
      echo '<td id="subject-font">' . $query_results[$i][$j] . '</td>'; 
     } else if (($j >= 6) && ($j <= 9)) { 
      echo '<td>' . substr($query_results[$i][$j], 0, 20) . '...' . '</td>'; 

     } else { 
      echo '<td>' . $query_results[$i][$j] . '</td>'; 
     } 
    } 
    echo '</tr>'; 
} 
?> 
</form> 

は、ここでテーブルを表示する検索ページに私のコードです。私は最後の行IDだけを掲示するたびに。どんな助けが素晴らしいだろう、私はこれにしばらくこだわってきたし、私は考えることができるすべてのGoogle検索を使い果たした。

ありがとうございます!

+1

ようこそ!あなたは疑問に思っています。 $ _SESSIONで何を試しましたか? 1つの選択肢は、入力ページへのセッションを使用したユーザーの選択を含む、すべての入力(ただし、照会、大きなセキュリティ上の欠陥)を渡すことです。これはおそらくあなたの仕事の多くは、新しいエラーを導入する可能性がありますが、ここで運がなければバックアップすることができます。 – kirkpatt

+0

複数の 'submit'と1つの' form'と同じ名前の隠し入力を使用しています。同じ名前の入力が上書きされると、最後の文字がスティックされます。 '

'タグを 'input'フィールドのまわりで動かすことができます。これは、フォームのすべての行をオンにし、クリックされた情報を送信します。 – RST

+0

RST、ありがとうございました。私はそれを試みたと思っていましたが、明らかに私は入力の直前に最初のフォームタグを入れようとしましたが、入れ子のものではなく外側のループで閉じていました。本当にあなたの応答をありがとう、もう一度ありがとう! – Tim

答えて

0

レコードごとに送信がありますが、<form>はそれぞれ1つずつ閉じられていませんが、それらはすべて閉じられています。

ループ内に<form> </form>を含めるようにしてください。

あなたは送信ボタンがたくさん表示されますが、それは多分あなたが望むものです。

+0

お返事ありがとうございます。あなたはRSTと同じことを言っていたと思うし、それは完璧に働いた。送信ボタンの多くは、出力がID番号とフィールドのスニペットの表であるため、私が望んだものです。この方法で、ユーザーはボタンをクリックしてレコード全体を開くことができます。再度、感謝します! – Tim

+0

が表示されていないので、答えがあまり意味を持たないようになったことが分かりました。 1つの問題は、一度に1つずつ更新するのではなく、1つのサブミットで多数のレコードを更新することです。これは、必要に応じて簡単に実行できます。 – RGriffiths

関連する問題