![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 4.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
Mam problem z updatem wielu wierszy na raz. Wykorzystuje przykład z książki (w przykładzie jest usuwanie wpisów a ja nadpisuje może to jest problem). Może ktoś bardziej doświadczony coś złego zauważy. Z góry dziękuje za pomoc. Po zapisaniu zmian pojawia się komunikat "Notice: Array to string conversion in C:\Program Files\EasyPHP-12.1\www\order_detail.php on line 16" i w polach tekstowych jest napisane ARRAY liczby zerują się także. link do screen http://i236.photobucket.com/albums/ff210/c...zpsfqnut6rc.png http://i236.photobucket.com/albums/ff210/c...zpskjzt4wep.png CODE //aktualizacja szczegółów zleceń if (isset($_POST['editall'])) { foreach ($_POST['tochange'] as $expenditureid) { [16 linia] mysql_query("UPDATE expenditure SET et_name = '$_POST[et_name]', expenditure_price = '$_POST[expenditure_price]', expenditure_price_detal = '$_POST[expenditure_price_detal]', expenditure_type = '$_POST[expenditure_type]' WHERE expenditure_id = '$expenditureid'") or die(mysql_error()); } echo '<h4>Poprawnie zaktualizowano szczegóły zlecenia.</h4>'; } //tabelka $query = "SELECT et_name, expenditure_price, expenditure_price_detal, expenditure_id, expenditure_type FROM `expenditure` WHERE order_id = $_POST[order_id] AND expenditure_type = 0"; $result = mysqli_query($link, $query); echo'<tr class="results">'; while($rowgg = mysqli_fetch_array($result)) { if ($rowgg['expenditure_price'] > $rowgg['expenditure_price_detal']) { $error = '<p>CENA DETALICZNA JEST NIŻSZA NIŻ ZAKUPU !</p><p>ZMIEŃ CENE !</p>'; } else { $error = ''; } echo '<td><input type="checkbox" value="'.$rowgg['expenditure_id'].'" name="tochange[]"/></td> <td style="width: 500px"><input type="text" size="40" name="et_name[]" value="'.$rowgg['et_name'].'" /></td> <td><input type="text" size="5" name="expenditure_price[]" value="'.$rowgg['expenditure_price'].'" /> zł</td> <td> Detal: <input type="text" size="5" name="expenditure_price_detal[]" value="'.$rowgg['expenditure_price_detal'].'" /> '.$error.' zł</td>'; echo '<input type="hidden" name="expenditure_id[]" value="'.$rowgg['expenditure_id'].'" /> <td> <select name="expenditure_type[]"> <option value=0>Część</option> <option value=1>Usługa</option></select> </td>'; echo '</tr>'; } echo '</table>'; } else { echo '<b>Brak.</b>'; } |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Po prostu zakomentuj linię 16 i sprawdź ręcznie zmienne i będziesz wszystkie wiedział.
I na końcu dodasz do tych zmiennych zapytanie i powinno śmigać. @nospor ładnie tutaj opisuje jak sprawdzać skrypty: Temat: Jak poprawnie zadac pytanie Ten post edytował aras785 20.04.2015, 07:38:45 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 4.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za odpowiedz, sprawdziłem zmienne ręcznie, pokazują indeksy wpisów które mają być edytowane w bazie. Czyli jest coś nie tak z samym updatem zmienych do bazy. Zawsze update pojednczego wpisu nie sprawiał problemów ale przy liście z 10ma wpisami klikać pojedynczo trochę głupio (IMG:style_emoticons/default/biggrin.gif) . Co moze być źle?
Pozdrawiam i życzę miłego wieczoru. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 20 Dołączył: 20.04.2004 Skąd: Wielkopolska Ostrzeżenie: (0%) ![]() ![]() |
$_POST[et_name] to string czy tablica?
Wszystkie rekordy chcesz uzupełnić tymi samymi wartościami? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 4.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
$_POST[et_name], $_POST[expenditure_price], $_POST[expenditure_price_detal],'$_POST[expenditure_type]' to zmienne z wartościami pobranymi z bazy i mąją być lekko zmenione. Typy będą się chyba zgadzać. Moze to banalne ale jestem samoukiem i pewne rzeczy przychodzą trochę ciężej. tochange[] to miała byc tablica do foreach.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 20 Dołączył: 20.04.2004 Skąd: Wielkopolska Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie sprawdzałem poprawności. Po prostu dodaję to co powinno być, a czego brakuje. Skoro wszystkie Twoje pola są tablicą, to do każdej wartości powinieneś się odnieść na zasadzie: nazwa_pola[wiersz] Ten post edytował golaod 25.05.2015, 11:20:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 11:04 |