Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ima li neko ideju kako da preko checkbox brisem poruke ?

[es] :: PHP :: PHP za početnike :: Ima li neko ideju kako da preko checkbox brisem poruke ?

[ Pregleda: 1793 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

CiM0beTa

Član broj: 303979
Poruke: 194
193.107.4.*



+50 Profil

icon Ima li neko ideju kako da preko checkbox brisem poruke ?07.08.2012. u 01:12 - pre 141 meseci
imam inbox sa primljenim porukama, pored svake sam stavio link delete koji moze da je obrise, ali ne znam kako da integrisem checkbox, pa da oznacim, sta zelim da obrisem i na kraju forme da stoji dugme delete. Sta da trazim na google? pomoc?
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
77.243.16.*



+303 Profil

icon Re: Ima li neko ideju kako da preko checkbox brisem poruke ?07.08.2012. u 01:45 - pre 141 meseci
Stavi value svakog checkbox-a da bude id poruke, pa posle uradi echo "<pre>".print_r($_POST)."</pre>";, i samo ce ti se kazati...
 
Odgovor na temu

CiM0beTa

Član broj: 303979
Poruke: 194
193.107.4.*



+50 Profil

icon Re: Ima li neko ideju kako da preko checkbox brisem poruke ?10.08.2012. u 23:06 - pre 141 meseci
Nisam uspeo, vidim da treba niz da se napravi, ali samo jos malo pomoci:

ovo mi je izlaz prethodne komande, imam tri poruke u inboxu:

Array ( )

1

Array ( )

1

Array ( )

1

a ovo mi je deo izlaza funkcije sa while petljom

...<input type='checkbox' value='$id'></td></tr>". "<pre>".print_r($_POST)."</pre>";

tabela je u templajtu, funkcija daje samo polja, svaka poruka ima svoj jedinstveni id. Ali samo pojasnjenje, kad chekiram polje, sta se tu menja?
Ako u niz stavim sve value onda cu obrisati sve poruke.?

molim te pomozite.

[Ovu poruku je menjao CiM0beTa dana 11.08.2012. u 00:33 GMT+1]
 
Odgovor na temu

CtrlAltDel
Beograd

Član broj: 96286
Poruke: 325
*.adsl-a-2.sezampro.rs.



Profil

icon Re: Ima li neko ideju kako da preko checkbox brisem poruke ?11.08.2012. u 00:22 - pre 141 meseci
evo iz glave... od pocetka

1. pretpostavka da su ti poruke u dvodimenzinalnom nizu

Code:

<? 
$poruke=array(

array('id'=>1, 'title'=>'poruka 1', 'txt'=>'Sadrzina'),
array('id'=>2, 'title'=>'poruka 2', 'txt'=>'Sadrzina'),
array('id'=>3, 'title'=>'poruka 3', 'txt'=>'Sadrzina'),
array('id'=>4, 'title'=>'poruka 4', 'txt'=>'Sadrzina'),

       );

?>



2. forma i printanje poruka za brisanje

Code:

<form method="post">

<? 
foreach ($poruke as $index => $poruka)
  {
       echo '<input type="checkbox" name="brisi[]" value="'.$poruka['id'].'">'.$poruka['title'];
  };

?>

<input type="submit" value="brisi">

</form>


komentar: id moze i u sam index elementa niza da se stavi ... kako god hoces... trudim se da kod bude sto jednostavniji, moze i sa array_walk i custom funkcijom i sve i svašta ... ali ajde da se držimo bazičnih stvari

3. printanje niza za brisanje
Code:

<pre>
<? print_r($_POST['brisi']); ?>
</pre>



4. brisanje sa foreach
Code:

<?
   foreach ($_POST['brisi'] as $index => $id)
     {
        mysql_query('DELETE FROM poruke WHERE id="'.$id.'"');
     };
?>


5. brisanje implode varijacija

Code:

$brisanje = implode(",", $_POST['brisi']);
mysql_query('DELETE FROM poruke WHERE id IN ('.$brisanje.')');



Naravno ovde je preskocena provera da li je pokupljeni niz bezbedan tj. da su stvarno postovane promenljive u id formatu koji vec koristiš ( prost broj, uniqid), da li poruke pripadaju tacno tom korisniku i sl.... ali to nije pitanje ovde :)



 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
77.243.22.*



+303 Profil

icon Re: Ima li neko ideju kako da preko checkbox brisem poruke ?11.08.2012. u 00:32 - pre 141 meseci
E vidis zato sam ti rekao u drugom topic-u da citas malo pazljivije. Evo ti recimo http://www.tizag.com/htmlT/htmlcheckboxes.php :
Code (html):

<form name="myWebForm" action="mailto:[email protected]" method="post">
<p>Please select every sport that you play.</p>

Soccer: <input type="checkbox" name="sports" value="soccer"  />

Football: <input type="checkbox" name="sports" value="football"  />

Baseball: <input type="checkbox" name="sports" value="baseball"  />

Basketball: <input type="checkbox" name="sports" value="basketball"  />

