Delete με checkbox

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Άβαταρ μέλους
dik_
Δημοσιεύσεις: 476
Εγγραφή: 07 Ιουν 2007 11:28

Delete με checkbox

Δημοσίευση από dik_ » 18 Οκτ 2007 21:57

Κώδικας: Επιλογή όλων

<input type="checkbox" name="check&#91;&#93;" value="1">11111<br/>
<input type="checkbox" name="check&#91;&#93;" value="2">22222<br/>
<input type="checkbox" name="check&#91;&#93;" value="3">33333<br/>
Μετά στο action της φόρμας σου:

Κώδικας: Επιλογή όλων

if &#40;$_POST&#91;'check'&#93;&#41;&#123;
	$sql = "DELETE FROM onomatable WHERE id IN &#40;".implode&#40;",", $_POST&#91;'check'&#93;&#41;."&#41;";
	mysql_query&#40;$sql&#41;;
&#125;

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Delete με checkbox

Δημοσίευση από vassilism » 19 Οκτ 2007 01:36

Τώρα μπορώ να πω ότι χάθηκα.
Μάλλον θα χρειασθώ ιδιαίτερα στην php.
Αρκετά σας έχω κουράσει και εσάς.

Άβαταρ μέλους
p_pan
Δημοσιεύσεις: 1248
Εγγραφή: 11 Φεβ 2007 20:45
Τοποθεσία: Άστεγος!

Delete με checkbox

Δημοσίευση από p_pan » 19 Οκτ 2007 02:09

oxi re einai arketa apla.... 8a ftiajo ena komati kodika kai 8a s stilo.. mono kane m mia xari... kai anebase ena komati kodika s gia na do peripou pos einai to trapezi pou ftiaxneis.......
Αγράματος...

Άβαταρ μέλους
p_pan
Δημοσιεύσεις: 1248
Εγγραφή: 11 Φεβ 2007 20:45
Τοποθεσία: Άστεγος!

Delete με checkbox

Δημοσίευση από p_pan » 19 Οκτ 2007 17:30

...
Αγράματος...

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Delete με checkbox

Δημοσίευση από vassilism » 20 Οκτ 2007 13:34

Με αυτή τη while εμφανίζω τις εγγραφές.
Έχω ένα link για να διαγράφω την εγγραφή που θέλω, αλλά δεν ξέρω πως πρέπει να βάλω τα checkbox.

Κώδικας: Επιλογή όλων

while &#40;$rows = mysql_fetch_assoc&#40;$getData&#41;&#41; 
&#123; 
   echo&#40;"foto&#58;". $rows&#91;"id"&#93; .""&#41;;
   
if &#40;$rows&#91;'file_name'&#93;==null&#41;  &#123; 
echo&#40;"<p><img src=\"skin/fotos/no_image.gif\" width=120 height=120 border=0></p>"&#41;; &#125; 
else &#123;
echo&#40;"<p><a href=\"&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;\">
<img src=\"&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;\" width=120 height=120 border=0 title=\"foto\"></a></p>"&#41;; &#125; 
echo &#40;"<p><a href=\"&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;\" class=\"selidopoiisi\">&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;</a></p>"&#41;; 
echo&#40;"<p>". $rows&#91;"name"&#93; ."</p>"&#41;;


echo&#40;"<p><a href=\"delete.php?id=" . $rows&#91;'id'&#93; . "\" class=\"selidopoiisi\">Delete</a></p>"&#41;; 

echo&#40;"</TR>\n"&#41;;

&#125; 

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Delete με checkbox

Δημοσίευση από Alice_Cooper » 22 Οκτ 2007 00:36

apla tropopiontas ton code tou dik_ pano pernontas ta tis vashs sou exoume:

Κώδικας: Επιλογή όλων

if &#40;$_POST&#91;'check'&#93;&#41;&#123;
      $sql = "DELETE FROM onomatable WHERE id IN &#40;".implode&#40;",", $_POST&#91;'check'&#93;&#41;."&#41;";
      mysql_query&#40;$sql&#41;;
&#125; 
while &#40;$rows = mysql_fetch_assoc&#40;$getData&#41;&#41;
&#123;
      echo 'foto&#58;'. $rows&#91;"id"&#93;;
      if &#40;$rows&#91;'file_name'&#93;==null&#41;  &#123;
         echo '<p><img src=\"skin/fotos/no_image.gif\" width=120 height=120 border=0></p>'; 
       &#125;
else &#123;
      echo '<input type="checkbox" name="check&#91;&#93;" value="'.$rows&#91;'id'&#93;.'">'. $rows&#91;'name'&#93; .'<br/>';
    &#125;
&#125;

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Delete με checkbox

Δημοσίευση από vassilism » 22 Οκτ 2007 15:19

Alice_Cooper είσαι σίγουρος?
Γιατί να βάλω

Κώδικας: Επιλογή όλων

else &#123; 
        echo '<input type="checkbox" name="check&#91;&#93;" value="'.$rows&#91;'id'&#93;.'">'. $rows&#91;'name'&#93; .'<br/>'; 
       &#125;
και όχι σκέτο:

