Jump to content

snteran

Members
  • Posts

    26
  • Joined

  • Last visited

    Never

Everything posted by snteran

  1. I had to revisit my code and wanted to make sure I posted the final copy of code that I am using in production. $search = $_POST['search']; $val = "'%$keyword%'"; // The below query is used for category searches switch($search) { case 'category' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date, itc_tickets.description FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.ticket_category = '$category' AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; case 'keyword' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date, itc_tickets.description FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.description LIKE $val AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; if($result = mysql_query($query_asset_details)){ if(mysql_num_rows($result) > 0){ break; }else{ $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date, itc_tickets.description FROM itc_tickets, itc_priority_listing, itc_status_listing, itc_tickets_notes WHERE itc_tickets_notes.notes_body LIKE $val AND itc_tickets.ticket_nbr = itc_tickets_notes.ticket_nbr AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; } } break; case 'user': // The below query is for user searches $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date, itc_tickets.description FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.issued_by LIKE '$user' AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; } $asset_details = mysql_query($query_asset_details, $itc_admin) or die(mysql_error()); $row_asset_details = mysql_fetch_assoc($asset_details); if (!$row_asset_details) { // Do something when data wasn't found $errorMessage .="No tickets found for that search criteria.<br>"; include 'search.php'; // Show the form again! exit; } $totalRows_asset_details = mysql_num_rows($asset_details); $description = ($row_asset_details['description']);
  2. We got it! Thanks for the help. I figured there had to be a way to pass the value, I was just not sure how to pass it through. if (isset($_GET['orderby'])) { $valid = array('itc_tickets.ticket_priority','itc_tickets.ticket_status','itc_tickets.ticket_category','itc_tickets.lastupdt_date'); // valid fields. if (in_array($_GET['orderby'],$valid)) { $orderby = $_GET['orderby']; } else { $orderby = 'itc_status_listing.status_level'; // default. } } else { $orderby = 'itc_status_listing.status_level'; // default. } $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date, itc_tickets.description FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.ticket_status = 'closed' AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY $orderby ASC, itc_priority_listing.priority_level ASC, itc_tickets.create_date DESC, itc_tickets.ticket_nbr ASC LIMIT $recordstart, $pagesize"; $result = mysql_query($query_asset_details) or die("Error: " . mysql_error()); And then here are the links. <?php echo "Order by <a href='?orderby=itc_tickets.ticket_priority'>Priority</a> |"; echo "Order by <a href='?orderby=itc_tickets.ticket_category'>Category</a> |"; echo "Order by <a href='?orderby=itc_tickets.lastupdt_date'>Last Updated</a>"; ?> the page is a bit messy, but it works. Thanks again!
  3. Yes, I have a page called Closed.php and within that page I have all the code for the links. The only code is what I have shown. <td align="center">Sort by: <a href=\"<?php echo ".$_SERVER['PHP_SELF']."?sort=itc_tickets.ticket_status?>">Status</a></td>
  4. I have gone through some of the sort postings but I am still unable to get mine to work properly. I imagine since I have been piecing my page together, I have not used a clear cut way of designing my page. The issue is that I'm not a programmer and have limited knowledge of PHP. I seem to be getting the basics but some of the more advanced issues seem to make my head spin. I want to add four links at the top of my page that will allow the user to select which way they want to sort. I was just going to start with one and then I would be able to duplicate as needed. <td align="center">Sort by: <a href=\"<?php echo ".$_SERVER['PHP_SELF']."?sort=itc_tickets.ticket_status\?>">Status</a></td> My select code is as follows: $sort = (isset($_GET['sort'])) ? $_GET['sort'] : "itc_status_listing.status_level"; $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date, itc_tickets.description FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.ticket_status = 'closed' AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY $sort ASC, itc_priority_listing.priority_level ASC, itc_tickets.create_date DESC, itc_tickets.ticket_nbr ASC LIMIT $recordstart, $pagesize"; $result = mysql_query($query_asset_details) or die("Error: " . mysql_error()); Now I would think with the a href the user would click on the option and then the isset would allow for the order by to be altered to the desired sort option. Of course my <a href is not working and I'm not sure how to add the php code to make it work. Any help would be greatly appreciated.
  5. Well, I was able to change the query to get it to work. Thank you everyone for your help, especially sasa. Your idea for finding it in an array got me to thinking that it would be best to setup my query that way. I am new to PHP and do not have much experience with Arrays so after some research I was able to find a method to setup the query to pull data as an array. <?php mysql_select_db($database_itc_admin, $itc_admin); $max_query = "SELECT max(ticket_nbr) as tkt FROM itc_tickets"; $max_res = mysql_query($max_query, $itc_admin) or die(mysql_error()); $max_row = mysql_fetch_array($max_res); if (isset($_SERVER['QUERY_STRING'])) { header("Location:view_ticket.php?ticket_nbr={$max_row['tkt']}"); } } ?> Now my only issue is that it works fine on my 4.1 version of MySQL but not with my 5.0 version of MySQL. I get the following error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1. This might be for another forum. I seriously would like to thank everyone for helping with this issue. It's nice to have a forum where you can ask a question and actually get help. An excellent place to learn, share and develop.
  6. Thanks for the replys. I did try the last two pieces of code and both did not work. They bring up the url but no ticket #. Perhaps I need to change the mysql query. I'll try somethings, but again, I'm new so any help would be great. Thanks
  7. I get the same error: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
  8. Thanks for the fast reply. I did try the code and it did not bring up the page correctly. For the new URL you get: view_ticket.php?ticket_nbr='' Perhaps there is something wrong with my select query? I'm not sure if it is needed, but here is the whole section of this entry. <?php function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue; switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "newticket")) { $insertSQL = sprintf("INSERT INTO itc_tickets (ticket_status, ticket_category, ticket_category_other, ticket_priority, issued_by, assetid, description, assigned_to, create_usr, lastupdt_usr, create_date) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())", GetSQLValueString($_POST['ticket_status'], "text"), GetSQLValueString($_POST['ticket_category'], "text"), GetSQLValueString($_POST['ticket_category_other'], "text"), GetSQLValueString($_POST['ticket_priority'], "text"), GetSQLValueString($_POST['issued_by'], "text"), GetSQLValueString($_POST['assetid'], "int"), GetSQLValueString($_POST['description'], "text"), GetSQLValueString($_POST['assigned_to'], "text"), GetSQLValueString($_POST['current_usr'], "text"), GetSQLValueString($_POST['current_usr'], "text")); mysql_select_db($database_itc_admin, $itc_admin); $Result1 = mysql_query($insertSQL, $itc_admin) or die(mysql_error()); mysql_select_db($database_itc_admin, $itc_admin); $max_query = "SELECT max(ticket_nbr) FROM itc_tickets"; $max_row = mysql_query($max_query, $itc_admin) or die(mysql_error()); $max_ticket = mysql_fetch_assoc($max_row); $totalRows_max = mysql_num_rows($max_row); $insertGoTo = "view_ticket.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= "?" . "ticket_nbr={$max_ticket['ticket_nbr']}"; } header(sprintf("Location: %s", $insertGoTo)); } ?>
  9. I have created a form and after the user completes the form I have the ticket that was created displayed. I have posted the mysql query and the redirect. I am fairly new to php and most of my code is from a previous application that I am redoing. here is the code. mysql_select_db($database_itc_admin, $itc_admin); $max_query = "SELECT max(ticket_nbr) FROM itc_tickets"; $max_row = mysql_query($max_query, $itc_admin) or die(mysql_error()); $max_ticket = mysql_fetch_assoc($max_row); $totalRows_max = mysql_num_rows($max_row); $insertGoTo = "view_ticket.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= "?" . "ticket_nbr='$max_ticket['ticket_nbr']'"; << receive error here } header(sprintf("Location: %s", $insertGoTo)); Thanks
  10. I tried something and it did not help, I was hoping to see if what I tried is just added wrong. In the existing code there is a function that I believe helps prevent mysql injections. The function is called GetSQLValueString, code: function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue; switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } I figured this should clean up the description text so that no characters would cause a problem. I also added after my mysql query. $description = GetSQLValueString($row_asset_details['description'], "text"); I know that $description has the right information, I'm just not sure that I'm running it through the function correctly or if in fact I have other issue with the text that is not showing up. Please let me know if anyone needs further information. Thanks
  11. I was able to utilize overlib to help create pop up windows for selected rows of data. However not all of the pop ups are working, my guess is that some of the information in the select statement is causing an issue. Mysql code: <?php // The below query is used for category searches switch($search) { case 'category' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date, itc_tickets.description FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.ticket_category = '$category' AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; case 'keyword' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date, itc_tickets.description FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.description LIKE $val AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; if($result = mysql_query($query_asset_details)){ if(mysql_num_rows($result) > 0){ break; }else{ $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date, itc_tickets.description FROM itc_tickets, itc_priority_listing, itc_status_listing, itc_tickets_notes WHERE itc_tickets_notes.notes_body LIKE $val AND itc_tickets.ticket_nbr = itc_tickets_notes.ticket_nbr AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; } } break; case 'user': // The below query is for user searches $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date, itc_tickets.description FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.issued_by LIKE '$user' AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; } $asset_details = mysql_query($query_asset_details, $itc_admin) or die(mysql_error()); $row_asset_details = mysql_fetch_assoc($asset_details); if (!$row_asset_details) { // Do something when data wasn't found $errorMessage .="No tickets found for that search criteria.<br>"; include 'search.php'; // Show the form again! exit; } $totalRows_asset_details = mysql_num_rows($asset_details); ?> PHP code: <td><a href="javascript:void(0);" onmouseover="return overlib('<?php echo $row_asset_details['description']?>');" onmouseout="return nd();"><div align="center"><?php echo $row_asset_details['ticket_nbr']; ?></div></a></td> Here is a description that is not showing. We are experiencing a date format issue again and was hoping you could fix again. The import from Solomon to Custom came over with the wrong date format. The import from Solomon is a four digit year and it needs to be only two digits. We can fix the import format, but we need help removing the imported items from Custom. If you need to see the date format that I am talking about, please reference in R - I - CL3ULT012, you will see that the format is incorrect and needs to be removed. Sorry about this, evidently this happened earlier so hopefully it should be an easy fix for you. example: CL3ULT012 NA 012964 324013 10/31/05 PH 1890.00 0.170 321.30 ? CL3ULT012 NA 013154 13154 11/7/200 RC 2700.00 0.183 494.10 ? Thanks for any help.
  12. Never mind, slight over sight by the old man. It helps to put in the select for the description in all queries. The above code works fine. Now I have to convert all descriptions into text so it will display.
  13. I am trying to implement some pop up windows for our ticket system. I wanted to be able to show the description of a ticket in a tooltip area from the database. When you do a search you only see the ticket number, date created and user and wanted to show the description in a pop to show what is in the ticket. I'm trying to use Overlib by Erik Bosrup Here is the code for the DB queries: switch($search) { case 'category' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date, itc_tickets.description FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.ticket_category = '$category' AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; case 'keyword' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.description LIKE $val AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; if($result = mysql_query($query_asset_details)){ if(mysql_num_rows($result) > 0){ break; }else{ $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date, itc_tickets.description FROM itc_tickets, itc_priority_listing, itc_status_listing, itc_tickets_notes WHERE itc_tickets_notes.notes_body LIKE $val AND itc_tickets.ticket_nbr = itc_tickets_notes.ticket_nbr AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; } } break; case 'user': // The below query is for user searches $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date, itc_tickets.description FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.issued_by LIKE '$user' AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; } $asset_details = mysql_query($query_asset_details, $itc_admin) or die(mysql_error()); $row_asset_details = mysql_fetch_assoc($asset_details); if (!$row_asset_details) { // Do something when data wasn't found $errorMessage .="No tickets found for that search criteria.<br>"; include 'search.php'; // Show the form again! exit; } $totalRows_asset_details = mysql_num_rows($asset_details); Then I have added my information in the <header> section and then right after the <body> tag. <script type="text/javascript" src="../includes/overlib.js"></script> and : <div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div> And here is the mouseover code - <td><a href="javascript:void(0);" onmouseover="return overlib('<?php echo $row_asset_details['description']?>');" onmouseout="return nd();"><div align="center"><?php echo $row_asset_details['ticket_nbr']; ?></div></a></td> I do get the page to load but the pop up does not appear. I have checked the src link and it is correct, I put an image in the folder and was able to display the photo using the same src link. Thanks,
  14. I have inherited some php code that I am trying to update. The issue is that I am very new to programming and php, I have had some experience with html and seen php but never really worked with it. I am hoping to become stronger at php but need some help getting started. I was hoping to post some code and hopefully get some explanation as to what is going on. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue; switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "edit_notes")) { $updateSQL = sprintf("UPDATE itc_tickets SET lastupdt_date=NOW(), lastupdt_usr=%s WHERE ticket_nbr=%s", <----- code ? GetSQLValueString($_POST['current_usr'], "text"), GetSQLValueString($_POST['ticket_nbr'], "int")); mysql_select_db($database_itc_admin, $itc_admin); $Result1 = mysql_query($updateSQL, $itc_admin) or die(mysql_error()); } another example: mysql_select_db($database_itc_admin, $itc_admin); $query_ticket_notes = sprintf("SELECT recordid, ticket_nbr, notes_body, create_date, create_user FROM itc_tickets_notes WHERE recordid = %s <----code ? ORDER BY create_date DESC", $colname_ticket_notes); $ticket_notes = mysql_query($query_ticket_notes, $itc_admin) or die(mysql_error()); $row_ticket_notes = mysql_fetch_assoc($ticket_notes); $totalRows_ticket_notes = mysql_num_rows($ticket_notes); What I am trying to do is edit an existing note that was added to a ticket. I was able to make available for admin users the ability to edit notes, I have a link that goes to an edit_note.php page. I basically am using an existing page that was used to add notes and I am trying to edit it to work for my purposes. (Hack 101) In the above code, I don't understand the "ticket_nbr=%s" entry. I see how they use the "%s" throughout the code but I don't understand how a value is assigned to that part of the equation. I would be happy to add entire code, but not sure if that would be over kill. thanks, Sergio
  15. It just seemed so obvious....I got a long way to go. Thanks <?php case 'keyword' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.description LIKE $val AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; if($result = mysql_query($query_asset_details)){ if(mysql_num_rows($result) > 0){ break; }else{ $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date FROM itc_tickets, itc_priority_listing, itc_status_listing, itc_tickets_notes WHERE itc_tickets_notes.notes_body LIKE $val AND itc_tickets.ticket_nbr = itc_tickets_notes.ticket_nbr AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; } } break; ?>
  16. OK, well I figured out the first part of my issue. In my initial search page, I have two sections, first is the radio button and then I have the select criteria. I did not have a default radio button selected. However, I would like to find a dynamic way of switching the radio button based off of information entered in the select criteria section. Moving on with the solution, or first part, I then added the checked parameter for the radio button and then found my issue in my php code. In my select statements I did not have single quotes around two of my variables. I was able to figure this out, very nice feeling. <?php $keyword = $_POST['keyword']; $category = $_POST['ticket_category']; $user = $_POST['issued_by']; $search = $_POST['search']; $val = "'%$keyword%'"; //print_r($val); //print_r($category); // The below query is used for category searches switch($search) { case 'category' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.ticket_category = '$category' AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; case 'keyword' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.description LIKE $val AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; case 'user': // The below query is for user searches $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.issued_by LIKE '$user' AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; } $asset_details = mysql_query($query_asset_details, $itc_admin) or die(mysql_error()); $row_asset_details = mysql_fetch_assoc($asset_details); if (!$row_asset_details) { // Do something when data wasn't found $errorMessage .="No tickets found for that search criteria.<br>"; include 'search.php'; // Show the form again! exit; } $totalRows_asset_details = mysql_num_rows($asset_details); ?> However I do have another question to one of my switch statements. In our ticket system, we store our initial tickets in one table and then any additional notes in another table, I would like to first query the main section and if there is a NULL result to then query the notes table. Keyword search. case 'keyword' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.description LIKE $val AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; Thanks,
  17. Form code: <form method="post" action="search_verify2.php"> <table border="1" cellpadding="0" cellspacing="0" width="400" bordercolor="#6600ff"> <tr> <td align="center" class="style9"><input type="radio" name="search" value="keyword"></td> <td align="left" class="style9">Search a word:</td> <td valign='top' align="left"><input type='text' name="keyword" id="keyword" size=26 maxlength=56></td> </tr> <tr> <td align="center" class="style9"><input type="radio" name="search" value="user"></td> <td align='left' class="style9">Search by User:</td> <td ><select name="issued_by" id="issued_by"> <?php do { ?> <option value="<?php echo $row_itc_users['issued_by']?>"><?php echo $row_itc_users['issued_by']?></option> <?php } while ($row_itc_users = mysql_fetch_assoc($itc_users)); $rows = mysql_num_rows($itc_users); if($rows > 0) { mysql_data_seek($itc_users, 0); $row_itc_users = mysql_fetch_assoc($itc_users); } ?> </select></td> </tr> <tr> <td align="center" class="style9"><input type="radio" name="search" value="category"></td> <td align="left" class="style9">Search a Category:</td> <td valign='top' align="left"><select name="ticket_category" id="ticket_category"> <option value="Custom">Custom</option> <option value="Email">Email</option> <option value="Hardware">Hardware</option> <option value="Internet">Internet</option> <option value="Network">Network</option> <option value="Office App">Office Application</option> <option value="OS">Operating System</option> <option value="Printer">Printer</option> <option value="Solomon">Solomon</option> <option value="Phone">Phone / XO</option> <option value="Other">Other</option></td> </tr> <tr> <td align='center'> </td> <td align="center" colspan="2"> <input type='submit' value='Go Find'></td> </tr> </table> </form> verify code <?php // verify user has proper clearence require_once($_SERVER['DOCUMENT_ROOT'].'/test/Connections/itc_admin.php'); @session_start(); $errorMessage = null; ?> <?php $keyword = $_POST['keyword']; $category = $_POST['ticket_category']; $user = $_POST['issued_by']; $search = $_POST['search']; // The below query is used for category searches switch($search) { case 'category' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.ticket_category = '$category' AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; case 'keyword' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.description LIKE $keyword AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; case 'user': // The below query is for user searches $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.issued_by LIKE $user AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; } $asset_details = mysql_query($query_asset_details, $itc_admin) or die(mysql_error()); $row_asset_details = mysql_fetch_assoc($asset_details); if (!$row_asset_details) { // Do something when data wasn't found $errorMessage .="No tickets found for that search criteria. "; include 'search.php'; // Show the form again! exit; } $totalRows_asset_details = mysql_num_rows($asset_details); ?> Sorry about that, will make sure to add code correctly next time.
  18. I had made a very simple search page about a year ago and now I'm trying to add a couple of things and the first step was to add the ability to search by user. I thought I would use a switch command to select the query and then fill my table based off of the selection. Here is the form: <form method="post" action="search_verify2.php"> <table border="1" cellpadding="0" cellspacing="0" width="400" bordercolor="#6600ff"> <tr> <td align="center" class="style9"><input type="radio" name="search" value="keyword"></td> <td align="left" class="style9">Search a word:</td> <td valign='top' align="left"><input type='text' name="keyword" id="keyword" size=26 maxlength=56></td> </tr> <tr> <td align="center" class="style9"><input type="radio" name="search" value="user"></td> <td align='left' class="style9">Search by User:</td> <td ><select name="issued_by" id="issued_by"> <?php do { ?> <option value="<?php echo $row_itc_users['issued_by']?>"><?php echo $row_itc_users['issued_by']?></option> <?php } while ($row_itc_users = mysql_fetch_assoc($itc_users)); $rows = mysql_num_rows($itc_users); if($rows > 0) { mysql_data_seek($itc_users, 0); $row_itc_users = mysql_fetch_assoc($itc_users); } ?> </select></td> </tr> <tr> <td align="center" class="style9"><input type="radio" name="search" value="category"></td> <td align="left" class="style9">Search a Category:</td> <td valign='top' align="left"><select name="ticket_category" id="ticket_category"> <option value="Custom">Custom</option> <option value="Email">Email</option> <option value="Hardware">Hardware</option> <option value="Internet">Internet</option> <option value="Network">Network</option> <option value="Office App">Office Application</option> <option value="OS">Operating System</option> <option value="Printer">Printer</option> <option value="Solomon">Solomon</option> <option value="Phone">Phone / XO</option> <option value="Other">Other</option></td> </tr> <tr> <td align='center'> </td> <td align="center" colspan="2"><br /><input type='submit' value='Go Find'></td> </tr> </table> </form> The form appears on the website fine, and then when I process I keep getting errors: Notice: Undefined index: search in C:\AMP\Apache2\htdocs\test\tickets\search_verify2.php on line 26 Notice: Undefined variable: query_asset_details in C:\AMP\Apache2\htdocs\test\tickets\search_verify2.php on line 43 Query was empty Here is the info on my search_verify2.php page - <?php // verify user has proper clearence require_once($_SERVER['DOCUMENT_ROOT'].'/test/Connections/itc_admin.php'); @session_start(); $errorMessage = null; ?> <?php $keyword = $_POST['keyword']; $category = $_POST['ticket_category']; $user = $_POST['issued_by']; $search = $_POST['search']; // The below query is used for category searches switch($search) { case 'category' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.ticket_category = '$category' AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; case 'keyword' : $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.description LIKE $keyword AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; case 'user': // The below query is for user searches $query_asset_details="SELECT itc_tickets.ticket_nbr, itc_tickets.ticket_status, itc_tickets.ticket_category, itc_tickets.ticket_priority, itc_tickets.issued_by, itc_tickets.assigned_to, itc_tickets.lastupdt_date, itc_tickets.create_date FROM itc_tickets, itc_priority_listing, itc_status_listing WHERE itc_tickets.issued_by LIKE $user AND itc_tickets.ticket_priority = itc_priority_listing.priority_name AND itc_tickets.ticket_status = itc_status_listing.status_name ORDER BY itc_status_listing.status_level ASC, itc_tickets.create_date DESC, itc_priority_listing.priority_level ASC, itc_tickets.ticket_nbr ASC"; break; } $asset_details = mysql_query($query_asset_details, $itc_admin) or die(mysql_error()); $row_asset_details = mysql_fetch_assoc($asset_details); if (!$row_asset_details) { // Do something when data wasn't found $errorMessage .="No tickets found for that search criteria.<br>"; include 'search.php'; // Show the form again! exit; } $totalRows_asset_details = mysql_num_rows($asset_details); ?>
  19. I have been having this issue forever and could never figure out how to fix. Thanks for the easy fix. I'm a newbie and I appreciate the easy fast solutions.
  20. I am trying to load this free script that I found for a sales management system, something like ACT! or Goldmine and I am getting an error. Fatal error: Cannot redeclare CSQLAdmin::$functions in C:\AMP\Apache2\htdocs\sms\lib\sqladmin.php on line 33 Here is the code from the sqladmin.php file ( I colored line 33 in Red): <?php /** */ class CSQLAdmin extends CLibrary { /** * description * * @var type * * @access type */ var $form; /** * description * * @var type * * @access type */ var $functions; /** * description functions list which will be executed in variouse points of sqladmin * * @var type * * @access type */ [!--coloro:#FF0000--][span style=\"color:#FF0000\"][!--/coloro--]var $functions;[!--colorc--][/span][!--/colorc--] function CSQLAdmin($section , $templates , $db , $tables , $extra = "") { global $_CONF; if (!$_GET["page"]) $_GET["page"] = 1; parent::CLibrary("SQLAdmin"); //checking if the templates are orblects or path to a template file if (!is_array($templates)) //if path the load the tempmate form that file $this->templates = array("generic_form" => new CTemplate($templates)); else $this->templates = $templates; $this->db = $db; $this->tables = $tables; //extra variables to be passed to cform $this->extra = $extra; I do have some PHP experience but not much at all with functions. thanks, Serge
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.