</form>
 

Svako input polje treba da ima name atribut. Ako ces da saljes string svojoj skripti, ime pises kao name="ime". Ako ces da saljes array, ime pises kao name="ime[]".
E sad nisam bas siguran da li checkbox automatski salje array, bez da stavis [] posle imena. To probaj.
print_r($_POST) radis na stranici na koju submittujes form, a ne odmah ispod njega.

Ne moras da molis za pomoc, samo se sledeci put malo vise potrudi da sam provalis resenje... Nemoj da ucis povrsno stvari (a to radis, da ne radis znao bi da (na tvom nivou znanja) input polje bez name atributa nema nikakvog smisla). Meni nije problem da ti svaki put sazvacem resenje, ali tako neces nista nauciti.

Pozdrav i ne zameri, ovo je samo prijateljski savet...
 
Odgovor na temu

CtrlAltDel
Beograd

Član broj: 96286
Poruke: 325
*.adsl-a-2.sezampro.rs.



Profil

icon Re: Ima li neko ideju kako da preko checkbox brisem poruke ?11.08.2012. u 00:40 - pre 141 meseci
Citat:
E sad nisam bas siguran da li checkbox automatski salje array, bez da stavis [] posle imena.


Kratko : ne :)
 
Odgovor na temu

CiM0beTa

Član broj: 303979
Poruke: 194
193.107.4.*



+50 Profil

icon Re: Ima li neko ideju kako da preko checkbox brisem poruke ?11.08.2012. u 12:50 - pre 141 meseci
Jel moze jedno kratko pitanje? Kako da pokupim sve 'id' ciji je primalac isti '$to'

"SELECT `id` FROM `messages` WHERE `to` = $to"
---------------------------------------
posto sam vec nabudzio sajt, ne mogu sad da mu menjam funkcije za inbox, itd..tako da ne mogu da vrsim ugradnju, zagubicu se...

probao sam ovako:

Code (php):

// $to = primalac - funkcija za outbox
if (isset($_POST['delete'])) {
     $query = "SELECT `id` FROM `messages` WHERE `to` = $to";
     $run = mysql_query($query);
     $num = mysql_num_rows($run);
     for($i = 1; $i =< $num; $i++) {
          $name = $i;
          if (isset($_POST[$name])) {
               $delete = $_POST[$name];
               mysql_query("DELETE * FROM `messages` WHERE `to` = $to AND `id` = $delete");
          }
     }
}

?>
<form action="" method="post">
<input type='checkbox' name= '1' value='1'>
<input type='checkbox' name= '2' value='2'>
<input type='checkbox' name= '3' value='3'>
<input type='submit' name= 'delete' value='Obriši'>
</form>

 


medjutim to radi samo ako id pocinje od 1 i inkrementira, ali kad se obrise poruka izmedju dolazi do greske.
 
Odgovor na temu

CiM0beTa

Član broj: 303979
Poruke: 194
193.107.4.*



+50 Profil

icon Re: Ima li neko ideju kako da preko checkbox brisem poruke ?11.08.2012. u 15:25 - pre 141 meseci
ovo mi je inbox
Code (php):

// pristigle poruke
function inbox($to) {
     $query = "SELECT `id`, `from`, `subject`, `read`, `date_time` FROM `messages` WHERE `to`='$to' ORDER BY `id` DESC";
     if ($query_run = mysql_query($query)) {
          if (mysql_num_rows($query_run) == 0) {
               echo 'Nema poruka!';
          } else {       
               while ($query_row = mysql_fetch_assoc($query_run)) {
                    $id = $query_row['id'];
                    $from = $query_row['from'];
                    $subject = $query_row['subject'];
                    $date_time = $query_row['date_time'];
                    if ($query_row['read'] == 0) {
                         $strong_1 = "<strong>";
                         $strong_2 = "</strong>";
                    } else {
                         $strong_1 = "";
                         $strong_2 = "";               
                    }                  
                    echo "<tr><td>$strong_1$from$strong_2</td><td><a href='inboxmessage.php?message=$id'>$strong_1$subject$strong_2</a></td><td>$strong_1$date_time$strong_2</td><td><input type='checkbox' name='$id'></td></tr>";
               }
          }
     }
}
 


a ovo u obradi
Code (php):

// $to = primalac - funkcija za inbox
if (isset($_POST['delete'])) {
     $run = mysql_query("SELECT `id` FROM `messages` WHERE `to` = '".$to."'");
     $num = mysql_num_rows($run);
     echo $num;
     for ($i=0; $i<$num; $i++) {
          $id = mysql_result(mysql_query("SELECT `id` FROM `messages` WHERE `to` = '".$to."'"), $i, 'id');
          if (isset($_POST[$id])) {
               mysql_query("DELETE FROM `messages` WHERE `to` = '$to' AND `id` = '$id'");
               header ('Location: index.php?inbox');
          }
     }   
}
 


radi :)
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Ima li neko ideju kako da preko checkbox brisem poruke ?

[ Pregleda: 1793 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.