Κώδικας: Επιλογή όλων

echo '<input type="checkbox" name="check&#91;&#93;" value="'.$rows&#91;'id'&#93;.'">'. $rows&#91;'name'&#93; .'<br/>'; 
Αφού θέλουμε να εμφανίζει ένα checkbox δίπλα σε κάθε εγγραφή, για να μπορούν να διαγραφούν ταυτόχρονά περισσότερες από 1 εγγραφές.
Εκτός από αυτό δεν θα πρέπει να δηλωθεί κάπου μέσα στον κώδικα 1 φόρμα?
Δηλαδή κάπως έτσι:

Κώδικας: Επιλογή όλων

<form action="if &#40;$_POST&#91;'check'&#93;&#41;&#123; 
      $sql = "DELETE FROM imageuploads WHERE id IN &#40;".implode&#40;",", $_POST&#91;'check'&#93;&#41;."&#41;"; 
      mysql_query&#40;$sql&#41;;&#125;" method="post">

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Delete με checkbox

Δημοσίευση από Alice_Cooper » 22 Οκτ 2007 17:00

den ksero ti akrivos thes na ftiakseis ...
o elegxos pou exeis koitaei an den yparxei arxeio
na vgazei ena no image ... to evala otan den isxeiei na vgazei check box....
oso gia tin form nomiza thn exeis etoimh
kai thn morfh pou thes ... ta css h table sou kai sou elipan mono ta checkbox....
to if pou exoume kanei mono ton elegxo an exei apostalei h form kai mesa syntasetai h command tis sql ...
kai ginetai to query

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Delete με checkbox

Δημοσίευση από Alice_Cooper » 23 Οκτ 2007 15:10

to exo etoimo nomizo ... sta svelta look to gia error
an exo poiasei ti thes na kaneis prepei na eisai ok....

Κώδικας: Επιλογή όλων

$editFormAction = $_SERVER&#91;'PHP_SELF'&#93;;
$query = "SELECT * FROM onomatbl";
$Rec = mysql_query&#40;$query&#41;;
$tot_Rec = mysql_num_rows&#40;$Rec&#41;;
error_reporting&#40;E_ALL ^ E_NOTICE ^ E_WARNING&#41;;
if &#40;$_POST&#91;'check'&#93;&#41;&#123;
      $sql = "DELETE FROM onomatbl WHERE id IN &#40;".implode&#40;",", $_POST&#91;'check'&#93;&#41;."&#41;";
      mysql_query&#40;$sql&#41;;
&#125;
echo '<form name="form1" method="post" action="'.$editFormAction.'">';
while &#40;$rows = mysql_fetch_assoc&#40;$Rec&#41;&#41;
&#123;    echo 'foto&#58;'. $rows&#91;"id"&#93;;
      if &#40;$rows&#91;'name'&#93;==null&#41;  &#123;
         echo '<p><img src=\"skin/fotos/no_image.gif\" width=120 height=120 border=0></p>';
       &#125;
else &#123;
     echo '<input type="checkbox" name="check&#91;&#93;" value="'.$rows&#91;'id'&#93;.'">'. $rows&#91;'name'&#93; .'<br/>';
    &#125;
&#125;
echo '<input name="Delete" type="submit" id="Delete" value="Delete"></form>';
echo 'Ar. Arxeion&#58;'.$tot_Rec;
mysql_free_result&#40;$Rec&#41;;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

Delete με checkbox

Δημοσίευση από fafos » 23 Οκτ 2007 16:59

Alice_Cooper έγραψε:to exo etoimo nomizo ... sta svelta look to gia error
an exo poiasei ti thes na kaneis prepei na eisai ok....

Κώδικας: Επιλογή όλων

$editFormAction = $_SERVER&#91;'PHP_SELF'&#93;;
$query = "SELECT * FROM onomatbl";
$Rec = mysql_query&#40;$query&#41;;
$tot_Rec = mysql_num_rows&#40;$Rec&#41;;
error_reporting&#40;E_ALL ^ E_NOTICE ^ E_WARNING&#41;;
if &#40;$_POST&#91;'check'&#93;&#41;&#123;
      $sql = "DELETE FROM onomatbl WHERE id IN &#40;".implode&#40;",", $_POST&#91;'check'&#93;&#41;."&#41;";
      mysql_query&#40;$sql&#41;;
&#125;
echo '<form name="form1" method="post" action="'.$editFormAction.'">';
while &#40;$rows = mysql_fetch_assoc&#40;$Rec&#41;&#41;
&#123;    echo 'foto&#58;'. $rows&#91;"id"&#93;;
      if &#40;$rows&#91;'name'&#93;==null&#41;  &#123;
         echo '<p><img src="skin/fotos/no_image.gif" width=120 height=120 border=0></p>';
       &#125;
else &#123;
     echo '<input type="checkbox" name="check&#91;&#93;" value="'.$rows&#91;'id'&#93;.'">'. $rows&#91;'name'&#93; .'<br/>';
    &#125;
