![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 7.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ok, pisze w przedszkolu bo chce być potraktowany jak ignorant i dostać w miarę idiotoodporne rozwiązanie
![]() Otoż chcę aby użytkownik wybrał sobie (za pomocą checkbox) które rekordy bazy go interesują. Skrypt ma zmienić wartość kolumny 'display' z '0' na '1' w przypadku gdy checkbox obok danego wiersza jest zaznaczony. Po żmudnych poszukiwaniach udało mi się nakreślić taki kod: Kod <span id="intelliTxt"><pre class="alt2" style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 466px;">$result = mysql_query("SELECT * FROM football"); $row = mysql_fetch_array( $result ); while($row = mysql_fetch_array($result)){ echo "<table border='1'><tr>"; echo "<td>".$row['id']."</td>"; echo "<td>".$row['team1']."</td>"; echo "<td> vs </td>"; echo "<td>".$row['team2']."</td>"; echo "<td> on </td>"; echo "<td>".$row['channel']."</td>"; echo "<td>".$row['date']."</td>"; echo "<td>".$row['time']."</td>"; echo "<td><input type='checkbox' name=''check[" . $row['id'] . "]' ></td></tr>"; foreach ( $_POST['check'] AS $id => $check ) { mysql_query("update football set display = 1 where id = $id"); } } ?> <form name="send" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <tr> <td colspan="9" align="center"><input type="submit" value="choose" ></td> </tr> </form> </table> No i mam dwa problemy: 1. Pierwszy rekord bazy (id=1) wogóle się nie wyświetla, tabela zaczyna się dopiero od id =2 2. Po zaznaczeniu wybranych checkbox'ów i wduszeniu 'send' strona się szybciutko odświeża, ale nie robi żadnych zmian w tabeli... Bardzo proszę jakąś szybką i w miarę (jak na moje możliwości rozumienia) prostą odpowiedź. Robota stoi a deadline już jutro (to szkolny projekt) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 1 Dołączył: 3.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
No to po kolei:
1. Pobierasz pierwszy wiersz z wyników i nic z nim nie robisz.. O tu:
2. Masz błąd w składni:
Zauważ, że po name masz 2 apostrowy, a zatem przypisujesz parametrowi pusty ciąg znaków, a nie, jak byś chciał, np. check[1] Ponadto: pętla foreach jest u Ciebie wywoływana wewnątrz pętli while, a zatem wykonuje się tyle razy, ile masz wierszy wyników zapytania. Po co? ![]() Ten post edytował topp 9.10.2008, 20:27:57 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 14:10 |