![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 21.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam mały problem ze skryptem PHP...
Jego celem ma być aktualizacja bądź usunięcie kilku wybranych za pomocą "checkbox`a" rekordów. Kod, który tutaj wklejam dotyczy akurat samego usuwania rekordów. Wszystko działa pięknie przy włączonym register_globals, jednak po jego wyłączeniu jeśli wcisnę przycisk "Delete" nic się nie dzieje, żaden rekord się nie usuwa, a skrypt po prostu wraca do punktu startu. Wiem, że w przypadku wyłączenia register_globals należy odczytywać zmienne z tablicy zmiennych globalnych poprzez $_POST['zmienna'] (w tym przypadku), ale nie wiem którą zmienną powinienem tutaj odczytać albo może wszystkie? No i jeszcze kwestia w którym miejscu wstawić tę funkcję odczytu z tablicy zmiennych globalnych? Tak wygląda kod skryptu, o którym mowa: CODE <?php $host="localhost"; // Host name $username="root"; // Mysql username $password=""; // Mysql password $db_name="system_zarzadzania"; // Database name $tbl_name="uzytkownicy"; // Table name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $sql="SELECT * FROM $tbl_name order by id asc"; $result=mysql_query($sql); $count=mysql_num_rows($result); ?> <table width="400" border="0" cellspacing="1" cellpadding="0"> <tr> <td><form name="form1" method="post" action=""> <table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td bgcolor="#FFFFFF"> </td> <td colspan="4" bgcolor="#FFFFFF"><strong>Delete multiple rows in mysql</strong> </td> </tr> <tr> <td align="center" bgcolor="#FFFFFF">#</td> <td align="center" bgcolor="#FFFFFF"><strong>Id</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>Name</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>Lastname</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>Email</strong></td> </tr> <?php while($rows=mysql_fetch_array($result)){ ?> <tr> <td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<?php echo $rows['id']; ?>"></td> <td bgcolor="#FFFFFF"><?php echo $rows['id']; ?></td> <td bgcolor="#FFFFFF"><?php echo $rows['name']; ?></td> <td bgcolor="#FFFFFF"><?php echo $rows['lastname']; ?></td> <td bgcolor="#FFFFFF"><?php echo $rows['email']; ?></td> </tr> <?php } ?> <tr> <td colspan="5" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" id="delete" value="Delete"></td> </tr> <?php // Check if delete button active, start this if($delete){ $checkbox[]=$_POST['checkbox']; for($i=0;$i<$count;$i++){ $del_id = $checkbox[$i]; $sql = "DELETE FROM $tbl_name WHERE id='$del_id'"; $result = mysql_query($sql); } // if successful redirect to delete_multiple.php if($result){ echo "<meta http-equiv=\"refresh\" content=\"0;URL=delete_multiple.php\">"; } } mysql_close(); ?> </table> </form> </td> </tr> </table> Z góry dzięki za pomoc ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
To sprawdzaj warunki, np. if($delete) zamień na if($_POST['delete']) i zobacz czy warunek jest spełniony.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 21.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdziłem wszystkie zmienne, a o warunkach zapomniałem ;d Fakt, trzeba było sprawdzić to co napisałeś i do tego przesłać jeszcze POST`em zmienną z checkbox`a i śmiga aż miło
![]() ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:32 |