Autor | Zpráva | ||
---|---|---|---|
residentcz Profil |
#1 · Zasláno: 23. 2. 2011, 11:23:10
Ahojte mám takto vytvořenou stránku a chtěl jsem upravovat záznamy, které jsou v databázi
poradil by mi někdo jak napsat tyhle 2 soubory : 40_edit.php 40_delete.php <? include ("config.php"); mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD) or exit("Nelze se připojit k MySQL: " . mysql_error()); mysql_select_db(SQL_DBNAME) or exit("Nelze vybrat databázi: ". mysql_error()); if ($celkem>ROWS) { if (!isset($_GET["od"])) $od=1; else $od=$_GET["od"]; $vysledek=mysql_query("select cas, vzkaz, datum, obsazenost from kniha_hostu order by cas desc"." limit ".($od-1).", ".ROWS); } else { $vysledek=mysql_query("select * from kniha_hostu order by cas desc"); } while ($zaznam=MySQL_Fetch_Array($vysledek)) { echo "<b>Datum: </b>"; echo strip_tags($zaznam["datum"])."<BR>\n"; echo "<b>Čas: </b>"; echo strip_tags($zaznam["cas"])."<BR>\n"; echo "<b>Stav: </b>"; echo strip_tags($zaznam["obsazenost"])."<BR>\n"; echo strip_tags($zaznam["vzkaz"])."</p><BR>\n"; echo "<p><a href=\"40_edit.php\">Upravit</a>"; echo " "; echo "<a href=\"40_delete.php\">Smazat</a>"; echo "<p>-------------------------------------------------------------------------------------------------------------"; echo "</p><BR>\n"; } ?> |
||
panther Profil |
#2 · Zasláno: 23. 2. 2011, 14:17:21
residentcz:
v odkazu musíš předávat i ID, třeba jako delete.php?id=3 v edit.php bude SELECT na jeden řádek, který chceš upravovat a UPDATE po potvrzení změn. + výpis dat ze SELECTu samozřejmě. v delete.php bude DELETE na jeden řádek. Všechny tři dotazy, tedy select, update i delete budou mít podmínku ... WHERE id = (int)$_GET['id']; .
|
||
residentcz Profil |
#3 · Zasláno: 23. 2. 2011, 14:20:45
ahaa diky :) vyzkusam
|
||
residentcz Profil |
#4 · Zasláno: 23. 2. 2011, 16:24:10
Ještě bych prosím Vás potřeboval konzultaci
$delete1=mysql_query("DELETE FROM `kniha_hostu` WHERE id = (int)$_GET['id'];"); udělal jsem tenhle script tak jak jsi říkal jen by mě zajímalo jakým způsobem to dostanu sem echo "<p><a "neco" >Smazat</a>"; |
||
panther Profil |
#5 · Zasláno: 23. 2. 2011, 16:29:57
residentcz:
<a href="delete.php?id=23">Smazat záznam 23</a> <a href="delete.php?id=25">Smazat záznam 25</a> |
||
residentcz Profil |
#6 · Zasláno: 23. 2. 2011, 18:47:52 · Upravil/a: residentcz
aha dky :) jeste bych mel prosbicku jakym zpusobem se da dostat to id do toho odkazu jestlize ho neznam...
<? { echo "<b>Datum: </b>"; echo strip_tags($zaznam["datum"])."<BR>\n"; echo "<b>Čas: </b>"; echo strip_tags($zaznam["cas"])."<BR>\n"; echo "<b>Stav: </b>"; echo strip_tags($zaznam["obsazenost"])."<BR>\n"; echo strip_tags($zaznam["vzkaz"])."</p><BR>\n"; echo "<p><a href=\"40_edit.php\">Upravit</a>"; echo " "; echo "<a href=\"40_delete.php\">Smazat</a>"; echo "<p>-------------------------------------------------------------------------------------------------------------"; echo "</p><BR>\n"; } ?> protoze timhle se vlastne vypisujou zaznamy z databaze pod sebe a kazdy zaznam ma jine id takze kdyz bych tam napsal tohle tak to nebude fungovat a smazu tim jiny zaznam :((( echo "<a href="40_delete.php?id=23">Smazat</a>"; da se to nejak vykoumat aby to zjistovalo to id z databaze kdyz to dokaze vycist datum cas obsazenost atd ?:)) diky |
||
Lamicz Profil |
#7 · Zasláno: 23. 2. 2011, 21:16:49
V tom SQL prikazu musi byt sloupec s id mezi vyjmenovanymi sloupci, nebo jednoduse SELECT * FROM...
echo "<a href=\"40_delete.php?id=".$zaznam['id']."\">Smazat</a>"; |
||
Tori Profil |
#8 · Zasláno: 23. 2. 2011, 22:27:36 · Upravil/a: Tori
residentcz:
„$delete1=mysql_query("DELETE FROM `kniha_hostu` WHERE id = (int)$_GET['id'];");“ Předchozí pantherův SQL dotaz byl jen naznačený - tohle je PHP přetypování na celé číslo. Správně tedy: $delete1=mysql_query("DELETE FROM `kniha_hostu` WHERE id = ".(int) $_GET['id']); // anebo $delete1=mysql_query("DELETE FROM `kniha_hostu` WHERE id = ". intval($_GET['id'])); edit: Ad [#10] panther: Díky za upozornění, blbá chyba, opraveno. |
||
residentcz Profil |
#9 · Zasláno: 24. 2. 2011, 08:35:26
Lamicz:
Dikec fungujeto :-) Tori: akorad tohle nemuzu porad sprovoznit.... :( kod v 40_delete.php <? include ("config.php"); mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD) or exit("Nelze se připojit k MySQL: " . mysql_error()); mysql_select_db(SQL_DBNAME) or exit("Nelze vybrat databázi: ". mysql_error()); mysql_query("DELETE FROM `kniha_hostu` WHERE id = ". intval($_GET['id'])."); ?> |
||
panther Profil |
#10 · Zasláno: 24. 2. 2011, 11:30:04 · Upravil/a: panther
residentcz:
na jinci ti přebývá lichá uvozovka. mysql_query("DELETE FROM `kniha_hostu` WHERE id = ". intval($_GET['id'])); Tori tam též má v obou kódech chybu, poslední závorka patří k mysql_query , tudíž nemá být v uvozovkách.
|
||
residentcz Profil |
#11 · Zasláno: 24. 2. 2011, 14:54:36
diky funguje to hurraaaaa :)) fakt moc diky sam bych to nikdy nezvlad :)
|
||
Kajman_ Profil * |
#12 · Zasláno: 24. 2. 2011, 15:03:21
Jen si dejte pozor, aby vám to nesmazal třeba googlebot, když to může mazat každý a stačí jen následovat odkaz.
|
||
residentcz Profil |
#13 · Zasláno: 25. 2. 2011, 08:56:57
Kajman_
Aha to mě nenapadlo :) diky |
||
residentcz Profil |
#14 · Zasláno: 25. 2. 2011, 09:08:48
Jen bych měl ještě 2 dotazy prosím vás
1) Jakym způsobem se dá vložit value do imputu "vzkaz" který je uložený v databázi pod nějakým id <input type="hidden" name="vzkaz" value="<?echo ########?>"> odkaz na stánku s tím formulářem je stejný jak u toho delete.php echo "<a href="40_update.php?id=".$zaznam['id']."\">Upravit</a>"; 2) jak se to dá uložit do databáze pod stejným id?:)) $vysledek=mysql_query("insert into kniha_hostu (cas, vzkaz, datum, obsazenost) values ('".$_POST["cas"]."','".$_POST["vzkaz"]."','".$_POST["datum"]."','".$_POST["obsazenost"]."')"); Díky moc všem :) |
||
residentcz Profil |
#15 · Zasláno: 25. 2. 2011, 11:45:04
k té 2 mám tohle ale asik je tam někde chyba :(( a nevím kde
$vysledek=mysql_query("update kniha_hostu set (cas, vzkaz, datum, obsazenost) = ('".$_POST["cas"]."','".$_POST["vzkaz"]."','".$_POST["datum"]."','".$_POST["obsazenost"]."') WHERE id = ". intval($_GET['id'])"); |
||
panther Profil |
#16 · Zasláno: 25. 2. 2011, 11:50:58
residentcz:
2) na konci ti zase přebývá uvozovka - ano, počty do deseti jsou náročné, zkus si přesto uvozovky přepočítat. Když nevíš, kde je chyba, zatím tím, že si vypíšeš mysql_error() a povolíš výpis chybových hlášek.
1) musíš si ten vzkaz vytánout selectem, jako jakákoliv jiná data z DB. Ten tam nikde nevidím, začni tedy ním. |
||
Kajman_ Profil * |
#17 · Zasláno: 25. 2. 2011, 12:24:24
residentcz:
„je tam někde chyba :(( a nevím kde“ Tak si ji vypište. Nejspíše bude v tom, že tvoříte vlastní syntaxi příkazu update (klikněte si na to update ve svém příspěvku a nastudujte si správné použití). |
||
residentcz Profil |
#18 · Zasláno: 25. 2. 2011, 12:30:21
Dikec hoši :) jsem úplnej nováček a tohle je můj první projekt :)
jdu se na to mrknout |
||
Časová prodleva: 2 roky
|
|||
Patiseq Profil * |
#19 · Zasláno: 11. 7. 2013, 23:12:26
čau lidi mám něco podobného,
<?php include "../include/config.php"; mysql_connect($mysql_ip,$mysql_user,$mysql_pass); mysql_select_db($mysql_name); $pocet_prispevku = 1; $get = "denicek"; $stranka = $_GET[$get]; if(!$stranka) { $stranka = 1; $prvni = 0; $druhy = $pocet_prispevku; } else { $prvni = ($stranka-1) * $pocet_prispevku; $druhy = $pocet_prispevku; } if(!is_numeric($stranka)) { $stranka = 1; } $query_vyber_vse = mysql_query("SELECT * FROM denicky WHERE id ORDER BY `denicky`.`id` DESC LIMIT $prvni, $druhy ;"); //seřezení: ASC od 1, DESC od poslední while ($zaznam = mysql_fetch_array($query_vyber_vse)) echo " <tr><td colspan='5'><b><font color='RED'><u>".$zaznam['datum']."</u></font></b></td></tr> <tr><td colspan='5'><font color='red'>♥</font> <b>".$zaznam['nadpis']."</b> <font color='red'>♥</font></td></tr> <tr><td colspan='5'>".$zaznam['clanek']."</td></tr> <tr><td colspan='5'><font color='red'>♥</font></td></tr> <tr><td colspan='5'>Autor: ".$zaznam['autor']."; Napsáno: ".$zaznam['vlozeno']."</td></tr> <tr><td colspan='5'><br><br></td></tr>"; $query_vyber_id = mysql_query("SELECT COUNT(*) FROM denicky WHERE id"); $pocet = mysql_result($query_vyber_id, 0); $pocet_stran = $pocet/1; $pocet_stran = ceil($pocet_stran); if($stranka != 1){ echo "<tr><td><a href='?$get=1' title='Nejnovější'><<</a></td><td><a href='?$get=".($stranka-1)."'>Novější</a></td>"; } for($i = 1; $i <= $pocet_stran; $i++) { if($stranka == $i){ $class = "<td class='aktivni'><b>Stránka $i</b></td>"; } else { $class = "<td class='neaktivni'><a href='?$get=$i' title='Stránka $i'>Stránka $i</a></td>"; } if(($i <=($stranka + 0)) AND ($i >= ($stranka - 0))) { echo $class; } } if($stranka != $pocet_stran){ echo "<td><a href='?$get=".($stranka+1)."'>Starší</a></td><td><a href='?$get=$pocet_stran' title='Nejstarší'>>></a></td></tr>"; } mysql_close($spojeni); ?> |
||
Časová prodleva: 11 let
|
0