![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Przeszukałem net i wypróbowałem wiele sposobów ale nie mogę sobie niestety od dłuższego czasu poradzić z aktualizacją rekordów w bazie z zaznaczonym chceckboxem. Po zaznaczeniu czechboxów z liniach 1,5,7, aktualizują się owszem trzy rekordy, ale trzy pierwsze. Próbawałem róznych sposobów przekazania zmienej do każdego rekordu, łaczenia wartości, sprawdzania wartości chechkobxa, ale nic mi nie wychodzi, dlatego proszę o pomoc w poniższym kodzie: if(isset($_POST['start'])) { $id = $_POST['id']; $producent = $_POST['producent']; $model = $_POST['model']; $opis = $_POST['opis']; $uwagi_b = $_POST['uwagi_b']; $zatwierdz = $_POST['zatwierdz']; $count = count($id); //liczę ilosc rekordow for($i=0;$i<$count;$i++) { if ( JAKI WARUNEK WPISAC ) { ZEBY W BAZEIE ZAKTUALIZOWLAY SIE TYLKO ZAZNACZONE CHECHBOXEM REKORDY $query='UPDATE auta SET weryfikacja = 'tak' WHERE nr_wpisu="'.$id[$i].'" '; mysql_query($query); } else { NIE AKTUALIZUJ} } } ?> <form method="POST" action=""> <table> <?php //wyswietlam wszystkie rekordy $zapytanie = mysql_query("SELECT * from auta WHERE weryfikacja = 'nie' "); if (mysql_num_rows($zapytanie) != 0) { $i = 0; echo ""; while ($wynik = mysql_fetch_array($zapytanie)) { echo ('<tr> <td><input type="text" size="15" name="producent[]" value="'.$wynik['producent'].'"/></td> <td><input type="text" size="15" name="model[]" value="'.$wynik['model'].'"/></td> <td><input type="text" size="70" name="opis[]" value="'.$wynik['opis'].'"/> <td><input type="text" size="70" name="uwagi_b[]" value="'.$wynik['uwagi_b'].'"/> <td><input type="checkbox" name="zatwierdz[]" value="'.tak.'"/> <input type="hidden" name="id[]" value="'.$wynik['nr_wpisu'].'"/></td> </tr>'); } } ?> </table> <br/><br><br> <center><input class="button" type="submit" name="start" value="Weryfikuj zaznaczone"></center> </form> |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
memory, pomyliłeś ciapki przy tak
![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za podpowiedzi, poszedłem trochę dalej. Aktualizuje mi się w bazie wybrany rekord, ale tylko jeden, bez względu ile zaznaczę.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Pokaż kod
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
kod wygląda nastęująco
if(isset($_POST['start'])) { $id = $_POST['id']; //pobranie wszystkich id $producent = $_POST['producent']; //pobranie wszystkich danych $model = $_POST['model']; //pobranie wszystkich danych $opis = $_POST['opis']; //pobranie wszystkich danych $uwagi_b = $_POST['uwagi_b']; $zatwierdz = $_POST['zatwierdz']; $count = count($id); //liczę ilosc wszystkich przekazanych rekordow $count2 = count($zatwierdz); //lice ilosc przekazanych wcisnietych checkboxow echo "$count<br>"; for($i=0;$i<$count;$i++) { if (!empty($zatwierdz ) && is_array($zatwierdz )) { foreach ($zatwierdz as $z) $today = date("Y-m-d"); $query='UPDATE auta SET data_weryfikacji= "'.$today.'" WHERE nr_wpisu="'.$z.'" '; mysql_query($query); } } } ?> <form method="POST" action=""> <table border='0' align='left' cellpadding='3' cellspacing='0' width='1000' rules='rows' frame='hsides'> <tr><th>Podwykonawca</th><th>Model</th><th>AB</th><th>koszt Euro</th><th>koszt dodatkowy[zł]</th><th>opis</th><th>uwagi</th></tr> <?php //wyswietlam wszystkie rekordy $zapytanie = mysql_query("SELECT * from auta WHERE weryfikacja = 'nie' "); if (mysql_num_rows($zapytanie) != 0) { $i = 0; echo ""; while ($wynik = mysql_fetch_array($zapytanie)) { echo ('<tr> <td><input type="text" size="15" name="producent[]" value="'.$wynik['producent'].'"/></td> <td><input type="text" size="15" name="model[]" value="'.$wynik['model'].'"/></td> <td><input type="text" size="70" name="opis[]" value="'.$wynik['opis'].'"/> <td><input type="text" size="70" name="uwagi_b[]" value="'.$wynik['uwagi_b'].'"/> <td><input type="checkbox" name="zatwierdz[]" value="'.$wynik['nr_wpisu'].'"/> <input type="hidden" name="id[]" value="'.$wynik['nr_wpisu'].'"/></td> </tr>'); } } ?> </table> <br/><br><br> <center><input class="button" type="submit" name="start" value="Zatwierdz"></center> </form> |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) zacznij uzywac BBCODE
2) FOR jest totalnie zbedny 3) Jak chcesz by FOREACH obejmowal blok instrukcji a nie tylko jedną po FOREACH to masz uzywac {} Teraz tego nie robisz, wiec UPDATE dotyczy zawsze ostaniego checkbox anie kazdego w petli FOREACH -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki o to chodziło. Chciałem rozszerzyć aktualizajce rekordu o uwagi_b w zapytaniu:
CODE $query='UPDATE auta SET data_weryfikacji= "'.$today.'", uwagi_b = "'.uwagi_b[].'" WHERE nr_wpisu="'.$z.'" '; Ćwiczyłem kilka sposobów ale nie potrzafię przekazać odpowiedzniej zmiennej $uwagi_b[] do wcisniętego checkboxa. Jak to ugryźć? Dziękuję z góry. Ten post edytował 13355 14.04.2014, 19:46:40 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
print_r($_POST['uwagi_b']);
A zobaczysz ze tam jest tablica.Musisz wiec po niej iterowac -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 05:42 |