2013-09-15 2 views
1

У меня есть сетка с небольшой системой голосования. Есть даты, перечисленные в каждой строке с + в конце каждой строки, которая используется для голосования. Вот изображение: http://doubledream.square7.de/upload/dates.PNG белый текст отображает даты, зеленый текст - рейтинг и + - для продолжения.PHP/JQuery кнопка отправки: похоже, нет ID из текущей строки

Все работает до сих пор, за исключением аванпоста, я просто не могу получить право.

Сначала я попытался просто поместить $ id в ограничение where, которое всегда обновляет последнюю строку. Во-вторых, я попытался добавить <input type="hidden" name="idupdate" value="'. $id. '" />'; в раздел while.

Тогда я положил $ idupdate в ограничение, но это абсолютно ничего не делает.

Я надеюсь, эта часть кода достаточно:

<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
    <script src="http://malsup.github.com/jquery.form.js"></script> 
    </head> 

<?php 
    require("connect.php"); 
    $getquerydate=mysql_query("SELECT * FROM table where staid=1 order by id asc"); 
    while($rows=mysql_fetch_assoc($getquerydate)) { 
     $id=$rows['id']; 
     $text=$rows['datum']; 
     $vote=$rows['vote']; 
     $staid=$rows['staid']; 
     echo ' 
      <font color="white">' . $text. '</font>&nbsp; 
      <font color="#00FF00">' . $vote . '</font>&nbsp; 

      <form style="display:inline!important;" id="datplus" name="datplus" 
      action="mysite.php" method="post" ><input type="submit" 
      name="submitdatplus" class="submit" value="+" /></form> 

      <input type="hidden" name="idupdate" value="'. $id. '" /><br>'; 
    } 
    $idupdate=$_POST['idupdate']; 
    $submitdatplus=$_POST['submitdatplus']; 

?> 
<script> 
     $(document).ready(function() { 
      $('[name=datplus]').ajaxForm(function() { 
      <?php 
       $vote= $vote+1; 

       if($submitdatplus) { 
        mysql_query("UPDATE table set vote='$vote' 
            where id='$idupdate'"); 
       } 
      ?> 
      }); 
     }); 
</script> 

Заранее спасибо

ответ

1
<input type="hidden" name="idupdate" value="'. $id. '" /><br>'; 

Скрытое поле должно быть внутри вашей <form> не после него.

Закрыть форму после вашего скрытого поля.

echo ' 
      <font color="white">' . $text. '</font>&nbsp; 
      <font color="#00FF00">' . $vote . '</font>&nbsp; 

      <form style="display:inline!important;" id="datplus" name="datplus" 
      action="mysite.php" method="post" ><input type="submit" 
      name="submitdatplus" class="submit" value="+" /> 

      <input type="hidden" name="idupdate" value="'. $id. '" /><br> 

</form>'; 
+0

Спасибо, что решил проблему только с обновлением последней строки. Теперь я могу нажать кнопку + и обновить соответствующую строку. Это было похоже на смятение после игры с кнопкой, поэтому для всех, у кого есть такая проблема: сделать еще одно скрытое поле для голосования и инициировать новый $ vote после обновления. – Drencrom

Смежные вопросы