Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

How to communicate a PHP page with openerp using webservice----

Subscribe

Get notified when there's activity on this post

This question has been flagged
3 Replies
10487 Views
Avatar
ABU K

I have  a php form use and a custom openerp module for storing student details of name and number..

How to communicate this php to openerp for exporting and importing student details from openerp to php form

Here I attached my php code and openerp module ..Pls help...

==================PHP================

index.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=utf-8" />
<title>Untitled Document</title>
</head>
 
<body>
<form action="insert.php" method="post">
Firstname: <input type="text" name="fname" /><br><br>
Phone: <input type="text" name="phone" /><br><br>
 
<input type="submit" />
</form>
</body>
</html>

 

insert.php

<?php
$con = mysql_connect("localhost","root","siroco");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 
mysql_select_db("project", $con);
 
$sql="INSERT INTO info (name, phone)
VALUES
('$_POST[fname]','$_POST[lname]')";
 
if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";
 
 
$res=  mysql_query("SELECT * FROM info");  
if(mysql_query($sql,$con))
{
  echo "<table border='1'><tr><th>Name</th><th>Phone</th></tr>";
while($row = mysql_fetch_array($res))
{
 echo "<tr>";
   echo "<td>" . $row['name'] . "</td>";
    echo "<td>" . $row['phone'] . "</td>";
        echo "</tr>";
   }
   }
 
mysql_close($con)
?>

==============OPENERP===================

__init__.py

import web_service_info

__openerp__.py

{
    "name" : "Web service module",
    "version" : "1.0",
    "author" : "ME ",
    "category" : "Generic Modules for Web service connector",
    "description": """
    Module For Managing Student Name and roll number export and import:
 
    """,
    "depends" : ['base'],
    "init_xml" : [],
    'images': [],

     "update_xml" : [
                    'web_service_view.xml'           
         ],
                   
    'images': [],
    "installable": True,
    "auto_install":False
}

webservice.py

from osv import osv,fields

class student_info(osv.osv):
    
    _name='student.info'
    
    _columns={
               'name':fields.char('name',size=15),
               'phone_number':fields.char('Phonenumber',size=10),
             }
    def import_student(self,cr,uid,ids,context=None):
        print "######################context#######",context
        return "Hi"
    def export_student(self,cr,uid,ids,context=None):
        print "#########3uid#######",ids
        return "Hi"
    
student_info()

.xml======

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data>
    
    
     <record id="user_info_tree_view" model="ir.ui.view">
          <field name="name">user.info.tree.view</field>
          <field name="model">student.info</field>
          <field name="type">tree</field>
            <field name="arch" type="xml">
             <tree string="user information">
                <field name="name"/>
                <field name="phone_number"/>
              </tree>
       </field>
       </record>
       
        <record id="project_info_form_view" model="ir.ui.view">
            <field name="name">project.info.form.view</field>
            <field name="model">student.info</field>
            <field name="type">form</field>
            <field name="arch" type="xml">
            <form string="Project information" version="7.0" >
                
                <header>
                                        
                    <button name="import_student" string="Import Student"
                 class="oe_highlight" type="object"/>

                    <button name="export_student" string="Export Student"
                 class="oe_highlight" type="object"/>

                </header>        
                
                    <sheet>
                   <group>
                        <field name="name"/>
                     <field name="phone_number"/></group>    
                     </sheet>   
                </form>
                
            </field>
        </record>
        
           <record id="hr_info_action" model="ir.actions.act_window">
               <field name="name">HR Details</field>
               <field name="res_model">student.info</field>
               <field name="view_type">form</field>
               <field name="view_mode">tree,form</field>
       </record>


       <menuitem id="user_module_menu" name="Student Info"/>
       
       <menuitem id="user_module_menu1"  parent="user_module_menu" name="Student Information"/>
       
       <menuitem id="user_module_menu123" action="hr_info_action" parent="user_module_menu1" name="Student Details"/>
       
       
    </data>
</openerp>

 

How to export and import data from openerp to php form ,php ->openerp

 

@@ HOw to import data from openerp to php with xmlrpc(php->openerp,openerp->PHP)

 

 

 

 

 

 

 

 

 

0
Avatar
Discard
Avatar
Dhinesh
Best Answer

Hi, you can use XML-RPC for communication between PHP and OpenERP/Odoo.

Access Open-server using xml-rpc

Download the XML-RPC framework for PHP

windows / linux: download the xml-rpc framework for php from http://phpxmlrpc.sourceforge.net/ The latest stable release is version 2.2.2 released on March 16, 2009.

Setup the XML-RPC for PHP

extract file xmlrpc-2.2.tar.gz and take the file xmlrpc.inc from lib directory place the xmlrpc.inc in the php library folder restart the apache/iis server

Demo script

Login

