Recuperer une requete generer automatiquement

ineuls Messages postés 6 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 3 septembre 2008 - 29 août 2008 à 16:20
cs_Dj Nam Messages postés 26 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 avril 2012 - 3 sept. 2008 à 10:12
bonjour

mon code est un generateur de requete qui affiche dans une fenetre popup la requete a excuter sous phpMyAdmin.
je souhaite que la requete s'exécute directement (sans faire un copier coller dans phpMyAdmin).il faut recuperer le texte contenu dans la variable resultat et l'executer mais je n'y arrive pas.
s'il quelqu'un pouvais m'aider s'il vous plait.
merci d'avance

voisi mon code:


 


 


<?php
mysql_connect("localhost", "root", "gretha")or exit(mysql_error("erreur1")); // Connexion à MySQL
mysql_select_db("patstat")or exit(mysql_error("erreur 2")); // Sélection de la base PATSTAT
?>




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>


<!-- change this to the title you want to appear in browser title bar -->


<title>PATSTAT -- Generateur de requêtes --</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="patstat" />
<meta name="description" content="Worldwide Patent Statistical Database" />
<link rel="stylesheet" href="style/style.css" type="text/css" />


<script language=JavaScript>
function fonct_form(form) {
var fois = 0;
var requete = '';
var select = 'select at.appln_title, aa.appln_abstract, pp.publn_nr, a.appln_nr, ap.prior_appln_seq_nr, pp.publn_date, a.appln_filing_date, p.person_name, ap.prior_appln_seq_nr, substring(aipc.ipc_class_symbol, 1, 4), cn.ctry_name, p.postcode, pp.publn_auth, a.appln_auth, ndgr.ipc
';
var from = 'from tls202_appln_title at
join tls201_appln a on a.appln_id = at.appln_id
join tls203_appln_abstr aa on aa.appln_id = at.appln_id
join tls211_pat_publn pp on pp.appln_id = at.appln_id
join tls204_appln_prior ap on ap.appln_id = at.appln_id
join tls207_pers_appln pa on pa.appln_id = at.appln_id
join tls206_person p on p.person_id = pa.person_id
join tls209_appln_ipc aipc on aipc.appln_id = at.appln_id
join tlsup_ctry_names cn on cn.ctry_code = p.person_ctry_code
join tlsup_naceipc_dgr ndgr on ndgr.ipc = substring(aipc.ipc_class_symbol, 1, 4)';
var where = ' where ';
var where_mc_titre = 'at.appln_title like \'%';
var where_mc_abrege = 'aa.appln_abstract like \'%';
var where_num_publication = 'pp.publn_nr like \'%';
var where_num_demande = 'a.appln_nr like \'%';var where_priorite_brevet 'ap.prior_appln_seq_nr \'';
var where_date_pub_brevet = 'pp.publn_date >= \'';
var where_date_depot_brevet = 'a.appln_filing_date >= \'';
var where_nom_deposant = 'p.person_name like \'%';
var where_nom_inventeur = 'p.person_name like \'%';var where_ipc 'substring(aipc.ipc_class_symbol, 1, 4) \'';var where_loc_deposant 'cn.ctry_name \'';var where_loc_inventeur 'cn.ctry_name \'';var where_cp_demandeur 'p.postcode \'';
var where_cp_inventeur = 'p.postcode  \'';var where_pub_auth 'pp.publn_auth \'';var where_app_auth 'a.appln_auth \'';var where_code_nace 'ndgr.ipc \'';
var end_where = ';';


resultat = '<html>\n<title>Requete</title>\n<head>\n</head>\n\nSyntaxe de la requete
';
resultat += '';


requete += select + from;


if (form.mc_titre.value != '' || form.mc_abrege.value != '' || form.num_publication.value != '' || form.num_demande.value != '' ||
 form.num_priorite_brevet.value != '' || form.date_publication_brevet.value != '' || form.date_depot_brevet.value != '' ||
 form.mc_nom_deposant.value != '' || form.mc_nom_inventeur.value != '' || form.num_ipc.value != '' || form.pays_loc_deposant.value != '' ||
 form.pays_loc_inventeur.value != '' || form.cp_demandeur.value != '' || form.cp_inventeur.value != '' || form.pub_auth.value != '' ||
 form.app_auth.value != '' || form.code_nace.value != '')
{
 requete += where;
 if (form.mc_titre.value != '')
 {
  requete += where_mc_titre + form.mc_titre.value + '%\'';
  fois += 1;
 }
 if (form.mc_abrege.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_mc_abrege + form.mc_abrege.value + '%\'';
  fois += 1;
 }
 if (form.num_publication.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_num_publication + form.num_publication.value + '%\'';
  fois += 1;
 }
 if (form.num_demande.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_num_demande + form.num_demande.value + '%\'';
  fois += 1;
 }
 if (form.num_priorite_brevet.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_priorite_brevet + form.num_priorite_brevet.value + '\'';
  fois += 1;
 }
 if (form.date_publication_brevet.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_date_pub_brevet + form.date_publication_brevet.value + '\'';
  fois += 1;
 }
 if (form.date_depot_brevet.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_date_depot_brevet + form.date_depot_brevet.value + '\'';
  fois += 1;
 }
 if (form.mc_nom_deposant.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_nom_deposant + form.mc_nom_deposant.value + '%\'';
  fois += 1;
 }
 if (form.mc_nom_inventeur.value != '')
 {
  if (fois != 0)
   requete += ' and ';  requete +where_nom_inventeur + form.mc_nom_inventeur.value + '%\' and pa.applt_seq_nr 0';
  fois += 1;
 }
 if (form.num_ipc.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_ipc + form.num_ipc.value + '\'';
  fois += 1;
 }
 if (form.pays_loc_deposant.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_loc_deposant + form.pays_loc_deposant.value + '\'';
  fois += 1;
 }
 if (form.pays_loc_inventeur.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_loc_inventeur + form.pays_loc_inventeur.value + '\'';
  fois += 1;
 }
 if (form.cp_demandeur.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_cp_demandeur + form.cp_demandeur.value + '\'';
  fois += 1;
 }
 if (form.cp_inventeur.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_cp_inventeur + form.cp_inventeur.value + '\'';
  fois += 1;
 }
 if (form.pub_auth.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_pub_auth + form.pub_auth.value + '\'';
  fois += 1;
 }
 if (form.app_auth.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_app_auth + form.app_auth.value + '\'';
  fois += 1;
 }
 if (form.code_nace.value != '')
 {
  if (fois != 0)
   requete += ' and ';
  requete += where_code_nace + form.code_nace.value + '\'';
  fois += 1;
 }
}


requete += end_where;
resultat += requete + '\n\n</html>';


 


 


 


/*result=open("","resultat","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=1, resizable=1, top=1, left=50, width=600, height=600");
result.document.write(resultat)
result.document.write('[javascript:window.close(); Fermer cette fenetre]

')*/
}
</script>
</head>
<!------------------------------------------------------------------->



