Php заполнить таблицу и обновить

0

Ребята, я не могу понять, почему мой код будет только обновлять последнюю строку в таблице. Он заполнит всю HTML-страницу таблицей с информацией из phpAdmin. Затем я могу изменить эту информацию на странице html. Все работает отлично, если есть только одна запись, больше одной, и она действует только на последнюю строку. Я новичок во всем этом, поэтому извините код, вот он...

<html>

<?php


$con = mysql_connect("localhost","root");
if(!$con){
    die("Cant get there Bren: " . mysql_error());
}
mysql_select_db("Web_Data",$con);


if (isset($_POST['update'])){



    $UpdateQuery = "UPDATE Vehicles SET Vehicle_Id='$_POST[Vehicle_Id]',
    Registration='$_POST[Registration]',Make='$_POST[Make]',Model='$_POST[Model]',
    Classification='$_POST[Classification]',Rental_Price='$_POST[Rental_Price]',
    Current_Status='$_POST[Current_Status]',Mileage='$_POST[Mileage]' 
    WHERE Vehicle_Id='$_POST[hidden]'";

    echo "<center> Vechicle Id '$_POST[hidden]' succesfully VEHICLE UPDATED </center>";
    mysql_query($UpdateQuery, $con);

};

$sql = "Select * From Vehicles";
$myData = mysql_query($sql,$con);
echo" <center> <table border = 3>
<tr>
<th>Vehicle_Id</th>
<th>Registration</th>
<th>Make</th>
<th>Model</th>
<th>Classification</th>
<th>Rental_Price</th>
<th>Current_Status</th>
<th>Mileage</th>
</tr></center>";
while($record = mysql_fetch_array($myData)){
    echo "<form action = UpdateWD.php method=post>"; 
    echo "<tr>";
    echo "<td>" . "<input type = text name = Vehicle_Id value=" . $record['Vehicle_Id'] . " </td>";
    echo "<td>" . "<input type = text name = Registration value=" . $record['Registration'] . " </td>";
    echo "<td>" . "<input type = text name = Make value=" . $record['Make'] . " </td>";
    echo "<td>" . "<input type = text name = Model value=" . $record['Model'] . " </td>";
    echo "<td>" . "<input type = text name = Classification value=" . $record['Classification'] . " </td>";
    echo "<td>" . "<input type = text name = Rental_Price value=". $record['Rental_Price'] . " </td>";
    echo "<td>" . "<input type = text name = Current_Status value=" . $record['Current_Status'] . " </td>";
    echo "<td>" . "<input type = text name = Mileage value=" . $record['Mileage'] . " </td>";
    echo "<td>" . "<input type = hidden name = hidden value=" . $record['Vehicle_Id'] . " </td>";
    echo "<td>" . "<input type = submit name = update value= update" . " </td>";
    echo "</from>";


}

echo"</table>";
mysql_close($con);


?>
<br><br><br>
<footer>
        Copyright  2013 ABU LTD
<a href="about.html">About</a> -
<a href="policy.html">Privacy Policy</a> -
<a href="contact.html">Contact Us</a>
<a href="index.php" class="menu">Logout</a>
</footer> <!--footer--> 

</html>
  • 0
    Вам понадобится цикл для обновления всех записей, по которым у вас есть запрос на обновление, но зачем вам обновлять все сразу?
Теги:
loops
forms

2 ответа

0
Лучший ответ

вот моя ошибка

часы и часы, и все это было

echo "<td>" . "<input type = 'submit' name = 'update' value= 'update'" . " />";
    echo "</td>";
    echo "</tr>";
    echo "</form>";
had "form" spelt "from" & didnt close the </tr>
0

Глянь сюда:

Используйте цикл while для отображения всех выбранных записей.

<?php
// Make a MySQL Connection
$sql = "Select * From Vehicles";
$myData = mysql_query($sql,$con) or die(mysql_error());

while($row = mysql_fetch_array($myData)){
    echo $row['Vehicle_Id'];
}
?>

И mysql_query не может использовать несколько запросов.

Самое простое - просто запустить их отдельно. Я считаю, что вы можете делать несколько запросов, но я не пробовал.

Просто получите представление о том, как вы можете запускать несколько запросов с использованием цикла foreach.

$updateArray = array(21=>300,23=>200,24=>100);
foreach($updateArray as $id=>$value)
{
    $query = "UPDATE cart SET cart_qty='$value' WHERE cart_id = '$id'";
    mysql_query($query,$link);// $link is specified above
}
  • 0
    Мне очень жаль, Суриндер, я просто не понимаю, как ты отвечаешь. Здесь проблема заключается в том, что если (isset ($ _ POST ['update'])) {$ UpdateQuery = "ОБНОВЛЕНИЕ транспортных средств SET Vehicle_Id = '$ _ POST [Vehicle_Id]', Registration = '$ _ POST [Registration]', Make = '$ _POST [Make] ', Model =' $ _ POST [Model] ', Classification =' $ _ POST [Classification] ', Rental_Price =' $ _ POST [Rental_Price] ', Current_Status =' $ _ POST [Current_Status] ', Пробег =' $ _POST [Пробег] 'WHERE Vehicle_Id =' $ _ POST [скрыто] '"; echo "<center> Vechicle Id '$ _POST [скрыто]' успешно обновлено </ center>"; mysql_query ($ UpdateQuery, $ con); };
  • 0
    также я новичок в stackoverflow, кажется странным, как в комментариях.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню