2016-06-26 6 views
-2

Сейчас мой массив отображает информацию, которая мне нужна, но я пытаюсь разрешить пользователям требовать задания, нажав кнопку «запрос» и разместив их имя пользователя, идентификатор пользователя , идентификатор заказа и установку заявленной информации, чтобы показать, что она заявлена.Сделайте вывод из массива MySQL и опубликуйте определенную информацию в другую таблицу

<h3>Current Jobs</h3> 
     <p class="text-muted m-b-20">These are the jobs either in progress or are available to be claimed.</p> 
     <div class="table-responsive"> 
      <? echo "<table class=\"table table-striped\"> 
      <thead> 
       <tr> 
       <tr> 
       <th>Order #</th> 
       <th>Order Type</th> 
       <th>Order ID Number</th> 
       <th>Order Status</th> 
       <th>Order Dates</th> 
       <th>Order Claimed</th> 
       <th>Claim Job</th> 
       </tr> 
      </thead> 
      <tbody>"; 
    $order_id = $row['order_item_id']; 
    $user_id = $uid; 
    $user_name = $username; 

while($row = mysql_fetch_array($wclaim)) 
    { 
    echo "<tr id=" . $row['order_item_id'] . ">"; 
    echo "<td >" . $row['order_item_id'] . "</td>"; 
    echo "<td>" . $row['order_item_name'] . "</td>"; 
    echo "<td>" . $row['order_id'] . "</td>"; 
    echo "<td>" . $row['post_status'] . "</td>"; 
    echo "<td>" . $row['post_date'] . "</td>"; 
    echo('<td>'.(($row['claim_aktiv']==1) ? 'Yes' : 'No').'</td>'); 
    ---> if(isset($_POST["submit"])) { 
    "INSERT INTO claimsystem (claim_id, user_id, user_name, claim_aktiv) 
VALUES ('$order_id','$user_id','$user_name','1')"; 
     } 
    ---> echo "<td><input type=\"submit\" name=\"submit\"></input></td>"; 
    echo "</tr>"; 
     } 
    echo "</tbody></table>"; 
    ?> 

код мне нужна помощь имеет стрелку перед ним

---> 

При нажатии на кнопку отправки он ничего не делает.

+0

Почему вы создаете инструкцию 'INSERT' в цикле? Вы действительно собираетесь вставить запись для * каждой * итерации цикла? Кроме того, вы просто строите запрос 'INSERT', вы его на самом деле не выполняете. – David

+0

Я пытаюсь взять определенные строки информации в массиве и позволить ему требовать от конкретного пользователя. –

+0

Я хочу, чтобы кнопка отправки отправила order_item_id из массива, имя пользователя и идентификатор текущего пользователя, претендующего на задание, и установила require_aktiv в 1 в базе данных. –

ответ

0

Поскольку единственная информация, которая вам нужна от пользователя, является идентификатором для данной строки, вы можете создать простую маленькую форму в каждой строке. Структурно это будет выглядеть примерно так:

while($row = mysql_fetch_array($wclaim)) 
{ 
    // output your table cells 
    echo "<td><form method=\"post\"><input type=\"hidden\" name=\"order_item_id\" value=\"" . $row['order_item_id'] . "\" /><input type=\"submit\" name=\"submit\"></input></form></td>"; 
} 

Обратите внимание на вещи в этой ячейке таблицы:

  • form - Каждая строка будет иметь свою собственную небольшую форму, так что вы только размещение только что один Роу при нажатии кнопки.
  • input type="hidden" - order_item_id Представляемая ценность.
  • input type="submit" - кнопка

отправить Вы можете добавить action в форму для отправки сообщений в другую страницу, или отправить обратно на ту же страницу по умолчанию. При обращении пост, вы бы просто использовать значение посылается из input type="hidden":

$_POST["order_item_id"] 

Это было бы идентификатор, нужно вставить запись.

+0

'если (Исеть ($ _ POST [ "order_item_id"])) { \t \t \t«INSERT INTO claimsystem (claim_id, user_id, user_name, claim_aktiv) \t \t \t VALUES ('order_item_id', '$ user_id', '$ user_name», '1')"; \t} ' –

+0

Он не работает –

+0

@PatrickGarcia: вы не * выполняете * запрос. Вы можете взглянуть на некоторые уроки PHP для использования базы данных. В частности, взгляните на подготовленные заявления и параметры запроса, так как способ, которым вы в настоящее время строите этот запрос, будет уязвим для атак SQL-инъекций. – David