function connect() {
   var $user = 'admin';
   var $password = 'admin';
   var $dbname = 'db_name';
   var $server_url = 'http://localhost:8069/xmlrpc/';


   if(isset($_COOKIE["user_id"]) == true)  {
       if($_COOKIE["user_id"]>0) {
       return $_COOKIE["user_id"];
       }
   }

   $sock = new xmlrpc_client($server_url.'common');
   $msg = new xmlrpcmsg('login');
   $msg->addParam(new xmlrpcval($dbname, "string"));
   $msg->addParam(new xmlrpcval($user, "string"));
   $msg->addParam(new xmlrpcval($password, "string"));
   $resp =  $sock->send($msg);
   $val = $resp->value();
   $id = $val->scalarval();
   setcookie("user_id",$id,time()+3600);
   if($id > 0) {
       return $id;
   }else{
       return -1;
   }
 }
 

Search

/**
 * $client = xml-rpc handler
 * $relation = name of the relation ex: res.partner
 * $attribute = name of the attribute ex:code
 * $operator = search term operator ex: ilike, =, !=
 * $key=search for
 */

function search($client,$relation,$attribute,$operator,$keys) {
     var $user = 'admin';
     var $password = 'admin';
     var $userId = -1;
     var $dbname = 'db_name';
     var $server_url = 'http://localhost:8069/xmlrpc/';

     $key = array(new xmlrpcval(array(new xmlrpcval($attribute , "string"),
              new xmlrpcval($operator,"string"),
              new xmlrpcval($keys,"string")),"array"),
        );

     if($userId<=0) {
     connect();
     }

     $msg = new xmlrpcmsg('execute');
     $msg->addParam(new xmlrpcval($dbname, "string"));
     $msg->addParam(new xmlrpcval($userId, "int"));
     $msg->addParam(new xmlrpcval($password, "string"));
     $msg->addParam(new xmlrpcval($relation, "string"));
     $msg->addParam(new xmlrpcval("search", "string"));
     $msg->addParam(new xmlrpcval($key, "array"));

     $resp = $client->send($msg);
     $val = $resp->value();
     $ids = $val->scalarval();

     return $ids;
}

Create

<?

include('xmlrpc.inc');

$arrayVal = array(
'name'=>new xmlrpcval('Fabien Pinckaers', "string") ,
'vat'=>new xmlrpcval('BE477472701' , "string")
);

$client = new xmlrpc_client("http://localhost:8069/xmlrpc/object");

$msg = new xmlrpcmsg('execute');
$msg->addParam(new xmlrpcval("dbname", "string"));
$msg->addParam(new xmlrpcval("3", "int"));
$msg->addParam(new xmlrpcval("demo", "string"));
$msg->addParam(new xmlrpcval("res.partner", "string"));
$msg->addParam(new xmlrpcval("create", "string"));
$msg->addParam(new xmlrpcval($arrayVal, "struct"));

$resp = $client->send($msg);

if ($resp->faultCode())

    echo 'Error: '.$resp->faultString();

else

    echo 'Partner '.$resp->value()->scalarval().' created !';

?>

Write

/**
 * $client = xml-rpc handler
 * $relation = name of the relation ex: res.partner
 * $attribute = name of the attribute ex:code
 * $operator = search term operator ex: ilike, =, !=
 * $id = id of the record to be updated
 * $data = data to be updated
 */

function write($client,$relation,$attribute,$operator,$data,$id) {
     var $user = 'admin';
     var $password = 'admin';
     var $userId = -1;
     var $dbname = 'db_name';
     var $server_url = 'http://localhost:8069/xmlrpc/';

     $id_val = array();
     $id_val[0] = new xmlrpcval($id, "int");

     if($userId<=0) {
     connect();
     }

     $msg = new xmlrpcmsg('execute');
     $msg->addParam(new xmlrpcval($dbname, "string"));
     $msg->addParam(new xmlrpcval($userId, "int"));
     $msg->addParam(new xmlrpcval($password, "string"));
     $msg->addParam(new xmlrpcval($relation, "string"));
     $msg->addParam(new xmlrpcval("write", "string"));
     $msg->addParam(new xmlrpcval($id, "array"));
     $msg->addParam(new xmlrpcval($data, "struct"));

     $resp = $client->send($msg);
     $val = $resp->value();
     $record = $val->scalarval();

     return $record;

}

 
 
 
3
Avatar
Discard
Avatar
Gonzalo Apaza
Best Answer

I have a system in Laravel for electronic invoicing and I enabled it as API (it receives JSON, it generates XML and it sends to SUNAT Peru), what I need is to develop a module to send json from odoo 11 to the API.

Could anyone help me please.

Regards,

0
Avatar
Discard
Avatar
ABU K
Author Best Answer

Hi Dhinesh,

But i need to pass data from php form to openerp module and openerp to php form  using button click of export and import student .Then what are the steps i can  follows.pls help

0
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now