<?php include("header.php"); ?>




<!-- the title that appear in the page header -->



<!--end sidebar-->



Worldwide Patent Statistical Database
PATSTAT




<!-- here is your page content -->




Generateur de requetes

<form action="requete.php" name="form_requete" method="POST" enctype="text/plain"> <!--change ? post-->
<fieldset>
<legend>Formulaire de cr&eacute;ation de requ&ecirc;te d'interrogation de la base de donn&eacute;es Patstat</legend>
 ----

     Mot cl&eacute; dans le titre :
  ,
     
  ,
     (ex: PISTON DRIVEN )

  ,
 
 ----

     Mot cle dans l'abr&eacute;g&eacute;
  ,
     
  ,
     (ex: mutating motion )

  ,
 
 ----

     n&deg; de publication :
  ,
     
  ,
     (ex: 0183919 )

  ,
 
 ----

     n&deg; de demande :
  ,
     
  ,
     (ex: 9600001 )

  ,
 
 ----

     n&deg; de priorit&eacute;s des brevets :
  ,
     
  ,
     (ex: 0002 )

  ,
 
 ----

     Date de publication brevets :
  ,
     
  ,
     (ex: 2001-07-19 )

  ,
 
 ----

     Date de d&eacute;pot du brevet :
  ,
     
  ,
     (ex: 2002-11-25 )

  ,
 
 ----

     Mot cl&eacute; dans le nom du d&eacute;posant :
  ,
     
  ,
     (ex: Castles  Home )

  ,
 
 ----

     Mot cl&eacute; dans le nom de l'inventeur :
  ,
     
  ,
     (ex: Durable  Hunke )

  ,
 
 ----

     n&deg; IPC (International Patent Classification) :
  ,
     
  ,
     (ex: F01B )

  ,
 
 ----

     Pays localisation (d&eacute;posant) :
  ,
     
  ,
     (ex: Argentina )

  ,
 
 ----

     Pays localisation (inventeur) :
  ,
     
  ,
     (ex: Australia )

  ,
 
 ----

     Code postal demandeur :
  ,
     
  ,
     (ex: 33000 )

  ,
 
 ----

     Code postal inventeur :
  ,
     
  ,
     (ex: 33100 )

  ,
 
 ----

     Publication Authority :
  ,
     
  ,
     (ex: WO )

  ,
 
 ----

     Application Authority :
  ,
     
  ,
     (ex: AM )

  ,
 
 ----

     Recherche par code Nace :
  ,
     
  ,
     (ex: A01H )

  ,
 

</fieldset>

<fieldset>

&nbsp;

</fieldset>
</form>


 






<!-- it'd be super if you left this link intact -->   
   
http://wiki.epfl.ch/patstat">CEMI's PATSTAT Knowledge Base |
http://fr.espacenet.com/">FR[mailto:Esp@cenet |
http://academy.epo.org/welcome/index.en.php">European Patent Academy


<!-- end container -->




<!-- end wrap-->


<?php


mysql_connect("localhost", "root", "gretha")or exit(mysql_error("erreur1")); // Connexion à MySQL
mysql_select_db("patstat")or exit(mysql_error("erreur 2")); // Sélection de la base PATSTAT




$requete = $_POST["form_requete"];
$result = mysql_query( $requete ) or die( 'Erreur MySQL' ); // si erreur 


while ($donnees = mysql_fetch_array($result) )
{
    echo $donnees[''];
    echo "
";
}
 
mysql_close(); // Déconnexion de MySQL
?>


 






</html>

1 réponse

cs_Dj Nam Messages postés 26 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 1 avril 2012
3 sept. 2008 à 10:12
Bonjour
(Désolé je n'ai pas lu ton code)

Pour executer une requête qui se trouve dans une variable, en locurence $resultat me semble-t-il
il te suffit d'ajouter la ligne ci-dessous en php :

<?php
mysql_query($resultat);
?>

et le tour est joué

Maxime
0
Rejoignez-nous