web-dev-qa-db-fra.com

Crystal Reports 11.5 avec PHP et MySQL

Je suis nouveau sur Crystal Reports et j'utilise la version Crystal Reports 11.5.

Mon exigence est la suivante:

  1. L'environnement de programmation est PHP.
  2. La base de données est MySQL.
  3. Je veux générer des rapports PDF en utilisant Crystal Report + PHP + MySQL.

Actuellement, j'utilise un objet COM pour me connecter à Crystal Report à l'aide de PHP et je peux générer un exemple de rapport statique PDF.

Ma tâche principale est de faire tout le traitement en PHP en récupérant les valeurs de MySQL et en transmettant les valeurs à Crystal Reports et générer un PDF. J'ai besoin d'aide pour réaliser cette tâche. Si quelqu'un peut fournir un exemple de code alors ce sera beaucoup mieux.

Voici ce que j'ai jusqu'à présent:

$my_report = "E:\\xampp\\htdocs\\crystal\\Test1.rpt"; 

$my_pdf = "E:\\xampp\\htdocs\\crystal\\test.pdf"; 

$o_CrObjectFactory = new COM('CrystalReports11.ObjectFactory.1');

// Create the Crystal Reports Runtime Application.


$o_CrApplication =$o_CrObjectFactory->CreateObject("CrystalDesignRunTime.Application"); 

//------ Open your rpt file ------ 

$creport = $o_CrApplication->OpenReport($my_report, 1); 

//------ Connect to DB2 DataBase ------ 

**this is the hard part where I am not able to complete connection to mysql**
$o_CrApplication->LogOnServer('which library','mlims','root',''); 

//------ Put the values that you want -------- 

$creport->RecordSelectionFormula="{parameter.id}='1'"; 

//------ This is very important. DiscardSavedData make a 

// Refresh in your data -------

$creport->DiscardSavedData; 

//------ Read the records :-P ------- 

$creport->ReadRecords(); 

//------ Export to PDF ------- 

$creport->ExportOptions->DiskFileName=$my_pdf; 
$creport->ExportOptions->FormatType=31; 
$creport->ExportOptions->DestinationType=1; 
$creport->Export(false); 

//------ Release the variables 
$creport = null; 
$crapp = null; 
$ObjectFactory = null; 

Comme vous le voyez dans le code ci-dessus, je dois connecter le serveur Mysql que j'essaie de faire depuis quelques jours. J'ai essayé de nombreux exemples sur le net, mais la plupart sont destinés à SQL Server, pas à MySQL.

17

Veuillez suivre les étapes:

  1. Téléchargez le fichier jar MySQL Connector J . Ce téléchargement doit contenir un fichier jar qui ressemble à quelque chose comme: mysql-connector-Java-3.1.14-bin.jar

  2. Ajoutez l'emplacement de votre fichier jar nouvellement téléchargé au Classpath, comme défini dans le fichier CrystalReports CRConfig.xml. Sur une machine Windows, le fichier de configuration sera situé quelque part comme: C:\Program Files\Business Objects\Common\3.5\Java\CRConfig.xml

  3. Une fois que vous avez modifié votre CRConfig.xml, fermez et rouvrez Crystal Reports.

  4. Dans le menu: Fichier -> Nouveau -> Rapport standard
  5. Dans la liste "Sources de données disponibles", double-cliquez pour développer "Créer une nouvelle connexion"
  6. Double-cliquez pour développer "JDBC (JNDI)"
  7. Double-cliquez sur "Créer une nouvelle connexion"
  8. URL de connexion: "jdbc: mysql: //db.example.com/dbname" (utilisez votre propre nom d'hôte de base de données et nom de base de données). Nom de classe de la base de données: "com.mysql.jdbc.Driver"
  9. Cliquez sur Suivant"
  10. Entrez une combinaison utilisateur/mot de passe de base de données lorsque vous y êtes invité.

Vous devriez maintenant pouvoir inspecter les tables/colonnes de la base de données pour commencer à générer des rapports.

Voir référence

3
Muhammad Muazzam