Autor Zpráva
skrepyKOKO
Profil *
zdravím vás v tuhle pozdní hodinu:D
mám jednu konkrétní otázku:) vím ja se to dělá,ale mám tam malej zádrhel...
mám z databáte vyčtený všechny články,a dal jsem k nim checkbox,abych je mohl hromadně mazat...nebo hromadně,prostě ty který potřebuju..
abych to víc upřesnil dám sem ten kod:

<? while($zaznam=mysql_fetch_array($vysledek)){ ?>
    	<tr>

        	<td><input type="checkbox" name="nazev[]" /></td>
            <td><? echo $zaznam["nazev"];?></td>
            <td><a href="../../clanek.php?id=<?echo urlencode($zaznam["id_clanku"])?>" target="_blank">Nahled webu</a></td>
            <td><a href="profil.php?id=<?echo urlencode($zaznam["autor"])?>" target="_blank"><? echo $zaznam["autor"];?></td>
            <td><?php echo strftime("%d.%m.%Y %H:%M", $zaznam["datumcas"]); ?></td>

		<td><a href="CLANEK_editace_clanku.php?IDCL=<?echo urlencode($zaznam["id_clanku"]) ?>"><img src="images/user_edit.png" border="0" /></a></td>
		
		<td><a href="CLANEK_mazani_clanku.php?vyber=<?echo urlencode($zaznam["id_clanku"]) ?>" class="ask"><img src="images/trash.png" border="0" /></a></td>

        </tr>
	<?}?>			
    </tbody>

</table>

	 <a href="CLANEK_novy_clanek.php?IDCL=<?echo urlencode($zaznam["id_clanku"]) ?>" class="bt_green"><span class="bt_green_lft"></span><strong>Přidat nový článek</strong><span class="bt_green_r"></span></a>
	 
     <a href="CLANEK_mazani_clanku.php?IDCL=<?echo urlencode($_POST['nazev']) ?>"  class="bt_red"><span class="bt_red_lft"></span><strong>Smazat vybrané</strong><span class="bt_red_r"></span></a> 


jak ste si už všimly,tak potřebuji udělat checkbox který začíná v while,ale odkaz na hromadný mazání je až za while a když to dám do while,a do tabulky,to hromadný mazání,tak to zkopíruje všude,a prostě je z toho paseka...což já nechci,a chci to mít takhle dole pod table...
no,jak byste to vyřešily vy?
PS: jen tak pro kontrolu,mám ten kod na checkbox dobře?
pridávám soubor mazani clanku.php


<?php
do
{
  require_once('databaze');

  if (!db())  break;
  @$vysledek = mysql_query (
    "DELETE FROM clanky WHERE id_clanku='{$_REQUEST['IDCL']}'");


} while (false);
header("Location: CLANEK_index.php");
?>
Alphard
Profil
skrepyKOKO:
jen tak pro kontrolu,mám ten kod na checkbox dobře?
Uniká mi podstata konstrukce do {} while (false);
Neošetřujete vstupy, teoreticky jde smazat vše v tabulce, ale správce k tomu má zřejmě stejně oprávnění... Jen pozor na CSRF.

Tu konstrukci Smazat vybrané stejně moc nechápu, nemělo by to vyvolat odeslání formuláře se zatrženými checkboxy? Tedy tlačítko, ne odkaz.
skrepyKOKO
Profil *
ano,mělo by to odeslaz formulář se zatrženýma checkboxama a tím pádem i smazat vybrané...tak jsem to upravil,ale asi blbě...nemohl by ses na to prosím kouknout?dík
<form name=myform action="CLANEK_mazani_clanku.php?IDCL=" method=post>
  <?while($zaznam=mysql_fetch_array($vysledek)){?>
    <tbody>
        	<td><input type="checkbox" name="list" value="$zaznam["id_clanku"]" /></td>
            <td><? echo $zaznam["nazev"];?></td>
            <td><a href="../../clanek.php?id=<?echo urlencode($zaznam["id_clanku"])?>"  target="_blank">Nahled webu</a></td>
            <td><a href="profil.php?id=<?echo urlencode($zaznam["autor"])?>" target="_blank"><? echo $zaznam["autor"];?></td>
            <td><?php echo strftime("%d.%m.%Y %H:%M", $zaznam["datumcas"]); ?></td>

		<td><a href="CLANEK_editace_clanku.php?IDCL=<?echo urlencode($zaznam["id_clanku"]) ?>"><img src="images/user_edit.png" border="0" /></a></td>
		
		<td><a href="CLANEK_mazani_clanku.php?vyber=<?echo urlencode($zaznam["id_clanku"]) ?>" class="ask"><img src="images/trash.png" border="0" /></a></td>

        </tr>
	<?}?>			
    </tbody>

</table>
	
 <a href="CLANEK_novy_clanek.php?IDCL=<?echo urlencode($zaznam["id_clanku"]) ?>" class="bt_green"><span class="bt_green_lft"></span><strong>Přidat nový článek</strong><span class="bt_green_r"></span></a>

<button type=submit class="bt_green">
<span class="bt_green_lft" type="submit"></span>
<strong>Smazat označene</strong>
<span class="bt_green_r" type="submit"></span>
</button>


vybraný checkbox,neboli id_clanku by měl poslat do CLANEK_mazani_clanku.php a smazat to,jenže nevím jak ktomu přiřadit to ID,
normálně když to dělám po jednom,tak ten odkaz je takovýhle mazani_clanku.php?IDCL= a echo s id_clankem,
jenže tady to je trochu jiný...už fakt nevím,tak tě/vás prosím o pomoct
Taps
Profil
skrepyKOKO:
<form name=myform action="CLANEK_mazani_clanku.php" method=post>
  <?while($zaznam=mysql_fetch_array($vysledek)){?>
    <tbody>
            <td><input type="checkbox" name="list" value="$zaznam["id_clanku"]" name=idecko[] /></td>
            <td><? echo $zaznam["nazev"];?></td>
            <td><a href="../../clanek.php?id=<?echo urlencode($zaznam["id_clanku"])?>"  target="_blank">Nahled webu</a></td>
            <td><a href="profil.php?id=<?echo urlencode($zaznam["autor"])?>" target="_blank"><? echo $zaznam["autor"];?></td>
            <td><?php echo strftime("%d.%m.%Y %H:%M", $zaznam["datumcas"]); ?></td>

        <td><a href="CLANEK_editace_clanku.php?IDCL=<?echo urlencode($zaznam["id_clanku"]) ?>"><img src="images/user_edit.png" border="0" /></a></td>
        
        <td><a href="CLANEK_mazani_clanku.php?vyber=<?echo urlencode($zaznam["id_clanku"]) ?>" class="ask"><img src="images/trash.png" border="0" /></a></td>

        </tr>
    <?}?>            
    </tbody>

</table>
    
 <a href="CLANEK_novy_clanek.php?IDCL=<?echo urlencode($zaznam["id_clanku"]) ?>" class="bt_green"><span class="bt_green_lft"></span><strong>Přidat nový článek</strong><span class="bt_green_r"></span></a>

<button type=submit class="bt_green">
<span class="bt_green_lft" type="submit"></span>
<strong>Smazat označene</strong>
<span class="bt_green_r" type="submit"></span>
</button>
<input type="submit" value=" Smazat označené">
</form>

a pak
mysql_query("DELETE FROM `clanky` WHERE id_clanku IN (".implode(',', $_POST['idecko']).");");
skrepyKOKO
Profil *
super díky:) nejdřív nefungoval ale pak jsem něco změnil ani neim co a šlo to:)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0