newbtophp Posted July 4, 2009 Share Posted July 4, 2009 I've completed a way to delete data from my msqyl. But im having trouble, whenever I want to edit data i have to delete the whole line and resubmit. Is their a way I can add a drop down on the "Status" and "Reason" column, the drop down would contain the same options as the submit form. Heres my manage.php: <?php //Include mysql config include "config.php"; include "password_protect.php"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title><?php echo $name; ?></title> <LINK href="includes/style.css" rel="stylesheet" type="text/css"> </head> <center> <table width="600" cellspacing="0" cellpadding="0" id="main"> <tr><td><center> <h1><?php echo $name; ?></h1> <table width="100%" border="0" cellspacing="5" cellpadding="5" id="result"> <a href="index.php">Home</a> <a href="manage.php">Manage</a> <a href="index.php?logout=1">Logout</a> <tr> <body> <div align="center"> <table width="50%" height="100%" border="0" align="center"> <tr valign="middle"> <td><div align="center"> <p> <?php echo"<br>"; if($_POST["posting"] == "yes") { if(empty($_POST["reason"]) || empty($_POST["website"]) || empty($_POST["status"])) { echo "Please fill all the fields."; } else { $md5 = md5($_POST["name"].time()); $sql = "INSERT INTO downloads (md5, reason, website, status) VALUES ('".$md5."','".$_POST["reason"]."','".$_POST["website"]."','".$_POST["status"]."');"; sql($sql); $md5 = $rewrite.$md5; echo "Sucessfully Added!<br>"; } } if($_GET["delete"]) { $sql = "DELETE FROM downloads WHERE id = '".$_GET["delete"]."'"; sql($sql); } $sql = "SELECT * FROM downloads"; $fieldarray = array("reason","website","status"); ?> <table width="100%" bgcolor="#333333" style="text-align:center;"> <?php echo maketable($sql, $fieldarray, "md5", 0, 1); ?> </table> <br /> </p> <?php //Submit form ?> <form id="login" name="login" method="post" action="manage.php"> <input name="posting" type="hidden" id="posting" value="yes" /> Reason:<BR> <select name="reason" id="reason" > <option value="Nulled">Nulled</option> <option value="Reselling">Reselling</option> <option value="No License">No License</option> </select> <BR>Website Url:<BR> <input name="website" type="text" id="website" value="http://www." /> <BR>Status:<BR> <select name="status" id="status" > <option value="Pending Action">Pending Action</option> <option value="DMCA Sent">DMCA Sent</option> <option value="CLOSED">CLOSED</option> </select><BR> <BR> <input type="submit" name="submit" value="Add" class="submit" /></p> </form> <p> Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/ Share on other sites More sharing options...
newbtophp Posted July 5, 2009 Author Share Posted July 5, 2009 Can anyone help please?. :-\ Cheers Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-869165 Share on other sites More sharing options...
haku Posted July 5, 2009 Share Posted July 5, 2009 Not sure what you are asking. But to edit a row in your database, you can use mysql UPDATE. Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-869170 Share on other sites More sharing options...
newbtophp Posted July 5, 2009 Author Share Posted July 5, 2009 The code which I posted currently looks like (When I submit data from the form, it has a drop down field for reason and status, but it cant be changed when submitted): So I want, to remove the delete column, and make some of the (reason, status) collumns be editable via a drop down menu. Like below (but obviously neater then my paint skills, by css) Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-869177 Share on other sites More sharing options...
haku Posted July 5, 2009 Share Posted July 5, 2009 So remove your delete link, change it to a dropdown menu, then add a switch based on the value of that drop down: switch ($_POST['dropdown']) { case 'update': // do update query here break; case 'delete': // do delete query here break; // add other drop down options below this } Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-869181 Share on other sites More sharing options...
newbtophp Posted July 5, 2009 Author Share Posted July 5, 2009 Heres the code, I assembled it by following mysql tutorials: Im new to php and sql, so Im confused of which lines to edit and replace <?php //Include mysql config include "config.php"; include "password_protect.php"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title><?php echo $name; ?></title> <LINK href="includes/style.css" rel="stylesheet" type="text/css"> </head> <center> <table width="600" cellspacing="0" cellpadding="0" id="main"> <tr><td><center> <h1><?php echo $name; ?></h1> <table width="100%" border="0" cellspacing="5" cellpadding="5" id="result"> <a href="index.php">Home</a> <a href="manage.php">Manage</a> <a href="index.php?logout=1">Logout</a> <tr> <body> <div align="center"> <table width="50%" height="100%" border="0" align="center"> <tr valign="middle"> <td><div align="center"> <p> <?php echo"<br>"; if($_POST["posting"] == "yes") { if(empty($_POST["reason"]) || empty($_POST["website"]) || empty($_POST["status"])) { echo "Please fill all the fields."; } else { $md5 = md5($_POST["name"].time()); $sql = "INSERT INTO downloads (md5, reason, website, status) VALUES ('".$md5."','".$_POST["reason"]."','".$_POST["website"]."','".$_POST["status"]."');"; sql($sql); $md5 = $rewrite.$md5; echo "Sucessfully Added!<br>"; } } if($_GET["delete"]) { $sql = "DELETE FROM downloads WHERE id = '".$_GET["delete"]."'"; sql($sql); } $sql = "SELECT * FROM downloads"; $fieldarray = array("reason","website","status"); ?> <table width="100%" bgcolor="#333333" style="text-align:center;"> <?php echo maketable($sql, $fieldarray, "md5", 0, 1); ?> </table> <br /> </p> <?php //Submit form ?> <form id="login" name="login" method="post" action="manage.php"> <input name="posting" type="hidden" id="posting" value="yes" /> Reason:<BR> <select name="reason" id="reason" > <option value="Nulled">Nulled</option> <option value="Reselling">Reselling</option> <option value="No License">No License</option> </select> <BR>Website Url:<BR> <input name="website" type="text" id="website" value="http://www." /> <BR>Status:<BR> <select name="status" id="status" > <option value="Pending Action">Pending Action</option> <option value="DMCA Sent">DMCA Sent</option> <option value="CLOSED">CLOSED</option> </select><BR> <BR> <input type="submit" name="submit" value="Add" class="submit" /></p> </form> <p> This the submit form which contains the predifined drop down options: <?php //Submit form ?> <form id="login" name="login" method="post" action="manage.php"> <input name="posting" type="hidden" id="posting" value="yes" /> Reason:<BR> <select name="reason" id="reason" > <option value="Nulled">Nulled</option> <option value="Reselling">Reselling</option> <option value="No License">No License</option> </select> <BR>Website Url:<BR> <input name="website" type="text" id="website" value="http://www." /> <BR>Status:<BR> <select name="status" id="status" > <option value="Pending Action">Pending Action</option> <option value="DMCA Sent">DMCA Sent</option> <option value="CLOSED">CLOSED</option> </select><BR> <BR> <input type="submit" name="submit" value="Add" class="submit" /></p> </form> <p> Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-869184 Share on other sites More sharing options...
newbtophp Posted July 5, 2009 Author Share Posted July 5, 2009 This is what I've come up with; Select the checkbox then click the edit button, which opens an edit form for the row. On the form the field reason and status is a drop down. It dont display though? <?php include 'config.php'; ?> <style type="text/css"><!-- div.message { display: block; margin: 10px 40px; padding: 5px 10px; } div#error.message { background-color: #fcc; border: 1px solid #f00; color: #f00; font-weight: bold; } form table.data-grid { border: 1px solid #d0e0ed; border-collapse: collapse; width: 100%; } form table.data-grid thead tr { background-color:#77003c; border: none; } form table.data-grid thead tr th { color: #fff; text-align: center; } form table.data-grid tr .input-col { text-align: center; width: 10%; } form table.data-grid tr .url { width: 40%; } form table.data-grid tr .link { width: 40%; } form table.data-grid tr .visits { width: 10%; } form table.data-grid tr td input[type="submit"] { background-color: #3893b2; border: 1px solid #166687; color: #fff; font-weight: bold; } --></style> <?php if($_GET["cmd"]=="edit" || $_POST["cmd"]=="edit") { if (!isset($_POST["submit"])) { $id = $_GET["id"]; $sql = "SELECT * FROM downloads WHERE 'id'"; $result = mysql_query($sql); $myrow = mysql_fetch_array($result); } $data = mysql_query("SELECT * FROM `downloads`"); if(!$data) { echo '<div style="background-color: #fcc; border: 1px solid #f00; color: #f00; font-weight: bold; padding: 5px 10px;"> No data returned. </div>'; if(mysql_error()) { echo '<div style="background-color: #fcc; border: 1px solid #f00; color: #f00; font-weight: bold; padding: 5px 10px;"> MySQL Error (#'.mysql_errno().'): '.mysql_error().' </div>'; } exit; } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="data-grid-form"> <table class="data-grid" cellspacing="0" cellpadding="0"> <thead> <tr> <th class="input-col"> <input type="checkbox" onclick="toggleAll(this);" id="checkAllBox" /> </th> <th class="website">Website</th> <th class="reason">Reason</th> <th class="status">Status</th> </tr> </thead> <tbody> <?php while($row = mysql_fetch_assoc($data)): ?> <tr> <td class="input-col"> <input type="checkbox" name="ids[]" value="<?php echo $row['id']; ?>" /> </td> <td class="website"><?php echo $row['website']; ?></td> <td class="reason"><?php echo $row['reason']; ?></td> <td class="status"><?php echo $row['status']; ?></td> </tr> <?php endwhile; ?> <tr> <td colspan="4" style="text-align: center;"> <input type="submit" name="cmd" value="edit" /> </td> </tr> </tbody> </table> </form> <? if ($_POST["$submit"]) { $website = $_POST["website"]; $reason = $_POST["reason"]; $status = $_POST["status"]; $sql = "UPDATE downloads SET website='$website',message='$reason',who='$status' WHERE id=$id"; //replace news with your table name above $result = mysql_query($sql); echo "Thank you! Information updated."; } } ?> <script type="text/javascript"><!-- // --><![CDATA[ function toggleAll(input) { // Will the inputs be checked or not? var checked = input.checked; var form = document.getElementById('data-grid-form'); if(form.elements.length) { for(var i=0; i<form.elements.length; i++) { var input = form.elements[i]; if(input.type == 'checkbox') { input.checked = checked; } } } } // ]]></script> Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-869208 Share on other sites More sharing options...
newbtophp Posted July 5, 2009 Author Share Posted July 5, 2009 Anyone can tell me what I did wrong?. It dont display or function. Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-869242 Share on other sites More sharing options...
haku Posted July 5, 2009 Share Posted July 5, 2009 Try just showing just the relevant code. Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-869253 Share on other sites More sharing options...
newbtophp Posted July 5, 2009 Author Share Posted July 5, 2009 I have but still appears as blank page. Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-869277 Share on other sites More sharing options...
newbtophp Posted July 5, 2009 Author Share Posted July 5, 2009 I looked over my code and it still displays a blank page, the sql and table is defined correctly; <?php include 'config.php'; ?> <style type="text/css"><!-- div.message { display: block; margin: 10px 40px; padding: 5px 10px; } div#error.message { background-color: #fcc; border: 1px solid #f00; color: #f00; font-weight: bold; } form table.data-grid { border: 1px solid #d0e0ed; border-collapse: collapse; width: 100%; } form table.data-grid thead tr { background-color:#77003c; border: none; } form table.data-grid thead tr th { color: #fff; text-align: center; } form table.data-grid tr .input-col { text-align: center; width: 10%; } form table.data-grid tr .url { width: 40%; } form table.data-grid tr .link { width: 40%; } form table.data-grid tr .visits { width: 10%; } form table.data-grid tr td input[type="submit"] { background-color: #3893b2; border: 1px solid #166687; color: #fff; font-weight: bold; } --></style> <?php if($_GET["cmd"]=="edit" || $_POST["cmd"]=="edit") { if (!isset($_POST["submit"])) { $id = $_GET["id"]; $sql = "SELECT * FROM downloads WHERE 'id'"; $result = mysql_query($sql); $myrow = mysql_fetch_array($result); } $data = mysql_query("SELECT * FROM `downloads`"); if(!$data) { echo '<div style="background-color: #fcc; border: 1px solid #f00; color: #f00; font-weight: bold; padding: 5px 10px;"> No data returned. </div>'; if(mysql_error()) { echo '<div style="background-color: #fcc; border: 1px solid #f00; color: #f00; font-weight: bold; padding: 5px 10px;"> MySQL Error (#'.mysql_errno().'): '.mysql_error().' </div>'; } exit; } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="data-grid-form"> <table class="data-grid" cellspacing="0" cellpadding="0"> <thead> <tr> <th class="input-col"> <input type="checkbox" onclick="toggleAll(this);" id="checkAllBox" /> </th> <th class="website">Website</th> <th class="reason">Reason</th> <th class="status">Status</th> </tr> </thead> <tbody> <?php while($row = mysql_fetch_assoc($data)): ?> <tr> <td class="input-col"> <input type="checkbox" name="ids[]" value="<?php echo $row['id']; ?>" /> </td> <td class="website"><?php echo $row['website']; ?></td> <td class="reason"><?php echo $row['reason']; ?></td> <td class="status"><?php echo $row['status']; ?></td> </tr> <?php endwhile; ?> <tr> <td colspan="4" style="text-align: center;"> <input type="submit" name="cmd" value="edit" /> </td> </tr> </tbody> </table> </form> <? if ($_POST["$submit"]) { $website = $_POST["website"]; $reason = $_POST["reason"]; $status = $_POST["status"]; $sql = "UPDATE downloads SET website='$website',message='$reason',who='$status' WHERE id=$id"; //replace news with your table name above $result = mysql_query($sql); echo "Thank you! Information updated."; } } ?> <script type="text/javascript"><!-- // --><![CDATA[ function toggleAll(input) { // Will the inputs be checked or not? var checked = input.checked; var form = document.getElementById('data-grid-form'); if(form.elements.length) { for(var i=0; i<form.elements.length; i++) { var input = form.elements[i]; if(input.type == 'checkbox') { input.checked = checked; } } } } // ]]></script> Anyone can help me please? Cheers Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-869452 Share on other sites More sharing options...
haku Posted July 6, 2009 Share Posted July 6, 2009 I mean show us the relevant code, so we don't have to dig through all your code to find the problem. Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-869610 Share on other sites More sharing options...
newbtophp Posted July 6, 2009 Author Share Posted July 6, 2009 Heres the relevant code without css and js: <?php if($_GET["cmd"]=="edit" || $_POST["cmd"]=="edit") { if (!isset($_POST["submit"])) { $id = $_GET["id"]; $sql = "SELECT * FROM downloads WHERE 'id'"; $result = mysql_query($sql); $myrow = mysql_fetch_array($result); } $data = mysql_query("SELECT * FROM `downloads`"); if(!$data) { echo '<div style="background-color: #fcc; border: 1px solid #f00; color: #f00; font-weight: bold; padding: 5px 10px;"> No data returned. </div>'; if(mysql_error()) { echo '<div style="background-color: #fcc; border: 1px solid #f00; color: #f00; font-weight: bold; padding: 5px 10px;"> MySQL Error (#'.mysql_errno().'): '.mysql_error().' </div>'; } exit; } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="data-grid-form"> <table class="data-grid" cellspacing="0" cellpadding="0"> <thead> <tr> <th class="input-col"> <input type="checkbox" onclick="toggleAll(this);" id="checkAllBox" /> </th> <th class="website">Website</th> <th class="reason">Reason</th> <th class="status">Status</th> </tr> </thead> <tbody> <?php while($row = mysql_fetch_assoc($data)): ?> <tr> <td class="input-col"> <input type="checkbox" name="ids[]" value="<?php echo $row['id']; ?>" /> </td> <td class="website"><?php echo $row['website']; ?></td> <td class="reason"><?php echo $row['reason']; ?></td> <td class="status"><?php echo $row['status']; ?></td> </tr> <?php endwhile; ?> <tr> <td colspan="4" style="text-align: center;"> <input type="submit" name="cmd" value="edit" /> </td> </tr> </tbody> </table> </form> <? if ($_POST["$submit"]) { $website = $_POST["website"]; $reason = $_POST["reason"]; $status = $_POST["status"]; $sql = "UPDATE downloads SET website='$website',message='$reason',who='$status' WHERE id=$id"; //replace news with your table name above $result = mysql_query($sql); echo "Thank you! Information updated."; } } ?> Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-869862 Share on other sites More sharing options...
newbtophp Posted July 7, 2009 Author Share Posted July 7, 2009 Anyone can help? Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-870408 Share on other sites More sharing options...
newbtophp Posted July 12, 2009 Author Share Posted July 12, 2009 Help please? Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-873976 Share on other sites More sharing options...
newbtophp Posted July 12, 2009 Author Share Posted July 12, 2009 My Progress... On my submission form I have 2 drop down menus with options for Reason and Status. Now I've found a way to submit, I want to be able to edit the data. My table is called downloads, and I want to be able to edit the 3 rows, Website (field), Reason (dropdown) and Status (dropdown). The trouble is when I select a checkbox to edit a row, the edit form loads the options as fields and not drop downs (like the submit form) <?php //Include mysql config include "config.php"; ?> <?php if($_GET["cmd"]=="edit" || $_POST["cmd"]=="edit") { if (!isset($_POST["submit"])) { $id = $_GET["id"]; $sql = "SELECT * FROM downloads WHERE 'id'"; $result = mysql_query($sql); $myrow = mysql_fetch_array($result); } $data = mysql_query("SELECT * FROM `downloads`"); if(!$data) { echo '<div style="background-color: #fcc; border: 1px solid #f00; color: #f00; font-weight: bold; padding: 5px 10px;"> No data returned. </div>'; if(mysql_error()) { echo '<div style="background-color: #fcc; border: 1px solid #f00; color: #f00; font-weight: bold; padding: 5px 10px;"> MySQL Error (#'.mysql_errno().'): '.mysql_error().' </div>'; } exit; } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="data-grid-form"> <table class="data-grid" cellspacing="0" cellpadding="0"> <thead> <tr> <th class="input-col"> <input type="checkbox" onclick="toggleAll(this);" id="checkAllBox" /> </th> <th class="website">Website</th> <th class="reason">Reason</th> <th class="status">Status</th> </tr> </thead> <tbody> <?php while($row = mysql_fetch_assoc($data)): ?> <tr> <td class="input-col"> <input type="checkbox" name="ids[]" value="<?php echo $row['id']; ?>" /> </td> <td class="website"><?php echo $row['website']; ?></td> <td class="reason"><?php echo $row['reason']; ?></td> <td class="status"><?php echo $row['status']; ?></td> </tr> <?php endwhile; ?> <tr> <td colspan="4" style="text-align: center;"> <input type="submit" name="cmd" value="edit" /> </td> </tr> </tbody> </table> </form> <? if ($_POST["$submit"]) { $website = $_POST["website"]; $reason = $_POST["reason"]; $status = $_POST["status"]; $sql = "UPDATE downloads SET website='$website',message='$reason',who='$status' WHERE id=$id"; //replace news with your table name above $result = mysql_query($sql); echo "Thank you! Information updated."; } } ?> This is my submit form (which contains the options, I've only displayed the html to shorten the code): <form id="login" name="login" method="post" action="manage.php"> <input name="posting" type="hidden" id="posting" value="yes" /> Reason:<BR> <select name="reason" id="reason" >//Options for Reason <option value="Nulled">Nulled</option> <option value="Reselling">Reselling</option> <option value="No License">No License</option> </select> <BR>Website Url:<BR> <input name="website" type="text" id="website" value="http://www." /> <BR>Status:<BR> <select name="status" id="status" >//Options for Status <option value="Pending Action">Pending Action</option> <option value="DMCA Sent">DMCA Sent</option> <option value="CLOSED">CLOSED</option> </select><BR> <BR> <input type="submit" name="submit" value="Add" class="submit" /></p> </form> <p> Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-874029 Share on other sites More sharing options...
newbtophp Posted July 13, 2009 Author Share Posted July 13, 2009 I dont want to come accross as demanding or inpatient. But anyone want to help me? :-\ Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-874759 Share on other sites More sharing options...
newbtophp Posted July 15, 2009 Author Share Posted July 15, 2009 Can someone help? Quote Link to comment https://forums.phpfreaks.com/topic/164788-editing-mysql-help/#findComment-875809 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.