PHP - Hows Does Unread/read Work?
Im working on my own (basic) forum sofware how would I determine if the user has read or unread the topic? (like SMF has a specific icon when viewing the forum/topic list which represents theirs unread topics within this forum).
Similar TutorialsHi, I am learning pdo php and mysql
I would like to know how to see whether a record has been read or not. I have a database messages with id, user_id, contact_id, login, msg, rrecord and msgtime.
The rrecord column has been set as 0 as default. When the client clicks the msg link, I would like it to update the rrecord to 1.
Thanks.
Hello. My first topic here was about getting the amount of unread messages. I'm now working on showing the unread messages in the inbox. Let's say we have 2 users. User1 sends user2 a message with the title: this is a title. User2 read the message and replied. User1 now has to see: this is a title. This is the code in: class Pm {} public function get_unread_pm() { $stmt = $this->db->prepare(' SELECT pm.title, pm.sender_id, pm.timestamp, (SELECT COUNT(pm2.id) FROM pm as pm1, pm as pm2 WHERE pm1.parent_id=pm2.id) AS replies, u.username as sender FROM pm LEFT JOIN users AS u ON u.id=pm.sender_id WHERE pm.receiver_id=:user_id AND pm.unread=1 AND pm.parent_id=pm.id'); $stmt->bindParam('user_id', $_SESSION['userid']); $stmt->execute(); return $stmt->fetchAll(); } I now get the original message because of the pm.parent=pm.id, but I want to get the message where the parent_id of a reply is the same parent_id as where the parent_id is equal to it's id. I think a less complicated description is: How do I get the last reply instead of the original message?
parent_id: When I reply to a message, my id still counts up, the parent_id is the id of the original message. This is what my data-table looks like:
The content:
If I'm doing this stuff really inefficient, I would be happy to know how to make it better Fabian Edited September 19, 2019 by FabelI cant get this to work and I found a host with imap-ssl here is my code though i've been messing around with it. It cant get the imap_open to work. Code: [Select] $mbox = imap_open ("{imap.gmail.com:993/imap/ssl/novalidate-cert/norsh}Inbox", "username", "password", OP_READONLY) or die("can't connect: " . imap_last_error()); $check = imap_mailboxmsginfo($mbox); echo $check->Unread; / Please please help. Thanks I am trying to run this but it wont work. I get the following error. Warning: imap_open() [function.imap-open]: Couldn't open stream {imap.gmail.com:993/imap/ssl/novalidate-cert/norsh}Inbox in /home/u984345410/public_html/default.php Here is a snipit of the code Code: [Select] function CountUnreadMails($login, $passwd) { $mbox = imap_open("{imap.gmail.com:993/imap/ssl/novalidate-cert/norsh}Inbox", $login, $passwd, OP_READONLY); $count = 0; if (!$mbox) { echo "Error"; } else { $headers = imap_headers($mbox); foreach ($headers as $mail) { $flags = substr($mail, 0, 4); $isunr = (strpos($flags, "U") !== false); if ($isunr) $count++; } } imap_close($mbox); return $count; } Hey, im trying to create a little function that displays how many unread messages a user has this is my function Code: [Select] function unread() { $sql_pm_r = mysql_query("SELECT COUNT(*) FROM messages WHERE reciever=" . $user . " AND recieved='0'"); $num_rows = mysql_num_rows($sql_pm_r); $sql_pm_check = mysql_query("SELECT id FROM messages WHERE reciever=" . $user . " AND recieved='0' LIMIT 1"); $num_new_pm = mysql_num_rows($sql_pm_check); if ($num_new_pm > 0) { $pms = '<a href="inbox.php" >('.$num_rows.')</a>'; } else { $pms = '<a href="inbox.php" >(0)</a>'; } echo $pms; }and i'm calling it on the index page as normal like Code: [Select] unread(); However not matter how many unread messages i have, i always get (0), this is how my sql table looks id reciever sender subject message recieved Hello World ! i got this script of PM system on my website where 2 or 3 users can send PM to each other it work ok but it <?php header : PM (unread count) $msgs_count = GetUnreadMessagesCount($session_user["id"]); and got this in the Index header : PM <span>( <?=$msgs_count;?> )</span> /* Hello World ! i got a website where 2 or 3 users can create and send PM everything work good but have this bug . */ Example message thread#id1 Sender: A send the message to B & C ok now B & C got PM (1) B make reply to this PM and C the same now the bug is userA will have PM(2) like he have 2unread messages but is different reply in the same message so need to count only (1) by Thread not reply ok if A read it and send new reply now B & C will have PM (3) i hope someone can help me with this code thank you ! this is message_tbl for database <?php $tbl_messages_fields = array( "id" => "INTEGER PRIMARY KEY AUTO_INCREMENT", "threadId" => "INT(11)", "type" => "VARCHAR(4)", "heldById" => "INT", "fromId" => "INT", "toId" => "VARCHAR(32)", "isRead" => "INT(1) $d0", "isStarred" => "INT(1) $d0", "isDeleted" => "INT(1) $d0", "subject" => "VARCHAR(150)", "message" => "VARCHAR(10000)", "timestamp" => "INT(12)"); SetupTable('tbl_messages', $tbl_messages_fields); function UpdateMessageField($conditions, $field, $value){ global $dbPrep; $add = array(); foreach($conditions as $key=>$val){ $add[] = "`$key`=:$key"; } $add = implode(" AND ", $add); $sql = "UPDATE `tbl_messages` SET $field=:$field WHERE $add"; $query = $dbPrep->prepare($sql); $data = array_merge($conditions, array("$field"=>$value)); $query->execute($data); } function GetMessagesQuery($data = array(), $complexConditions = "", $extra = ""){ $dbPrep = GetDatabaseConnection(); $sql = "SELECT * FROM `tbl_messages` "; $add = " "; foreach($data as $key=>$value){ $add.= "AND `$key`=:$key "; } $add = ($add != " ") ? "WHERE" . substr($add, 4, strlen($add)) : $add; $sql.= $add." ".$complexConditions." ".$extra; $query = $dbPrep->prepare($sql); $query->execute($data); return GetRows($query); } function GetThreadQuery($conditions = array(), $complexConditions = "", $extra = ""){ global $dbPrep; $add = array(); foreach($conditions as $key=>$val){ $add[] = "`$key`=:$key"; } $add = implode(" AND ", $add); $sql = "SELECT a.*, b.username AS fromUsername, b.type AS fromType FROM `tbl_messages` AS a "; $sql .= "INNER JOIN `tbl_users` AS b ON a.fromId=b.id "; $sql .= "WHERE $add ORDER BY timestamp ASC"; #echo $sql; $query = $dbPrep->prepare($sql); $query->execute($conditions); return GetRows($query); } $p_NewMessage = $dbPrep->prepare("INSERT INTO `tbl_messages` (type, threadId, heldById, fromId, toId, subject, message, timestamp) VALUES (:type, :threadId, :heldById, :fromId, :toId, :subject, :message, :timestamp);"); $sql = "SELECT a.*, b.type as fromType FROM `tbl_messages` AS a "; $sql .= "INNER JOIN `tbl_users` AS b ON a.fromId=b.id "; $sql .= "WHERE threadId=:id AND heldById=:heldById AND isDeleted=0 ORDER BY timestamp ASC"; $p_GetSingleMessage = $dbPrep->prepare($sql); function UnDeleteThread($threadId, $heldById){ global $dbPrep; $p_UnDeleteThread = $dbPrep->prepare("UPDATE `tbl_messages` SET isDeleted=0,isRead=0 WHERE threadId=:threadId AND heldById=:heldById"); $p_UnDeleteThread->execute(array("threadId"=>$threadId, "heldById"=>$heldById)); } function GetRecipients($sessId, $fromId, $toId){ $allParties = $sessId . "," . $fromId . "," . $toId; $arr = array_unique(explode(",", $allParties)); if (($key = array_search($sessId, $arr)) !== false) { unset($arr[$key]); } return implode (",", $arr); } function GetRecipientName($id){ global $dbPrep; $sql = "SELECT username FROM `tbl_users` WHERE id=:id"; $query = $dbPrep->prepare($sql); $query->execute(array("id"=>$id)); $row = $query->fetch( PDO::FETCH_ASSOC ); return $row["username"]; } function GetRecipientNames($recipients){ $all = explode(",", $recipients); $val = array(); foreach ($all as $a){ $val[] = GetRecipientName($a); } return $val; } $p_GetUnreadMessagesCount = $dbPrep->prepare("SELECT COUNT(*) FROM `tbl_messages` WHERE isRead=0 AND heldById=:heldById AND type='recv'"); $unreadMsgsCount = -1; function GetUnreadMessagesCount($uid){ global $unreadMsgsCount; global $p_GetUnreadMessagesCount; if($unreadMsgsCount == -1){ $p_GetUnreadMessagesCount->execute(array("heldById"=>$uid)); $unreadMsgsCount = $p_GetUnreadMessagesCount->fetch( PDO::FETCH_ASSOC ); $unreadMsgsCount = $unreadMsgsCount["COUNT(*)"]; } return $unreadMsgsCount; } function GetNewThreadId(){ global $dbPrep; $threadId = 1; $p_GetLatestThreadId = $dbPrep->prepare("SELECT MAX(threadId) FROM `tbl_messages`"); $p_GetLatestThreadId->execute(); $latestThreadId = $p_GetLatestThreadId->fetch( PDO::FETCH_ASSOC ); if($latestThreadId){ $threadId = $latestThreadId["MAX(threadId)"]+1; } return $threadId; } ?> if(isset($_REQUEST["mark_read"])){ if(isset($_REQUEST["message_all_toggle"])) foreach($_REQUEST["message_all"] as $m) SetNotificationRead($m, $session_user["id"], 1); elseif(isset($_REQUEST["message"])) foreach($_REQUEST["message"] as $m) SetNotificationRead($m, $session_user["id"], 1); else foreach($_REQUEST["message_all"] as $m) SetNotificationRead($m, $session_user["id"], 1); } if(isset($_REQUEST["mark_unread"])){ if(isset($_REQUEST["message_all_toggle"])) foreach($_REQUEST["message_all"] as $m) SetNotificationRead($m, $session_user["id"], 0); elseif(isset($_REQUEST["message"])) foreach($_REQUEST["message"] as $m) SetNotificationRead($m, $session_user["id"], 0); else foreach($_REQUEST["message_all"] as $m) SetNotificationRead($m, $session_user["id"], 0); } if(isset($_REQUEST["delete"])){ if(isset($_REQUEST["message_all_toggle"])) foreach($_REQUEST["message_all"] as $m) RemoveNotificationById($m, $session_user["id"]); elseif(isset($_REQUEST["message"])) foreach($_REQUEST["message"] as $m) RemoveNotificationById($m, $session_user["id"]); } } else { if(isset($_REQUEST["delete"])){ if(is_numeric($_REQUEST["delete"])){ UpdateMessageField(array("threadId"=>$_REQUEST["delete"], "heldById"=>$session_user["id"]), "isStarred", 0); UpdateMessageField(array("threadId"=>$_REQUEST["delete"], "heldById"=>$session_user["id"]), "isDeleted", 1); UpdateMessageField(array("threadId"=>$_REQUEST["delete"], "heldById"=>$session_user["id"]), "isRead", 1); }elseif(isset($_REQUEST["message_all_toggle"])){ $messages = $_REQUEST["message_all"]; foreach($messages as $m){ UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isStarred", 0); UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isDeleted", 1); UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isRead", 1); } }elseif(isset($_REQUEST["message"])){ $messages = $_REQUEST["message"]; foreach($messages as $m){ UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isStarred", 0); UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isDeleted", 1); UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isRead", 1); } } } if(isset($_REQUEST["messagestar"])){ if(isset($_REQUEST["message_all_toggle"])){ $messages = $_REQUEST["message_all"]; foreach($messages as $m){ UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isStarred", 1); } }elseif(isset($_REQUEST["message"])){ $messages = $_REQUEST["message"]; foreach($messages as $m){ UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isStarred", 1); } } } if(isset($_REQUEST["deletestarred"])){ if(isset($_REQUEST["message_all_toggle"])){ $messages = $_REQUEST["message_all"]; foreach($messages as $m){ UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isStarred", 0); } }elseif(isset($_REQUEST["message"])){ $messages = $_REQUEST["message"]; foreach($messages as $m){ UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isStarred", 0); } } } if(isset($_REQUEST["mark_unread"])){ if(isset($_REQUEST["message_all_toggle"])){ $messages = $_REQUEST["message_all"]; foreach($messages as $m){ UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isRead", 0); } }elseif(isset($_REQUEST["message"])){ $messages = $_REQUEST["message"]; foreach($messages as $m){ UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isRead", 0); } } } if(isset($_REQUEST["mark_read"])){ if(isset($_REQUEST["message_all_toggle"])){ $messages = $_REQUEST["message_all"]; foreach($messages as $m){ UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isRead", 1); } }elseif(isset($_REQUEST["message"])){ $messages = $_REQUEST["message"]; foreach($messages as $m){ UpdateMessageField(array("threadId"=>$m, "heldById"=>$session_user["id"]), "isRead", 1); } } } } $details = isset($_REQUEST["details"])?$_REQUEST["details"]:0; $session_user = GetUserById($session_user["id"]);
Hello,
I try to get website speed of some website, but i can read only ''domain.com'' i can't read website files like css , js ... why ? i use proxies for this job.
here is the php code:
$options = array( 'useragent' => "Firefox (+http://www.firefox.org)", // who am i 'connecttimeout' => 120, // timeout on connect 'timeout' => 120, // timeout on response 'redirect' => 10, // stop after 10 redirects 'referer' => "http://www.google.com", 'proxyhost' =>'85.25.8.14:80' ); $response = http_get("http://solve-ict.com/wp-content/themes/ict%20theme/js/jquery-1.7.1.min.js", $options , $info);but it works fine with http://domain.com/ , but with files css or js it gives 404, using some free proxy servers available ? Thanks. Trying to get this done: Page_1 has many external links, when certain links are clicked i do not want user to go directly to page, but rather go to a special add page_2 where user must click a second time on the link to finally get there. The add page_2 must show on screen the name of the initial link from page_1, it must change accordingly with the link it came from page_1,once on page_2 the hyperlink redirects outside the site. So far i am thinking give an id to the div or "<a href..." on page_1 then somehow have page_2 detect that id and fill in the variable for the final external link. Other wise is there a way to detect a url from incoming? I guess a similar example is how some domain name sellers landing page will indicate the name of the site. Such as "Thisdomain.com" is for sale. same landing page but the name changes according to the domain that was typed. I just had a question for you guys. I am building a forum script and I'm currently stumped on the "show unread posts since last visit" feature. Not sure as to how to code it. Should I be using a mysql database to keep track of them or use cookies some how? Thanks in advanced! I got a question im using izabi for me im one who loves the software. But there some quirks that they forgot to add when making the mail system. I was wondering how it would be possible to code in a peice of php where it says read after someone read the email. If you need a copy of the mail mail script let me know. This one requires lots of up front information: I have a page, for this example that I will call page.php. It takes get parameters, and for this example I'll call the parameter "step". So I have a URL like this: page.php?step=1 This page has a form with an action of page.php?step=1. The code on the page validates the posting information. If the information is bad, it returns the user to page.php?step=1; if it is good, it takes the user to page.php?step=2 via header( "location:page.php?step=2" ). So redirection is done by relative path, not full URLs. This all works as expected. Now what I've done is set .htaccess to be HTTPS for this page, via this code: # Turn SSL on for payments RewriteCond %{HTTPS} off RewriteCond %{SCRIPT_FILENAME} \/page\.php [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] This works (initially). However, once you try to post the form, it just redirects back to the step=1 version of the page. I really don't know how or why that would be. I'm not sure how else I can explain this or what other information you may have. But it's frustrating to not get a page working in HTTPS that works in HTTP. Very odd. Any suggestions? (I don't even really know the best location to figure out when/why it's redirecting back to the original page.) Hi.., I use below method to export data to excel. header('Content-type: application/ms-excel'); header('Content-Disposition: attachment; filename=abc.xls'); if I run the script from the server. (http://localhost/export.php) it is work. (pop-up window if i want save or open the file) but if i run the script from the client (http://192.168.1.5/export.php) it is not work. (nothing happen) any idea how to solve this? require_once 'includes/upload.class.php'; $upload = new uploads(); $details = $upload->getFileInformation($id); <?php echo $details['upload_desc']; ?> then here the class. require_once 'db.class.php'; class uploads extends database { private $uploadData; function uploadFile() { public function getFileInformation($id) { $this->uploadData = $this->readData("uploadfiles", "upload_id", $id); return $this->uploadData; } But it wont work! hi, there is a script or something that can read this file? http://ical.imac.com/ical/portuguese32holidays.ics the ideia is to save all days and holidays for a mysql and then update time to time. thanks for your help Good morning guys. I am pulling data from vehicle tracking site via soap curl. but the data format that I am getting it in is unusable, maybee i am doing something wrong. please have a look. here is the code. <?php //Data, connection, auth $dataFromTheForm = $_POST['fieldName']; // request data from the form $soapUrl = "https://fleet11.******.co.za/api/"; // asmx URL of WSDL $soapUser = "********"; // username $soapPassword = "********"; // password // xml post structure $xml_post_string = '<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="fleet11.cartrack.co.za/api/"> <soapenv:Header/> <soapenv:Body> <api:endpoint.get_vehicle_last_positions soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <username xsi:type="xsd:string">?</username> </api:endpoint.get_vehicle_last_positions> </soapenv:Body> </soapenv:Envelope>'; $headers = array( "Content-type: application/x-www-form-urlencoded", "Accept: text/xml", "Cache-Control: no-cache", "Pragma: no-cache", "SOAPAction: fleet11.******.co.za/api/#get_vehicle_last_positions", "Content-length: ".strlen($xml_post_string), ); $url = $soapUrl; // var_dump($url); $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERPWD, $soapUser.":".$soapPassword); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); `curl_setopt($ch, CURLOPT_HEADER, true);` // converting $response = curl_exec($ch); curl_close($ch); //paul add //echo "<pre>"; print_r($response); What is returning is single line entries QuoteGMT Server: [32] => Apache X-SOAP-Server: [33] => NuSOAP/0.9.5 [34] => (1.123) Content-Length: [35] => 15407 Vary: [36] => Accept-Encoding,User-Agent Access-Control-Allow-Origin: [37] => * Access-Control-Allow-Methods: [38] => POST, [39] => GET, [40] => OPTIONS Access-Control-Allow-Headers: [41] => Origin, [42] => X-Requested-With, [43] => Content-Type, [44] => Accept Access-Control-Allow-Credentials: [45] => true Content-Type: [46] => text/xml; [47] => charset=UTF-8 version="1.0" [49] => encoding="UTF-8"?> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" [51] => xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" [52] => xmlns:xsd="http://www.w3.org/2001/XMLSchema" [53] => xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" [54] => xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" [55] => xmlns:tns="fleet11.cartrack.co.za/api/"> xsi:type="SOAP-ENC:Array" [57] => SOAP-ENC:arrayType="tns:get_vehicle_last_positionsResultType0Row[20]"> xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">115687333 xsi:type="xsd:string">HG07DPGP xsi:type="xsd:string">2020-07-01 [62] => 08:03:32+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.118315 xsi:type="xsd:double">28.162389 xsi:type="xsd:string">0 xsi:type="xsd:string">Greenstone [68] => Hill, [69] => Kempton [70] => Park, [71] => Gauteng, [72] => South [73] => Africa xsi:type="xsd:string">25065631 xsi:type="xsd:string">ADNUSN1D5U0135477 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">115687485 xsi:type="xsd:string">HG07DKGP xsi:type="xsd:string">2020-07-01 [80] => 08:02:56+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.130168 xsi:type="xsd:double">28.159369 xsi:type="xsd:string">0 xsi:type="xsd:string">Diaz [86] => Avenue, [87] => Eastleigh, [88] => Edenvale, [89] => Gauteng, [90] => South [91] => Africa xsi:type="xsd:string">53844088 xsi:type="xsd:string">ADNUSN2D5U0135485 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">116851782 xsi:type="xsd:string">HH65MRGP xsi:type="xsd:string">2020-07-01 [98] => 06:46:10+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.19221 xsi:type="xsd:double">28.226617 xsi:type="xsd:string">0 xsi:type="xsd:string">Pretoria [104] => Road, [105] => Witfield, [106] => Boksburg, [107] => Gauteng, [108] => South [109] => Africa xsi:type="xsd:string">35613090 xsi:type="xsd:string">ADNUSN1D5U0139460 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">124523243 xsi:type="xsd:string">HM02SRGP xsi:type="xsd:string">2020-07-01 [116] => 07:35:45+02 xsi:type="xsd:string"> xsi:type="xsd:double">-25.75936 xsi:type="xsd:double">28.377471 xsi:type="xsd:string">0 xsi:type="xsd:string">Close [122] => to [123] => Mamelodi, [124] => Gauteng, [125] => South [126] => Africa xsi:type="xsd:string">72339064 xsi:type="xsd:string">ABNALGD22ZR114138 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">124523364 xsi:type="xsd:string">HL98BLGP xsi:type="xsd:string">2020-07-01 [133] => 08:04:54+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.111563 xsi:type="xsd:double">28.130599 xsi:type="xsd:string">98 xsi:type="xsd:string">Eastern [139] => Bypass, [140] => Lombardy [141] => East, [142] => Johannesburg, [143] => Gauteng, [144] => South [145] => Africa xsi:type="xsd:string">41388033 xsi:type="xsd:string">ADNUSN1D5U1046692 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">131644752 xsi:type="xsd:string">DZ04YCGP xsi:type="xsd:string">2020-07-01 [152] => 07:12:08+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.058652 xsi:type="xsd:double">27.9626 xsi:type="xsd:string">0 xsi:type="xsd:string">Sharonlea [158] => & [159] => Exts, [160] => Randburg, [161] => Gauteng, [162] => South [163] => Africa xsi:type="xsd:string">99787541 xsi:type="xsd:string">ADNUSN1DSU018112 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">131928943 xsi:type="xsd:string">CM63CKGP xsi:type="xsd:string">2020-07-01 [170] => 08:04:23+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.091137 xsi:type="xsd:double">28.136977 xsi:type="xsd:string">5 xsi:type="xsd:string">Reid [176] => Avenue, [177] => Linbro [178] => Park [179] => AH, [180] => Sandton, [181] => Gauteng, [182] => South [183] => Africa xsi:type="xsd:string">127659623 xsi:type="xsd:string">ADNUSN1D5U0062513 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">131929103 xsi:type="xsd:string">CW94GBGP xsi:type="xsd:string">2020-07-01 [190] => 07:45:08+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.121185 xsi:type="xsd:double">28.037383 xsi:type="xsd:string">0 xsi:type="xsd:string">Zandfontein [196] => 42 [197] => IR [198] => Ext [199] => 42, [200] => Sandton, [201] => Gauteng, [202] => South [203] => Africa xsi:type="xsd:string">90508868 xsi:type="xsd:string">ADNUSN1D5U0072740 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">131929189 xsi:type="xsd:string">DJ17CSGP xsi:type="xsd:string">2020-07-01 [210] => 08:02:23+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.037962 xsi:type="xsd:double">28.115413 xsi:type="xsd:string">0 xsi:type="xsd:string">Auston [216] => View, [217] => Midrand, [218] => Gauteng, [219] => South [220] => Africa xsi:type="xsd:string">133138296 xsi:type="xsd:string">ADNUSN1D5U0083443 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">133862270 xsi:type="xsd:string">HR66YXGP xsi:type="xsd:string">2020-07-01 [227] => 08:03:59+02 xsi:type="xsd:string"> xsi:type="xsd:double">-29.525639 xsi:type="xsd:double">31.204625 xsi:type="xsd:string">0 xsi:type="xsd:string">Deepdene, [233] => Ballito, [234] => KwaZulu-Natal, [235] => South [236] => Africa xsi:type="xsd:string">65364399 xsi:type="xsd:string">ADNALGD22ZR115154 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">146454559 xsi:type="xsd:string">HV78BLGP xsi:type="xsd:string">2020-07-01 [243] => 07:34:51+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.085404 xsi:type="xsd:double">28.133489 xsi:type="xsd:string">0 xsi:type="xsd:string">Clulee [249] => Road, [250] => Linbro [251] => Park [252] => AH, [253] => Sandton, [254] => Gauteng, [255] => South [256] => Africa xsi:type="xsd:string">30852771 xsi:type="xsd:string">ADNUSN1DSU0156147 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">152773681 xsi:type="xsd:string">HX90JJGP xsi:type="xsd:string">2020-06-30 [263] => 17:52:53+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.130205 xsi:type="xsd:double">28.15951 xsi:type="xsd:string">0 xsi:type="xsd:string">Diaz [269] => Avenue, [270] => Eastleigh, [271] => Edenvale, [272] => Gauteng, [273] => South [274] => Africa xsi:type="xsd:string">14419677 xsi:type="xsd:string">ADNUSN1D5U0161101 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">159833291 xsi:type="xsd:string">JB31BYGP xsi:type="xsd:string">2020-07-01 [281] => 07:17:59+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.181345 xsi:type="xsd:double">28.216789 xsi:type="xsd:string">1 xsi:type="xsd:string">Jet [287] => Park [288] => Road, [289] => Witfield, [290] => Boksburg, [291] => Gauteng, [292] => South [293] => Africa xsi:type="xsd:string">30900017 xsi:type="xsd:string">ADNUSN1D5U0164185 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">167023369 xsi:type="xsd:string">HZ14SDGP xsi:type="xsd:string">2020-07-01 [300] => 08:01:53+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.13017 xsi:type="xsd:double">28.159555 xsi:type="xsd:string">0 xsi:type="xsd:string">Lucas [306] => Road, [307] => Eastleigh, [308] => Edenvale, [309] => Gauteng, [310] => South [311] => Africa xsi:type="xsd:string">17826940 xsi:type="xsd:string">KMFZB7LKU621919 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">167435050 xsi:type="xsd:string">JH04HZGP xsi:type="xsd:string">2020-07-01 [318] => 07:32:35+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.058647 xsi:type="xsd:double">27.961838 xsi:type="xsd:string">0 xsi:type="xsd:string">Sharonlea [324] => & [325] => Exts, [326] => Randburg, [327] => Gauteng, [328] => South [329] => Africa xsi:type="xsd:string">26932527 xsi:type="xsd:string">ADNAPGD222R123234 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">174261628 xsi:type="xsd:string">FF98ZWGP xsi:type="xsd:string">2020-07-01 [336] => 08:04:03+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.129867 xsi:type="xsd:double">28.164617 xsi:type="xsd:string">15 xsi:type="xsd:string">Erasmus [342] => Avenue, [343] => Eden [344] => Glen, [345] => Edenvale, [346] => Gauteng, [347] => South [348] => Africa xsi:type="xsd:string">110330236 xsi:type="xsd:string">ADNU5N1D5U0112998 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">174261922 xsi:type="xsd:string">JG94XXGP xsi:type="xsd:string">2020-06-30 [355] => 13:49:51+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.130232 xsi:type="xsd:double">28.159559 xsi:type="xsd:string">0 xsi:type="xsd:string">Diaz [361] => Avenue, [362] => Eastleigh, [363] => Edenvale, [364] => Gauteng, [365] => South [366] => Africa xsi:type="xsd:string">24696958 xsi:type="xsd:string">ADNUSN1D5U0174093 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">174262077 xsi:type="xsd:string">FX50RTGP xsi:type="xsd:string">2020-07-01 [373] => 08:03:26+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.08572 xsi:type="xsd:double">28.133629 xsi:type="xsd:string">0 xsi:type="xsd:string">Clulee [379] => Road, [380] => Linbro [381] => Park [382] => AH, [383] => Sandton, [384] => Gauteng, [385] => South [386] => Africa xsi:type="xsd:string">108068376 xsi:type="xsd:string">ADNSUN1D5U0128530 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">176362877 xsi:type="xsd:string">FJ14LJGP xsi:type="xsd:string">2020-07-01 [393] => 08:02:22+02 xsi:type="xsd:string"> xsi:type="xsd:double">-26.111907 xsi:type="xsd:double">28.151657 xsi:type="xsd:string">0 xsi:type="xsd:string">Willow [399] => Way, [400] => Greenstone [401] => Hill, [402] => Kempton [403] => Park, [404] => Gauteng, [405] => South [406] => Africa xsi:type="xsd:string">85623895 xsi:type="xsd:string">ADNUSN1D5U0115408 xsi:type="tns:get_vehicle_last_positionsResultType0Row"> xsi:type="xsd:string">176819319 xsi:type="xsd:string">JL90NYGP xsi:nil="true" [413] => xsi:type="xsd:string"/> xsi:type="xsd:string"> xsi:nil="true" [416] => xsi:type="xsd:double"/> xsi:nil="true" [418] => xsi:type="xsd:double"/> xsi:nil="true" [420] => xsi:type="xsd:string"/> xsi:nil="true" [422] => xsi:type="xsd:string"/> xsi:nil="true" [424] => xsi:type="xsd:string"/> xsi:type="xsd:string">ASNUSN1DSU0175716 ) How di i get this into a format to import into mysql this is what i have so far: Code: [Select] $var=$_POST["fname"]; $xmlDoc = new DOMDocument(); $xmlDoc->loadXML($var); I would like to use something similar to this included in it before sql insert: Code: [Select] for($c = 0; $c<$node->length; $c++) { 1 root, 4 parents and varying childs I believe? Code: [Select] <node> <building>Number 65</building> <workers><label>executive</label><names>john</names><label>cook</label><names>terry</names><label>waitress</label><names>jill</names><label>buser</label><names>4564646</names><label>Main</label><number>45564646</number><label>home fax</label><number>45964646</number></workers> <food><label>breakfast</label><meal>eggs</meal><label>lunch</label><meal>turkey</meal><label>dinner</label><meal>steak</meal></food> <addresses><label>Home</label><Country>usa</Country><Street>123 mulberry ln </Street><ZIP>57888</ZIP><City>teledo</City><State>Ohio</State><label>location</label><Street>turnpike east 23</Street><City>danbury</City><State>Connecticut</State><Country>USA</Country></addresses> <building>Number 66</building> etc... </node> Thank you! hi, i am requesting bookrenter.com with curl and getting back a response in something like xml format The response is Code: [Select] <response> <book> <info> <isbn13>9780324786453</isbn13> <isbn10>032478645X</isbn10> </info> <prices> <rental_price days="45">$17.43</rental_price> <rental_price days="90">$24.35</rental_price> <rental_price days="60">$20.87</rental_price> <rental_price days="30">$15.87</rental_price> <rental_price days="125">$28.99</rental_price> </prices> <lowest_shipping_price>$0.00</lowest_shipping_price> <availability>In Stock</availability> <url>http://www.shareasale.com/r.cfm?u=&b=96706&m=14293&urllink=www.bookrenter.com%2Fdiscovering-computers-2010-living-in-a-digital-world-complete-shelly-cashman-series-032478645X-9780324786453</url> </book> </response> Now i want to process the response so that it will show the values in user readable form like 45 day's rent is $17.43 90 day's rent is $24.35 60 day's rent is $20.87 30 day's rent is $15.87 125 day's rent is $28.99 Shipping price is $0.00 please help Thanks i have this code Code: [Select] <?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0"> <channel> <item> <title> tttt1</title> <link>lll1</link> <description> dddd1 </description> </item> <item> <title> tttt2</title> <link>lll2</link> <description> dddd2 </description> </item> <item> <title> tttt3</title> <link>lll3</link> <description> dddd3 </description> </item> and i want go get to array all the details tttt1 lll1 dddd1 tttt2 lll2 dddd2 tttt3 lll3 dddd3 how can i do that simple? I SEE THIS http://il2.php.net/xml_parse but 1)i dont understand this how can i do what i want 2) it is too long and class code i need short and simple please help Hi everyone, I need some help here. I don't know PHP coding and how to write custom php code for reading a XML in PHP. I have a application which updates the server status in real time and send out the data in XML format. I want to create a PHP page so that can show the data in XML to frontend user... I am pasting the XML code that need to be converted in PHP. Any kind of help will be appreciated. If anybody can give me the code and displaying the data in table format that will be awesome.... Code: [Select] <?xml version="1.0" encoding="UTF-8"?> -<simplehelp_metrics builddate="20120419-123521" version="3.12"> -<technician_metrics> <metric value="2" name="Technicians Logged In" id="tech_logged_in"/> <metric value="0" name="Technicians In Session" id="tech_in_session"/> <metric value="0" name="Technicians In Remote Session" id="tech_in_remote_session"/> </technician_metrics> -<customer_metrics> <metric value="0" name="Customers Logged In" id="cust_logged_in"/> <metric value="0" name="Customers In Session" id="cust_in_session"/> <metric value="0" name="Customers Waiting" id="cust_waiting"/> </customer_metrics> -<server_metrics> <metric value="1" name="Server Maximum Sessions" id="server_max_sessions"/> <metric value="23" name="Server Total Number of Sessions" id="server_total_sessions"/> <metric value="23" name="Server Total Number of Support Sessions" id="server_total_support_sessions"/> <metric value="0" name="Server Total Number of Access Sessions" id="server_total_access_sessions"/> <metric value="21217" name="Average Queue Time" id="server_average_queue_time"/> <metric value="17052" name="Last Queue Time" id="server_last_queue_time"/> <metric value="1830883" name="Average Session Duration" id="server_average_session_time"/> <metric value="5932145" name="Last Session Duration" id="server_last_session_time"/> </server_metrics> -<technicians> <technician name="tlc10271" login="tlc10271"/> <technician name="tlc10072" login="tlc10072"/> </technicians> </simplehelp_metrics> Trying to read through this query string to get a list of subjects (sub) and products (pro) sub2=pro73&sub2=pro76&sub2=pro79&sub2=pro90&sub2=pro92&sub3=pro73&sub3=pro74&sub3=pro87&sub3=pro90 so i need 2 -73, 2-76, 2-79, 3-73, 3-74 etc. What am i missing in this code. foreach($_POST as $key => $val) { $sub = substr($key, 3); $pro = substr($val, 3); // $links = "SELECT * FROM table WHERE sub='".$sub."' AND pro='".$pro."';"; }
|