| 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> </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"> </td>
</tr>
<tr>
<td colspan="4"><input id="check" type="button" value="Zaškrtnout vše" onclick="oznac();" />
<input type="submit" name="akce" value="Smazat vybrané" /></td>
</tr>
<tr style="height: 30px;">
<td> </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 |
#2 · Zasláno: 26. 6. 2010, 17:52:47
Co nefunguje, co máme hledat? Resp. o co se snažíte a nedaří se vám to.
|
||
| Taps Profil |
#3 · Zasláno: 26. 6. 2010, 17:53:55 · Upravil/a: Taps
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 |
#4 · Zasláno: 26. 6. 2010, 18:05:29 · Upravil/a: Coody
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 |
#5 · Zasláno: 26. 6. 2010, 18:15:07
echo '<input type="checkbox" name="smazat[]" value="'.$data['id'].'" />'; mysql_query("DELETE FROM novinky WHERE id in (".implode(",", $_POST['smazat']).")"); |
||
| Coody Profil |
#6 · Zasláno: 26. 6. 2010, 18:23:44 · Upravil/a: Coody
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 |
#7 · Zasláno: 26. 6. 2010, 18:46:56
Úpravu bych asi spojil také s id. Třeba
<a href="?uprav_id=28"><button>Upravit</button></a> |
||
| Coody Profil |
#8 · Zasláno: 26. 6. 2010, 20:55:55 · Upravil/a: Coody
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 |
#9 · Zasláno: 26. 6. 2010, 21:41:22
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 |
#10 · Zasláno: 26. 6. 2010, 22:34:05
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 |
||
|
Časová prodleva: 15 let
|
|||
0