&#125;
echo '<input name="Delete" type="submit" id="Delete" value="Delete"></form>';
echo 'Ar. Arxeion&#58;'.$tot_Rec;
mysql_free_result&#40;$Rec&#41;;

Sostos!!

ena mikro tip.. oi perissoteroi browsers den deixnoun tis eggrafes sosta meta apo mia diagrafh(logo cache).. dhl. eno svhnoume kapoia eggrafh h nea taksinomhsh synexizei na thn exei mesa.. giauto xrhsimopoioume ena meta:

echo "<meta http-equiv="refresh" content="0;URL='.$editFormAction.'">";

auto to vazoume meta thn delete query:

Κώδικας: Επιλογή όλων

if &#40;$_POST&#91;'check'&#93;&#41;&#123;
      $sql = "DELETE FROM onomatbl WHERE id IN &#40;".implode&#40;",", $_POST&#91;'check'&#93;&#41;."&#41;";
      mysql_query&#40;$sql&#41;;
echo "<meta http-equiv="refresh" content="0;URL='.$editFormAction.'">"; 
&#125;
merikoi xrhsimopoioun anti tou refresh ena alert opou mas leei oti h diagrafh egine kai h selida ananeonete.. einai thema goustou..

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Delete με checkbox

Δημοσίευση από Banavas » 23 Οκτ 2007 18:28

Fafos:

Ο λόγος που δεν δείχνει την αλλαγή (διαγραφή) είναι γιατί πρώτα διαβάζει τα data και μετά κάνει την διαγραφή. Με το refresh ουσιαστικά επαναλαμβάνεις το κουειρι.

Αν αντιστρέψεις την ροή του script δηλαδή πρώτα σβύνει και μετά διαβάζει, τότε δεν χρειάζεται να κάνεις refresh.
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Delete με checkbox

Δημοσίευση από Alice_Cooper » 23 Οκτ 2007 20:53

nai ... an diavastoun meta
thn diagrafh den xriazetai refresh
alla spania to thimame sthn proth "version" tou
kathe code .... meta thn dokimh to vlepo kai to allazo :p
opote adokimastos code tha ta exei afta :p
opote exoume ....

Κώδικας: Επιλογή όλων

error_reporting&#40;E_ALL ^ E_NOTICE ^ E_WARNING&#41;;
$editFormAction = $_SERVER&#91;'PHP_SELF'&#93;;
if &#40;$_POST&#91;'check'&#93;&#41;&#123;
      $sql = "DELETE FROM onomatbl WHERE id IN &#40;".implode&#40;",", $_POST&#91;'check'&#93;&#41;."&#41;";
      mysql_query&#40;$sql&#41;;
&#125;
$query = "SELECT * FROM onomatbl";
$Rec = mysql_query&#40;$query&#41;;
$tot_Rec = mysql_num_rows&#40;$Rec&#41;;
echo '<form name="form1" method="post" action="'.$editFormAction.'">';
while &#40;$rows = mysql_fetch_assoc&#40;$Rec&#41;&#41;
&#123;    echo 'foto&#58;'. $rows&#91;"id"&#93;;
      if &#40;$rows&#91;'name'&#93;==null&#41;  &#123;
         echo '<p><img src=\"skin/fotos/no_image.gif\" width=120 height=120 border=0></p>';
       &#125;
else &#123;
     echo '<input type="checkbox" name="check&#91;&#93;" value="'.$rows&#91;'id'&#93;.'">'. $rows&#91;'name'&#93; .'<br/>';
    &#125;
&#125;
echo '<input name="Delete" type="submit" id="Delete" value="Delete"></form>';
echo 'Ar. Arxeion&#58;'.$tot_Rec;
mysql_free_result&#40;$Rec&#41;;
edit: to error reporting to evala gia na katalaveis an sou vgalei kana error.....
Τελευταία επεξεργασία από το μέλος Alice_Cooper την 24 Οκτ 2007 01:29, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Delete με checkbox

Δημοσίευση από Banavas » 23 Οκτ 2007 22:33

nice......
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Delete με checkbox

Δημοσίευση από vassilism » 24 Οκτ 2007 20:42

Σας ευχαριστώ πάρα πολύ που κάτσατε και ασχοληθήκατε, αυτό ακριβώς ήθελα να κάνει.
Και το script δουλεύει μια χαρά.
Πατρίδα το κέρασμα που λέγαμε ισχύει.
Alice_Cooper & Banavas αν έρθετε προς Άργος &#8211; Ναύπλιο ισχύει και για εσάς το ίδιο.

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Delete με checkbox

Δημοσίευση από vassilism » 24 Οκτ 2007 21:53

Παιδία συγνώμη αν γίνομαι κουραστικός με τις ερωτήσεις μου, αλλά είχα ξεχάσει να σας πω κάτι.
Σε κάθε εγγραφή κάνω link ένα αρχείο εικόνας που βρίσκετε σε έναν φάκελο στον server.
Όταν κάνω κάποια/ες διαγραφή θέλω να διαγράφετε από τον server και το αντίστοιχο αρχείο.
Το path το αποθηκεύω στην mysql στο πεδίο upload_url και το όνομα του αρχείου στο πεδίο file_name.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες