Autor Zpráva
Coody
Profil
Jak nějak jednoduše rozchodit tuto administraci ?

Kdysi jsem to fušerácky řešil způsobem, že jsem nahnal každý výpis z databáze do <form></form>,
ale rád bych to nechal všechno v jednom jediném formuláři a nějak to rozchodit.

U každé novinky by potom výchozím bodem bylo id novinky - jde mi taky o to, aby to bylo odesíláno metodou POST,
nenašel by se tady někdo, kdo by mi s tím pomohl ? děkuju moc


  <script type="text/javascript">
  checked = false;
  function oznac(){
  box = document.getElementById("formular");
  if(checked == false){
  checked = true;
  document.getElementById("check").value="Odškrtnout vše";
  }
  else{
  checked = false;
  document.getElementById("check").value="Zaškrtnout vše";
  }
  for(i=0; i<box.elements.length; i++){
  box[i].checked = checked;
  }
  }
  </script>
  

<form id="formular" action="upravit.php" method="post">  
<table style="width: 400px">
    <tr style="background-color: #0b0b0b; color: #ffffff; font-weight: bold;">
        <td>&nbsp;</td>
        <td>Název</td>
        <td>Autor</td>
        <td>Upravit</td>
    </tr>
    
<!-- ZAČÁTEK VÝPISU Z DATABÁZE -->
  

<?php
$x = mysql_query("SELECT * FROM novinky ORDER BY id DESC LIMIT 10");
while($data = mysql_fetch_array($x){
$new_id = $data['id'];
$new_nazev = $data['id'];
$new_autor = $data['autor'];

echo '<tr>
        <td><input type="checkbox" name="id" value="'.$new_id.'" /></td>
        <td>'.$new_nazev.'</td>
        <td>'.$new_autor.'</td>
        <td><input type="submit" name="akce" value="Upravit" /></td>
    </tr>';
}
?>
<!-- KONEC VÝPISU Z DATABÁZE -->
        
    <tr style="height: 20px;">
        <td colspan="4">&nbsp;</td>
    </tr>
    <tr>
        <td colspan="4"><input id="check" type="button" value="Zaškrtnout vše" onclick="oznac();" />&nbsp;&nbsp; 
                        <input type="submit" name="akce" value="Smazat vybrané" /></td>
    </tr>
    <tr style="height: 30px;">
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td colspan="4" style="height: 19px"><p style="text-align: center;">1 2 3 4 5 6</p></td>
    </tr>
</table>
</form>
Alphard
Profil
Co nefunguje, co máme hledat? Resp. o co se snažíte a nedaří se vám to.
Taps
Profil
Coody:
<?php
$x = mysql_query("SELECT * FROM novinky ORDER BY id DESC LIMIT 10");
while($data = mysql_fetch_array($x){
echo '<tr>
        <td><input type="checkbox" name="id" value="'.$data['id'].'" /></td>
        <td>'. $data['nazev'].'</td>
        <td>'.$data['autor'].'</td>
        <td><input type="submit" name="akce" value="Upravit" /></td>
    </tr>';
}
?>
Coody
Profil
Alphard:
jde mi o to, když bude zaškrtnuto několik těch novinek tak je potřeba smazat jenom ty označené

takže ten soubor upravit.php by mohl vypadat nějak takto:

<?php
$id = $_POST['id'];
$akce = $_POST['akce'];

/*TEĎ BYCH SEM HODIL PODMÍNKY*/

if($akce=="Upravit"){

$a = mysql_query("SELECT * FROM novinky WHERE id='$id' LIMIT 1");
/* ale tady je problém, když bude těch novinek zaškrtnutých víc
a jak říkám rád bych tu metodu POST (samozřejmě pokud by to šlo) */

}


elseif($akce=="Smazat vybrané"){
$pocet = count($id);

for($i=0; $i<$pocet; $i++){
mysql_query("DELETE FROM novinky WHERE id='".$id[$i]."'");
}
echo 'Vybrané novinky byly úspěšně smazány !';
}


else{
echo 'Nebyla vybrána žádná akce !';
}

?>
Alphard
Profil
echo '<input type="checkbox" name="smazat[]" value="'.$data['id'].'" />';

mysql_query("DELETE FROM novinky WHERE id in (".implode(",", $_POST['smazat']).")");
Coody
Profil
Alphard:

děkuju moc, takže to musí být jako by v poli,

a ještě dotaz ohledně toho upravování ? dalo by se i to nějak vytvořit ?

jak jsem psal, když bude vybráno více novinek a kliknu na upravit u některé z novinek, tak to bude taky v array a pak nevím jak vytáhnout tu kterou doopravdy chci editovat
Alphard
Profil
Úpravu bych asi spojil také s id. Třeba
<a href="?uprav_id=28"><button>Upravit</button></a>
Coody
Profil
Alphard:

a nešlo by místo GET použít u té úpravy POST ?

tak nějak koumám, ale nic mě nenapadá
Alphard
Profil
Můžete použít ty vaše submit tlačítka, dát jim různá name a pak zjistit, které bylo stisknuto. Ale nevidím důvod, proč se vyhýbat GET metodě. Po zpracování požadavku se přesměruje zpět na původní adresu a žádný problém nehrozí.
Coody
Profil
no s těmi tlačítky jsem nakonec neudělal nic, akorát jsem přidal do formuláře skrytý input a tomu dal value ještě jednou to id, ale už ne v poli, tím pádem je tam to id, které potřebuju

každopádně vám děkuju za pomoc, myslím, že teď už se toto téma může uzavřít

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: