PHP - Moved: Edit Table Live
This topic has been moved to Other Libraries and Frameworks.
http://www.phpfreaks.com/forums/index.php?topic=346821.0 Similar TutorialsThis topic has been moved to Miscellaneous. http://www.phpfreaks.com/forums/index.php?topic=346771.0 This topic has been moved to Ajax Help. http://www.phpfreaks.com/forums/index.php?topic=327780.0 This topic has been moved to JavaScript Help. http://www.phpfreaks.com/forums/index.php?topic=320005.0 This topic has been moved to Third Party PHP Scripts. http://www.phpfreaks.com/forums/index.php?topic=306341.0 Hey guys So my question is related to the delete and edit functions in a table When I am able to delete entries, I can't edit When I am able to edit entries, I can't delete Let me explain... Started with the table script first (excerpt): Code: [Select] echo "<form method = \"post\" action=\"{$_SERVER['PHP_SELF']}\"> <table> <tr> <td width=\"55\" class=\"formLabelsS2\"><input type=\"submit\" name=\"delete_mail\" value=\"Delete\" id=\"delete_mail\"></td> </tr> </table>"; echo "<table class=\"sortable\" id=\"query_quick2\" width=\"100%\" >\r\n"; echo "\t<tr><th class=\"sorttable_nosort\" ></th><th class=\"sorttable_nosort\" ></th> <th class=\"sorttable_alpha\" >Promoter Locus</th>\r\n"; if($result->num_rows){ while ($row = $result->fetch_array()){ $RowCount ++; $row_color = ($RowCount % 2) ? $color1 : $color2; echo "\t<tr id=\"{$row['id']}\" class=\"$row_color\" > <!--<form method = \"post\" action=\"{$_SERVER['PHP_SELF']}\">--> <td><input type =\"hidden\" name = \"id\" value=\"{$row['id']}\"/></td> <td><input name=\"checkbox[]\" type=\"checkbox\" id=\"checkbox[]\" value=\"{$row['id']} \"></td> <td>{$row['pro']}</td> <td><input type=\"submit\" name=\"edit_mail\" value = \"Edit\"/></td> <!--</form>--> </tr>"; } } echo "</table>"; echo "</form>"; Script for deleting entries (excerpt): Code: [Select] } elseif(isset($_SESSION['user_id']) AND isset($_POST['delete_mail'])){ //user is deleting existing queries $connect=db_connect_2(); if($_POST['checkbox']){ { foreach($_POST['checkbox'] as $check) { $delete = mysqli_query($connect, "DELETE FROM mailing_list WHERE id = '$check'"); } $msgs[] = "Entry deletion was successful!"; $body = "account.php"; } When "edit_mail" button is pressed: Code: [Select] } elseif(isset($_SESSION['user_id']) AND isset($_POST['edit_mail'])){ //user is editing existing queries $body = "mailingList_edit.php"; } A editing form is displayed based on the value of $id: Code: [Select] <?php //retrieve user information $conn=db_connect_2(); $id = mysqli_real_escape_string($conn, $_POST['id']); $result = $conn->query("SELECT * FROM mailing_list WHERE id = '$id';"); $mail = $result->fetch_array(); ?> <div class="viewTitles" >Edit Your Queries:</div> <form method = "post" action = "<? echo $_SERVER['PHP_SELF'] ?>"> <table> <tr><td width="88" class="formLabelsS2" align="left">Promoter Locus:</td></tr> <tr><td><input class = "basicTextField" type="text" name="pro_edit" value="<? echo $mail['pro']; ?>"></td></tr> </table> OK so what happens is: I can delete entries with no problems by checking off the entries I want to delete then click delete button But when I try to click "edit" button near a specific entry (individually), it DOES refer to a specific entry, but right after i SORT the table using sorttable.js, it would always refer to the LAST entry. So I am suspecting there's problem with positioning of the <form></form> inside the while loop (see the table script, as I put lot of space in between these lines for emphasis) Note that I put these <form> and </form> lines as comment so I could do what I mention above, otherwise I couldn't even delete any entries if I leave these 2 lines to be part of the while loop BUT !! I could edit specific entry even after I sort the table I know this is long thread, so please let me know if you need more clarification Thanks. Hi all, I am having difficulty getting my UPDATE script to work. Basically the info is being pulled from a form and then being UPDATED, but it doesn't actually update and I am presented with no errors. It finds the record correctly and displays in the fields in the form as it should, just no update! Any ideas? Thanks in advance... Code: [Select] <?php error_reporting (E_ALL ^ E_NOTICE); $usr = "fdgdg"; $pwd = "dgdg"; $db = "dgdg"; $host = "dgdg.ddg.dg.50dgdg /***********************Get Record***********************/ $ref = (!empty($_GET['ref']))?trim($_GET['ref']):""; # connect to database $cid = mysql_connect($host,$usr,$pwd); if (!$cid){ echo("ERROR: " . mysql_error() . "\n"); } $db_selected = mysql_select_db(database, $cid); $query = sprintf("SELECT * FROM fleet where fleetref like '%s' LIMIT 1","%".mysql_real_escape_string($ref)."%"); $result = mysql_query($query) or die($query."<br>".mysql_error()); $record = mysql_fetch_assoc($result); if(mysql_num_rows($result) > 0) { echo "<strong>Updating fleet vehicle</strong>"; $fleetref=$record["ref"]; $fleetmake=$record["fleetmake"]; $fleetmodel=$record["fleetmodel"]; $fleetberth=$record["fleetberth"]; $fleetyear=$record["fleetyear"]; $fleetlength=$record["fleetlength"]; $fleetchassis=$record["fleetchassis"]; $fleetengine=$record["fleetengine"]; $fleetlayout=$record["fleetlayout"]; $fleettype=$record["fleettype"]; $fleetcomments=$record["fleetcomments"]; $pricelow=$record["pricelow"]; $pricemid=$record["pricemid"]; $pricehigh=$record["pricehigh"]; $fleetof=$record["fleetof"]; }else{ echo "<div id=\"pages\"><strong>Record not found</strong> - Edit Directory</div>"; $fleetmake=""; $fleetmodel=""; $fleetberth=""; $fleetyear=""; $fleetlength=""; $fleetchassis=""; $fleetengine=""; $fleetlayout=""; $fleettype=""; $fleetcomments=""; $pricelow=""; $pricemid=""; $pricehigh=""; $fleetof=$record["fleetof"]; } if ($fleetof == $account) { /***********************Save Record***********************/ # this is processed when the form is submitted # back on to this page (POST METHOD) if (isset($_POST['submit'])){ $fleetmake=$_POST["fleetmake"]; $fleetmodel=$_POST["fleetmodel"]; $fleetberth=$_POST["fleetberth"]; $fleetyear=$_POST["fleetyear"]; $fleetchassis=$_POST["fleetchassis"]; $fleetengine=$_POST["fleetengine"]; $fleetlayout=$_POST["fleetlayout"]; $fleetlength=$_POST["fleetlength"]; $fleettype=$_POST["fleettype"]; $fleetcomments=$_POST["fleetcomments"]; $pricelow=$_POST["pricelow"]; $pricemid=$_POST["pricemid"]; $pricehigh=$_POST["pricehigh"]; # setup SQL statement $query = sprintf("UPDATE `fleet` SET `fleetmake` = '%s',`fleetmodel` = '%s',`fleetberth` = '%s',`fleetyear` = '%s',`fleetchassis` = '%s',`fleetengine` = '%s',`fleetlayout` = '%s',`fleetlength` = '%s',`fleettype` = '%s',`fleetcomments` = '%s',`pricelow` = '%s',`pricemid` = '%s',`pricehigh` = '%s' WHERE `fleetref` ='%s' LIMIT 1", mysql_real_escape_string($fleetmake),mysql_real_escape_string($fleetmodel),mysql_real_escape_string($fleetberth),mysql_real_escape_string($fleetyear),mysql_real_escape_string($fleetchassis),mysql_real_escape_string($fleetengine),mysql_real_escape_string($fleetlayout),mysql_real_escape_string($fleetlength),mysql_real_escape_string($fleettype),mysql_real_escape_string($fleetcomments),mysql_real_escape_string($pricelow),mysql_real_escape_string($pricemid),mysql_real_escape_string($pricehigh),mysql_real_escape_string($fleetref)); #execute SQL statement $result = mysql_db_query($db,$query,$cid) or die($query."<br>".mysql_error()); # check for error if (!$result){ echo("ERROR: " . mysql_error() . "\n$SQL\n"); } echo "<P>Fleet vehicle updated</P>\n"; } } else {echo "Sorry, you are not authorised to edit this vehicle, please contact the system administrator for further help.";} ?> This topic has been moved to Miscellaneous. http://www.phpfreaks.com/forums/index.php?topic=345742.0 This topic has been moved to PHP Applications. http://www.phpfreaks.com/forums/index.php?topic=322008.0 I made a table that gets the rows from a mysql table and lists them with the information on each row. What i need is an edit button at the end of the row so i can click it to change the data. What i want it to do is pop up a new window (child) that i can easily change the data by a text box, drop down menu, etc. and click submit to update it on the table. What i also need is a second button that will completely remove the data from that row in the table. I am still learning php and html and have no knowledge of javascript so any help would be appreciated! Hi all. I built an online finance tracking thingy for myself and I got it to work using the following database table and PHP code. I didn't write the PHP code, rather, I edited it to suit my needs. It works great for my needs. I have a way to enter records and view the last 180 records in a table. The thing is, while viewing the table, I would lke to be able to edit and delete records. I don't know enough to be able to do this. Can it be done? I realize my PHP code would probably, for the most part, be totally different. Thanks for any help with this. Here is my DB table structu Code: [Select] DROP TABLE IF EXISTS `money`; CREATE TABLE IF NOT EXISTS `money` ( `id` int(5) NOT NULL AUTO_INCREMENT, `date` date NOT NULL, `type` varchar(18) NOT NULL, `checking` decimal(5,2) NOT NULL DEFAULT '0.00', `cash` decimal(5,2) NOT NULL DEFAULT '0.00', `description` varchar(25) NOT NULL, `who` varchar(25) NOT NULL, `note` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; And here is the PHP: Code: [Select] <?php $result = mysql_query ('SELECT date, type, checking, cash, who, description, note' . ' FROM money' . ' ORDER BY date DESC LIMIT 0,180') or die(mysql_error()); echo "<table border='1' cellpadding='5'>"; echo "<tr><th>Date</th><th>Type</th><th>Checking</th><th>Cash</th><th>Who?</th><th>Description</th><th>Note</th></tr>"; while($row = mysql_fetch_array( $result )) { // Print out the contents of each row into a table echo "<tr><td>"; echo $row['date']; echo "</td><td>"; echo $row['type']; echo "</td><td>"; echo $row['checking']; echo "</td><td>"; echo $row['cash']; echo "</td><td>"; echo $row['who']; echo "</td><td>"; echo $row['description']; echo "</td><td>"; echo $row['note']; echo "</td></tr>"; } echo "</table>"; ?> Gang, I'm trying to create a form that allows me to edit table data within a MySQL database. I've been able to display the data, no problem. I want to be able to edit the fields in the database tables but have had no luck. I'm using session variables to connect and gather the information I need. Here's the code for collecting the table data: <?php mysql_select_db($database); if(empty($database)) { echo "<p>You must be connected to a database in order to view any table data.</p>"; }else{ // Show table data start $sql = "SHOW TABLES FROM $database"; $result = mysql_query($sql); $table = array(); while ($row = mysql_fetch_row($result)) { $table[] = $row[0]; } if (count($table) == 0) { echo "<p>The database '" . $database . "' contains no tables.</p>\n"; } else { foreach($table AS $aTable) { echo "<p style='text-align:left;float:left;width:100%;margin-top:15px;'>Table: <font color='green'>$aTable</font>"; if (!mysql_connect($hostname, $user, $passwd)) die("Can't connect to database"); if (!mysql_select_db($database)) die("Can't select database"); // sending query $result = mysql_query("SELECT * FROM {$aTable}"); if (!$result) { die("Query to show fields from table failed"); } $fields_num = mysql_num_fields($result); echo "<div style='text-align:left;width:100%;'><table border='0'><tr><td></td>"; // printing table headers for($i=0; $i<$fields_num; $i++) { $field = mysql_fetch_field($result); echo "<td style='text-align:left;padding:3px;font-size:11px;color:green;'>{$field->name}</td>"; } echo "</tr>\n"; // printing table rows while($row = mysql_fetch_row($result)) { echo "<tr><td style='text-align:center;padding:3px;font-size:10px;border:1px solid #888;background:#fff;'><a href='edit_data.php?=$row[0]' style='color:red;text-decoration:none;'>edit</a></td>"; // $row is array... foreach( .. ) puts every element // of $row to $cell variable foreach($row as $cell) echo "<td style='text-align:left;padding:3px;font-size:10px;border:1px solid #888;background:#fff;clear:both;float:left;'>$cell</td>"; echo "</tr>\n"; } mysql_free_result($result); echo "</table></div>"; } } } //end show table data include("includes/footer.php"); ?> I'm not sure how to create a form using the session variables in order to be able to edit the correct information since I want to edit numerous databases. Any help would be great! Thanks hello all, i am trying to edit a mysql table from the browser using these codes: edit.php: include"db.inc.php";//database connection $order = "SELECT * FROM prices"; $result = mysql_query($order); while ($row=mysql_fetch_array($result)){ echo ("<tr><td>$row[id_number]</td>"); echo ("<td>$row[product]</td>"); echo ("<td>$row[price]</td>"); echo ("<td><a href=\"edit_form.php?id=$row[id_number]\">Edit</a></td></tr>"); } edit_form.php <table> <? include "db.inc.php";//database connection $order = "SELECT * FROM prices where id_number='$id'"; $result = mysql_query($order); $row = mysql_fetch_array($result); ?> <form method="post" action="edit_data.php"> <input type="hidden" name="id" value="<? echo "$row[id_number]"?>"> <tr> <td>Product</td> <td> <input type="text" name="product" size="20" value="<? echo "$row[product]"?>"> </td> </tr> <tr> <td>Price</td> <td> <input type="text" name="price" size="40" value="<? echo "$row[price]"?>"> </td> </tr> <tr> <td align="right"> <input type="submit" name="submit value" value="Edit"> </td> </tr> </form> </table> edit_data.php include "db.inc.php"; $order = "UPDATE prices SET product='$_POST[product]', price='$_POST[price]' WHERE id_number='$id'"; mysql_query($order); header("location:edit.php"); the table: CREATE TABLE IF NOT EXISTS `prices` ( `id_number` int(3) NOT NULL, `product` varchar(30) DEFAULT NULL, `price` int(6) DEFAULT NULL, PRIMARY KEY (`id_number`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; the data is displayed correctly but i can't change the data... This topic has been moved to Application Design. http://www.phpfreaks.com/forums/index.php?topic=317771.0 This topic has been moved to MySQL Help. http://www.phpfreaks.com/forums/index.php?topic=317025.0 This topic has been moved to MySQL Help. http://www.phpfreaks.com/forums/index.php?topic=321459.0 This topic has been moved to HTML Help. http://www.phpfreaks.com/forums/index.php?topic=330967.0 This topic has been moved to MySQL Help. http://www.phpfreaks.com/forums/index.php?topic=348465.0 This topic has been moved to Third Party PHP Scripts. http://www.phpfreaks.com/forums/index.php?topic=354977.0 This topic has been moved to JavaScript Help. http://www.phpfreaks.com/forums/index.php?topic=355480.0 This topic has been moved to MySQL Help. http://www.phpfreaks.com/forums/index.php?topic=313836.0 |