100% found this document useful (11 votes)
33 views

Loading JavaScript Arrays with MySQL Data 1st edition by Alex Ressi - Instantly access the complete ebook with just one click

The document provides a guide on how to load JavaScript arrays with MySQL data using PHP, aimed at improving the functionality of web applications. It includes a step-by-step explanation of building a selection component for a resource management system that dynamically populates employee data based on skills. Additionally, it offers code snippets for establishing a database connection, querying data, and constructing the JavaScript arrays needed for the application.

Uploaded by

lewiczdiosay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (11 votes)
33 views

Loading JavaScript Arrays with MySQL Data 1st edition by Alex Ressi - Instantly access the complete ebook with just one click

The document provides a guide on how to load JavaScript arrays with MySQL data using PHP, aimed at improving the functionality of web applications. It includes a step-by-step explanation of building a selection component for a resource management system that dynamically populates employee data based on skills. Additionally, it offers code snippets for establishing a database connection, querying data, and constructing the JavaScript arrays needed for the application.

Uploaded by

lewiczdiosay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 48

Visit ebookball.

com to download the full version and


explore more ebook or textbook

Loading JavaScript Arrays with MySQL Data 1st


edition by Alex Ressi

_____ Click the link below to download _____


https://ebookball.com/product/loading-javascript-arrays-
with-mysql-data-1st-edition-by-alex-ressi-14054/

Explore and download more ebook or textbook at ebookball.com


Here are some recommended products that we believe you will be
interested in. You can click the link to download.

Learning PHP MySQL JavaScript CSS and HTML5 A Step by Step


Guide to Creating Dynamic Websites 3rd Edition by Robin
Nixon ISBN 1491906979 9781491906972
https://ebookball.com/product/learning-php-mysql-javascript-css-and-
html5-a-step-by-step-guide-to-creating-dynamic-websites-3rd-edition-
by-robin-nixon-isbn-1491906979-9781491906972-15996/

Client Server Web Apps with JavaScript and Java 1st


edition by Casimir Saternos 1449369316 9781449369316

https://ebookball.com/product/client-server-web-apps-with-javascript-
and-java-1st-edition-by-casimir-
saternos-1449369316-9781449369316-20258/

Learning MySQL Get a Handle on Your Data 1st Edition by


Saied MM Tahaghoghi, Hugh E Williams ISBN 0596529465
9780596529468
https://ebookball.com/product/learning-mysql-get-a-handle-on-your-
data-1st-edition-by-saied-mm-tahaghoghi-hugh-e-williams-
isbn-0596529465-9780596529468-15988/

JavaScript Data Structures and Algorithms An Introduction


to Understanding and Implementing Core Data Structure and
Algorithm Fundamentals 1st Editon by Sammie Bae ISBN
1484239873 9781484239872
https://ebookball.com/product/javascript-data-structures-and-
algorithms-an-introduction-to-understanding-and-implementing-core-
data-structure-and-algorithm-fundamentals-1st-editon-by-sammie-bae-
isbn-1484239873-9781484239872-15798/
DNA Arrays Technologies and Experimental Strategies 1st
Edition by Elena Grigorenko ISBN 9781420038859 1420038850

https://ebookball.com/product/dna-arrays-technologies-and-
experimental-strategies-1st-edition-by-elena-grigorenko-
isbn-9781420038859-1420038850-9724/

LNCS 2832 Efficient Algorithms for the Ring Loading


Problem with Demand Splitting 1st edition by Biing Feng
Wang, Yong Hsian Hsieh, Li Pu Yeh ISBN 3540200649
978-3540200642
https://ebookball.com/product/lncs-2832-efficient-algorithms-for-the-
ring-loading-problem-with-demand-splitting-1st-edition-by-biing-feng-
wang-yong-hsian-hsieh-li-pu-yeh-isbn-3540200649-978-3540200642-13034/

immediate loading of dental implant 1st edition by


Mithridade Davarpanah,Serge Szmukler 9782912550507
2912550505
https://ebookball.com/product/immediate-loading-of-dental-implant-1st-
edition-by-mithridade-davarpanah-serge-
szmukler-9782912550507-2912550505-7570/

Automating the Design of Data Mining Algorithms An


Evolutionary Computation Approach 2010th Edition by Gisele
Pappa, Alex Freitas ISBN 3642025402 9783642025402
https://ebookball.com/product/automating-the-design-of-data-mining-
algorithms-an-evolutionary-computation-approach-2010th-edition-by-
gisele-pappa-alex-freitas-isbn-3642025402-9783642025402-9878/

Analyzing Business Data with Excel 1st edition by Gerald


Knight 9780596553463 0596553463

https://ebookball.com/product/analyzing-business-data-with-excel-1st-
edition-by-gerald-knight-9780596553463-0596553463-12548/
Loading JavaScript Arrays with MySQL Data
By Alex Ressi

All materials Copyright © 1997−2002 Developer Shed, Inc. except where otherwise noted.
Loading JavaScript Arrays with MySQL Data

Table of Contents
Introduction &Explaination..............................................................................................................................1

Source Reference.................................................................................................................................................6

i
Introduction &Explaination

We have all seen pages that use JavaScript for better or for worse. In many cases JavaScript can improve a
site's functionality and ease of use. Unfortunately administrating some of the complicated arrays that
JavaScript depends on for things like heirarchichal menus and dynamic forms can be a pain in the rear. That's
why were going to turn the task over to PHP and MySQL. We can use this combination to load data into the
JavaScript for us. This is particularly useful if information contained in the array is likely to change.

In this exercise we will build a selection component for a resource management system. The component will
tie people and project together based on staffing needs and employee skill. It will also illustrate how PHP and
MySQL can be used to dynamically build JavaScript. The static component code is below.

Use the drop down menu below to select the skills required for the
project. The list of personnel will change according to skill. Use the
arrows arrows to control the addition or subtraction or people to the
project.

This component uses two popular JavaScripts which are readily avialable on the web. I grabbed the JavaScript
for the 'menu swapper' from www.javascriptsource.com, and I picked up a script to handle the drop down
menu change from www.webreference.com.. With a little time, I managed to get the two scripts to work
together as planned. View the source to see the resulting code. One of the first things you will notice is the
following JavaScript array.

var ar = new Array();

ar[0] = new Array();


ar[0][0] = new makeOption("Crown, Tom", "151");
ar[0][1] = new makeOption("Christiansen, Steve", "221");
ar[0][2] = new makeOption("Berman, Randal", "321");
ar[0][3] = new makeOption("Turok, Steve", "341");
ar[0][4] = new makeOption("Cider, Eric", "361");
ar[0][5] = new makeOption("Bolton, Liz", "421");
ar[1] = new Array();
ar[1][0] = new makeOption("Crown, Tom", "152");
ar[1][1] = new makeOption("Christiansen, Steve", "222");
ar[1][2] = new makeOption("Berman, Randal", "322");
ar[1][3] = new makeOption("Turok, Steve", "342");
ar[1][4] = new makeOption("Cider, Eric", "362");
ar[1][5] = new makeOption("Bolton, Liz", "422");
ar[1][6] = new makeOption("Tuti, Berna", "432");
ar[1][7] = new makeOption("Dong, Enormai ", "442");
ar[2] = new Array();

Introduction & Explainati... 1


Loading JavaScript Arrays with MySQL Data
ar[2][0] = new makeOption("Lindberg, John", "273");
ar[2][1] = new makeOption("Tuti, Berna ", "433");
ar[2][2] = new makeOption("Dong, Enormai", "443");
ar[3] = new Array();
ar[3][0] = new makeOption("Tuti, Berna ", "434");
ar[4] = new Array();
ar[4][0] = new makeOption("Narsysus, Thelma", "306");
ar[5] = new Array();
ar[5][0] = new makeOption("Turok, Steve ", "347");
ar[5][1] = new makeOption("Bolton, Liz ", "427");

The above code will serve as a model while we write our PHP code. Let's take a quick look at the anatomy of
an array. The first set of brackets, ar[x], in this multi−dimentional array refers to the skill. The second set of
brackets ar[x][x] is the array index of the item, which will always begin by default with 0. The item in this
case is the employee. This array will be replaced by PHP code which will dynamcally build it. Now that we
have played around with the component and had a look at the source code, it would be a good idea to build
and populate that database.

Once the database has been built and populated, we need to do the following things to make our JavaScript
dynamic. Note: The only portion of the source code that will be dynamic is the array, the rest of the JavaScript
will remain static.

1. The database needs to be queried for employee names, and employee skills (two separate tables). The
results need to be ordered by skill.
2. We will then need to loop through the skills printing the employee names associated with the skill
3. A mechanism then needs to be built to pass the employee id, skill id and project id to the form
processing component.

Let's begin with the query. Have a look at the database schema to see how the information is stored. There are
3 tables involved in this component. Personnel, Skill, and person_skill.

$db = mysql_connect("localhost", "root", "");


mysql_select_db("extranet",$db);

A link to the database server is established, and the database is selected.

$sql = "SELECT
p.person_id,
s.person_id,
CONCAT(last_name,', ',first_name) AS name,
skill_id";

Introduction & Explainati... 2


Loading JavaScript Arrays with MySQL Data

$sql .= "FROM
personnel p,
person_skill s
WHERE
p.person_id = s.person_id
ORDER BY
skill_id, name";

$result = mysql_query($sql);

The SQL statement is pretty straightforward. If you are unsure about what is going on here, you can always go
to the MySQL site where there are numerous tutorials. The important thing to note in this query is the
ORDER BY clause, which will properly setup the arrangement of the resulting data. After performing our
SQL we then initialize two variables:

$type = "";
$number2 = "0";

We then will perform the while loop which will actually build the JavaScript array.

while ($myrow = mysql_fetch_row($result)) {

A series of "If then" statements will control the proper formation of the array.

if ($myrow[3] != $type) {

The first if statement checks to see if the variable $myrow[3] which is the skill_id from our SQL statement, is
NOT equal to the variable $type. $type was set outside of the loop to nothing. The two values are not equal, so
the next expression will be evaluated.

if ($number2 != NULL) {

Introduction & Explainati... 3


Loading JavaScript Arrays with MySQL Data
$number2, which was initialized outside of the loop with a value of 0 is not equal to NULL, so the code
within the curly braces gets run.

$newnumber2 = ($number2 + "1");


print ("ar[$number2] = new Array();\n");
$number2 = $newnumber2;
$type = $myrow[3];
$number = "0";
}
}

We have a new variable to start with, $newnumber2 which is given a value of 1. (0 + 1 = 1) The first line of
the JavaScript array is then printed. ar[0] = new Array();

$number2 which was initially set to 0, now takes on the value of $newnumber2 which is 1. $type now is given
a value. Initally set with no value and now $type has the value of $myrow[3] which is 0.

print "ar[" . ($number2 − "1") . "]";


if ($number != NULL) {
$newnumber = ($number + "1");
print ("[$number]");
$number = $newnumber;
}

From this code block we get the first part of the next line, namely ar[0][0]. The first '[0]' refers to the skill, so
it will be repeated for each person that is associated with that particular skill. The next '[0]' refers to an
individual possessing the skill. There is an "if statement." that increments the number in the second set of
square brackets for each row in the database.

print (" = new makeOption(\"$myrow[2]\",


\"$myrow[1]$myrow[3]\");\n");
}

Before closing the while loop, we are going to append "= new makeOption("Crown, Tom", "151");" to the
"ar[0][0]", thus completing one pass through the loop. The loop will be run for each row in the database
query, which is in this case is 21. You can view the entire unbroken source code here. The next challenge will
be passing multiple values to the form processing script. This will be done using a combination of JavaScript
and PHP, and will be the focus of a seperate upcoming article.

In addition to building JavaScript arrays, this code can be hacked up for a number of other uses . What this

Introduction & Explainati... 4


Loading JavaScript Arrays with MySQL Data
code essentially does is print the first row of a given field, where rows in the database have fields with
common values. In this example, we initialize an array which represents a given skill, for instance ar[0] = new
Array();. Under that we print all the people in this case that relate to that skill. This can easlily be applied to
something like a classified system. Let's say you are selling automobiles and you would like to print as a
header, the make of the car before listing all the models that fall under it. You could use this code to do the
same. There are many uses for this code. Don't be afraid to try things out. The world is now your oyster,
enjoy.

Introduction & Explainati... 5


Source Reference

Plug this in place of the JavaScript array in the source code of the refering page and go! PHP can be inbeded
in JavaScript tags.

<?php
$db = mysql_connect("localhost", "root", "");
// This establishes a link to MySQL
mysql_select_db("extranet",$db); // The database is specified

$sql = "SELECT
p.person_id,
s.person_id,
CONCAT(last_name,', ',first_name) AS name,
skill_id ";

$sql .= "FROM
personnel p,
person_skill s
WHERE
p.person_id = s.person_id
ORDER BY
skill_id, name";

$result = mysql_query($sql);

$type = "";
$number2 = "0";
while ($myrow = mysql_fetch_row($result)) {
if ($myrow[3] != $type) {
if ($number2 != NULL) {
$newnumber2 = ($number2 + "1");
print ("ar[$number2] = new Array();\n");
$number2 = $newnumber2;
$type = $myrow[3];
$number = "0";
}
}
print "ar[" . ($number2 − "1") . "]";
if ($number != NULL) {
$newnumber = ($number + "1");
print ("[$number]");
$number = $newnumber;
}
print (" = new makeOption(\"$myrow[2]\",
\"$myrow[1]$myrow[3]\");\n");

Source Reference 6
Loading JavaScript Arrays with MySQL Data
}
?>

The drop down menu with skills is also database driven so that new skills can easily be added to the database.
Here is the code that was used to generate it.

<SELECT NAME="industry" onChange="relate(this.form)">


<?
$db = mysql_connect("localhost", "root", "");
mysql_select_db("extranet",$db);

$sql2 = "SELECT DISTINCT


s.skill_id,
p.skill_id,
skill_name ";

$sql2 .= "FROM
skill s,
person_skill p
WHERE
s.skill_id = p.skill_id
ORDER BY
s.skill_id";

$result2 = mysql_query($sql2);

while ($myrow2 = mysql_fetch_row($result2)) {


print ("

The following is the code to build and populate the the tables that are used in this module. It can be cut out of
the web page and then pasted into a text file on your database server where it can then be imported by MySQL
using the mysqlimport command.

#
# Table structure for table 'personnel'
#
CREATE TABLE personnel (
person_id int(11) DEFAULT '0' NOT NULL auto_increment,
first_name varchar(15),
last_name varchar(15),
company varchar(30),
PRIMARY KEY (person_id)
);

Source Reference 7
Loading JavaScript Arrays with MySQL Data
# Dumping data for table 'personnel'
#

INSERT INTO personnel (person_id, last_name, first_name,


company) VALUES (34,'Turok','Steve','1');
INSERT INTO personnel (person_id, last_name, first_name,
company) VALUES (32,'Berman','Randal','1');
INSERT INTO personnel (person_id, last_name, first_name,
company) VALUES (30,' Vi
jaya','Narayanas','1');
INSERT INTO personnel (person_id, last_name, first_name,
company) VALUES (27,' Jo
han','Lindgren','1');
INSERT INTO personnel (person_id, last_name, first_name,
company) VALUES (22,'Christiansen','Steve','1');
INSERT INTO personnel (person_id, last_name, first_name,
company) VALUES (15,'Crown','Tom','1');
INSERT INTO personnel (person_id, first_name, last_name,
company) VALUES (36,'Cider','Eric','1');
INSERT INTO personnel (person_id, first_name, last_name,
company) VALUES (42,'Bolton','Liz','1');
INSERT INTO personnel (person_id, first_name, last_name,
company) VALUES (43,'Tuti','Berna','1');
INSERT INTO personnel (person_id, first_name, last_name,
company) VALUES (44,'Dong','Enormai','1');

#
# Table structure for table 'person_skill'
#
CREATE TABLE person_skill (
person_id int(11) DEFAULT '0' NOT NULL,
skill_id tinyint(2),
level tinyint(1)
);

#
# Dumping data for table 'person_skill'
#

INSERT INTO person_skill (person_id, skill_id, level)


VALUES (15,1,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (15,2,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (22,1,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (22,2,NULL);

Source Reference 8
Loading JavaScript Arrays with MySQL Data
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (27,3,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (30,6,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (32,1,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (32,2,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (34,1,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (34,2,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (34,7,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (36,1,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (36,2,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (42,1,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (42,2,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (42,7,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (43,4,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (43,2,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (43,3,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (44,2,NULL);
INSERT INTO person_skill (person_id, skill_id, level)
VALUES (44,3,NULL);

#
# Table structure for table 'skill'
#
CREATE TABLE skill (
skill_id int(11) DEFAULT '0' NOT NULL auto_increment,
skill_name varchar(20),
skill_desc varchar(250),
PRIMARY KEY (skill_id)
);

#
# Dumping data for table 'skill'
#

Source Reference 9
Loading JavaScript Arrays with MySQL Data
INSERT INTO skill (skill_id, skill_name, skill_desc)
VALUES (6,'Oracle',NULL);
INSERT INTO skill (skill_id, skill_name, skill_desc)
VALUES (5,'ASP',NULL);
INSERT INTO skill (skill_id, skill_name, skill_desc)
VALUES (4,'Cold Fusion',NULL);
INSERT INTO skill (skill_id, skill_name, skill_desc)
VALUES (3,'Vignette',NULL);
INSERT INTO skill (skill_id, skill_name, skill_desc)
VALUES (2,'JavaScript',NULL);
INSERT INTO skill (skill_id, skill_name, skill_desc)
VALUES (1,'HTML',NULL);
INSERT INTO skill (skill_id, skill_name, skill_desc)
VALUES (7,'MySQL',NULL);

Source Reference 10
Other documents randomly have
different content
Sur les blancheurs de son épaule,
Paros au grain éblouissant,
Comme dans une nuit du pôle,
Un givre invisible descend.

De quel mica de neige vierge,


De quelle moelle de roseau,
De quelle hostie et de quel cierge
A-t-on fait le blanc de sa peau?

A-t-on pris la goutte lactée


Tachant l'azur du ciel d'hiver,
Le lis à la pulpe argentée,
La blanche écume de la mer;

Le marbre blanc, chair froide et pâle


Où vivent les divinités;
L'argent mat, la laiteuse opale
Qu'irisent de vagues clartés;

L'ivoire, où ses mains ont des ailes,


Et, comme des papillons blancs,
Sur la pointe des notes frêles
Suspendent leurs baisers tremblants;

L'hermine vierge de souillure,


Qui, pour abriter leurs frissons,
Ouate de sa blanche fourrure
Les épaules et les blasons;

Le vif-argent aux fleurs fantasques


Dont les vitraux sont ramagés;
Les blanches dentelles des vasques,
Pleurs de l'ondine en l'air figés;

L'aubépine de mai qui plie


Sous les blancs frimas de ses fleurs;
L'albâtre où la mélancolie
Aime à retrouver ses pâleurs;

Le duvet blanc de la colombe,


Neigeant sur les toits du manoir,
Et la stalactite qui tombe,
Larme blanche de l'antre noir?

Des Groenlands et des Norvéges


Vient-elle avec Séraphita?
Est-ce la Madone des neiges,
Un sphinx blanc que l'hiver sculpta,

Sphinx enterré par l'avalanche,


Gardien des glaciers étoilés,
Et qui, sous sa poitrine blanche,
Cache de blancs secrets gelés?

Sous la glace où calme il repose,


Oh! qui pourra fondre ce cœur!
Oh! qui pourra mettre un ton rose
Dans cette implacable blancheur!
COQUETTERIE POSTHUME
Quand je mourrai, que l'on me mette,
Avant de clouer mon cercueil,
Un peu de rouge à la pommette,
Un peu de noir au bord de l'œil.

Car je veux, dans ma bière close,


Comme le soir de son aveu,
Rester éternellement rose
Avec du kh'ol sous mon œil bleu.

Pas de suaire en toile fine,


Mais drapez-moi dans les plis blancs
De ma robe de mousseline,
De ma robe à treize volants.

C'est ma parure préférée;


Je la portais quand je lui plus.
Son premier regard l'a sacrée,
Et depuis je ne la mis plus.

Posez-moi, sans jaune immortelle,


Sans coussin de larmes brodé,
Sur mon oreiller de dentelle
De ma chevelure inondé.

Cet oreiller, dans les nuits folles,


A vu dormir nos fronts unis,
Et sous le drap noir des gondoles
Compté nos baisers infinis.
Entre mes mains de cire pâle,
Que la prière réunit,
Tournez ce chapelet d'opale,
Par le pape à Rome bénit:

Je l'égrènerai dans la couche


D'où nul encor ne s'est levé;
Sa bouche en a dit sur ma bouche
Chaque Pater et chaque Ave.
DIAMANT DU CŒUR
Tout amoureux, de sa maîtresse,
Sur son cœur ou dans son tiroir,
Possède un gage qu'il caresse
Aux jours de regret ou d'espoir.

L'un d'une chevelure noire,


Par un sourire encouragé,
A pris une boucle que moire
Un reflet bleu d'aile de geai.

L'autre a, sur un cou blanc qui ploie,


Coupé par derrière un flocon
Retors et fin comme la soie
Que l'on dévide du cocon.

Un troisième, au fond d'une boîte,


Reliquaire du souvenir,
Cache un gant blanc, de forme étroite,
Où nulle main ne peut tenir.

Cet autre, pour s'en faire un charme,


Dans un sachet, d'un chiffre orné,
Coud des violettes de Parme,
Frais cadeau qu'on reprend fané.

Celui-ci baise la pantoufle


Que Cendrillon perdit un soir;
Et celui-ci conserve un souffle
Dans la barbe d'un masque noir.
Moi, je n'ai ni boucle lustrée,
Ni gant, ni bouquet, ni soulier,
Mais je garde, empreinte adorée,
Une larme sur un papier:

Pure rosée, unique goutte,


D'un ciel d'azur tombée un jour,
Joyau sans prix, perle dissoute
Dans la coupe de mon amour!

Et, pour moi, cette obscure tache


Reluit comme un écrin d'Ophyr,
Et du vélin bleu se détache,
Diamant éclos d'un saphir.

Cette larme, qui fait ma joie,


Roula, trésor inespéré,
Sur un de mes vers qu'elle noie,
D'un œil qui n'a jamais pleuré!
PREMIER SOURIRE DU PRINTEMPS
Tandis qu'à leurs œuvres perverses
Les hommes courent haletants,
Mars qui rit, malgré les averses,
Prépare en secret le printemps.

Pour les petites pâquerettes,


Sournoisement lorsque tout dort,
Il repasse des collerettes
Et cisèle des boutons d'or.

Dans le verger et dans la vigne,


Il s'en va, furtif perruquier,
Avec une houppe de cygne,
Poudrer à frimas l'amandier.

La nature au lit se repose;


Lui, descend au jardin désert
Et lace les boutons de rose
Dans leur corset de velours vert.

Tout en composant des solféges,


Qu'aux merles il siffle à mi-voix,
Il sème aux prés les perce-neiges
Et les violettes aux bois.

Sur le cresson de la fontaine


Où le cerf boit, l'oreille au guet,
De sa main cachée il égrène
Les grelots d'argent du muguet.
Sous l'herbe, pour que tu la cueilles,
Il met la fraise au teint vermeil,
Et te tresse un chapeau de feuilles
Pour te garantir du soleil.

Puis, lorsque sa besogne est faite,


Et que son règne va finir,
Au seuil d'avril tournant la tête,
Il dit: «Printemps, tu peux venir!»
CONTRALTO
On voit dans le musée antique,
Sur un lit de marbre sculpté,
Une statue énigmatique
D'une inquiétante beauté.

Est-ce un jeune homme? est-ce une femme,


Une déesse, ou bien un dieu?
L'amour, ayant peur d'être infâme,
Hésite et suspend son aveu.

Dans sa pose malicieuse,


Elle s'étend, le dos tourné
Devant la foule curieuse,
Sur son coussin capitonné.

Pour faire sa beauté maudite,


Chaque sexe apporta son don.
Tout homme dit: C'est Aphrodite!
Toute femme: C'est Cupidon!

Sexe douteux, grâce certaine,


On dirait ce corps indécis
Fondu, dans l'eau de la fontaine,
Sous les baisers de Salmacis.

Chimère ardente, effort suprême


De l'art et de la volupté,
Monstre charmant, comme je t'aime
Avec ta multiple beauté!
Bien qu'on défende ton approche,
Sous la draperie aux plis droits
Dont le bout à ton pied s'accroche,
Mes yeux ont plongé bien des fois.

Rêve de poëte et d'artiste,


Tu m'as bien des nuits occupé,
Et mon caprice qui persiste
Ne convient pas qu'il s'est trompé.

Mais seulement il se transpose,


Et, passant de la forme au son,
Trouve dans sa métamorphose
La jeune fille et le garçon.

Que tu me plais, ô timbre étrange!


Son double, homme et femme à la fois,
Contralto, bizarre mélange,
Hermaphrodite de la voix!

C'est Roméo, c'est Juliette,


Chantant avec un seul gosier;
Le pigeon rauque et la fauvette
Perchés sur le même rosier;

C'est la châtelaine qui raille


Son beau page parlant d'amour;
L'amant au pied de la muraille,
La dame au balcon de sa tour;

Le papillon, blanche étincelle,


Qu'en ses détours et ses ébats
Poursuit un papillon fidèle,
L'un volant haut et l'autre bas;

L'ange qui descend et qui monte


Sur l'escalier d'or voltigeant;
La cloche mêlant dans sa fonte
La voix d'airain, la voix d'argent;

La mélodie et l'harmonie,
Le chant et l'accompagnement;
A la grâce la force unie,
La maîtresse embrassant l'amant!

Sur le pli de sa jupe assise,


Ce soir, ce sera Cendrillon
Causant près du feu qu'elle attise
Avec son ami le grillon;

Demain le valeureux Arsace


A son courroux donnant l'essor,
Ou Tancrède avec sa cuirasse,
Son épée et son casque d'or;

Desdemona chantant le Saule,


Zerline bernant Mazetto,
Ou Malcolm le plaid sur l'épaule;
C'est toi que j'aime, ô contralto!

Nature charmante et bizarre


Que Dieu d'un double attrait para,
Toi qui pourrais, comme Gulnare,
Être le Kaled d'un Lara,

Et dont la voix, dans sa caresse,


Réveillant le cœur endormi,
Mêle aux soupirs de la maîtresse
L'accent plus mâle de l'ami!
CÆRULEI OCULI
Une femme mystérieuse,
Dont la beauté trouble mes sens,
Se tient debout, silencieuse,
Au bord des flots retentissants.

Ses yeux, où le ciel se reflète,


Mêlent à leur azur amer,
Qu'étoile une humide paillette,
Les teintes glauques de la mer.

Dans les langueurs de leurs prunelles,


Une grâce triste sourit;
Les pleurs mouillent les étincelles
Et la lumière s'attendrit;

Et leurs cils comme des mouettes


Qui rasent le flot aplani,
Palpitent, ailes inquiètes,
Sur leur azur indéfini.

Comme dans l'eau bleue et profonde,


Où dort plus d'un trésor coulé,
On y découvre à travers l'onde
La coupe du roi de Thulé.

Sous leur transparence verdâtre,


Brille parmi le goémon,
L'autre perle de Cléopâtre
Près de l'anneau de Salomon.
La couronne au gouffre lancée
Dans la ballade de Schiller,
Sans qu'un plongeur l'ait ramassée,
Y jette encor son reflet clair.

Un pouvoir magique m'entraîne


Vers l'abîme de ce regard,
Comme au sein des eaux la sirène
Attirait Harald Harfagar.

Mon âme, avec la violence


D'un irrésistible désir,
Au milieu du gouffre s'élance
Vers l'ombre impossible à saisir.

Montrant son sein, cachant sa queue,


La sirène amoureusement
Fait ondoyer sa blancheur bleue
Sous l'émail vert du flot dormant.

L'eau s'enfle comme une poitrine


Aux soupirs de la passion;
Le vent, dans sa conque marine,
Murmure une incantation.

«Oh! viens dans ma couche de nacre,


Mes bras d'onde t'enlaceront;
Les flots, perdant leur saveur âcre,
Sur ta bouche, en miel couleront.

«Laissant bruire sur nos têtes,


La mer qui ne peut s'apaiser,
Nous boirons l'oubli des tempêtes
Dans la coupe de mon baiser.»

Ainsi parle la voix humide


De ce regard céruléen,
Et mon cœur, sous l'onde perfide,
Se noie et consomme l'hymen.
RONDALLA
Enfant aux airs d'impératrice,
Colombe aux regards de faucon,
Tu me hais, mais c'est mon caprice,
De me planter sous ton balcon.

Là, je veux, le pied sur la borne,


Pinçant les nerfs, tapant le bois,
Faire luire à ton carreau morne
Ta lampe et ton front à la fois.

Je défends à toute guitare


De bourdonner aux alentours.
Ta rue est à moi:—je la barre
Pour y chanter seul mes amours,

Et je coupe les deux oreilles


Au premier racleur de jambon
Qui devant la chambre où tu veilles
Braille un couplet mauvais ou bon.

Dans sa gaîne mon couteau bouge;


Allons, qui veut de l'incarnat?
A son jabot qui veut du rouge
Pour faire un bouton de grenat?

Le sang dans les veines s'ennuie,


Car il est fait pour se montrer;
Le temps est noir, gare la pluie!
Poltrons, hâtez-vous de rentrer.
Sortez, vaillants! sortez, bravaches!
L'avant-bras couvert du manteau,
Que sur vos faces de gavaches
J'écrive des croix au couteau!

Qu'ils s'avancent! seuls ou par bande,


De pied ferme je les attends.
A ta gloire il faut que je fende
Les naseaux de ces capitans.

Au ruisseau qui gêne ta marche


Et pourrait salir tes pieds blancs,
Corps du Christ! je veux faire une arche
Avec les côtes des galants.

Pour te prouver combien je t'aime,


Dis, je tuerai qui tu voudras:
J'attaquerai Satan lui-même,
Si pour linceul j'ai tes deux draps.

Porte sourde!—Fenêtre aveugle!


Tu dois pourtant ouïr ma voix;
Comme un taureau blessé je beugle,
Des chiens excitant les abois!

Au moins plante un clou dans ta porte:


Un clou pour accrocher mon cœur.
A quoi sert que je le remporte
Fou de rage, mort de langueur?
NOSTALGIES D'OBÉLISQUES

I
L'OBÉLISQUE DE PARIS

Sur cette place je m'ennuie,


Obélisque dépareillé;
Neige, givre, bruine et pluie
Glacent mon flanc déjà rouillé;

Et ma vieille aiguille, rougie


Aux fournaises d'un ciel de feu,
Prend des pâleurs de nostalgie
Dans cet air qui n'est jamais bleu.

Devant les colosses moroses


Et les pylônes de Luxor,
Près de mon frère aux teintes roses
Que ne suis-je debout encor,

Plongeant dans l'azur immuable


Mon pyramidion vermeil,
Et de mon ombre, sur le sable,
Écrivant les pas du soleil!

Rhamsès, un jour mon bloc superbe,


Où l'éternité s'ébréchait,
Roula fauché comme un brin d'herbe,
Et Paris s'en fit un hochet.

La sentinelle granitique,
Gardienne des énormités,
Se dresse entre un faux temple antique
Et la chambre des députés.

Sur l'échafaud de Louis seize,


Monolithe au sens aboli,
On a mis mon secret, qui pèse
Le poids de cinq mille ans d'oubli.

Les moineaux francs souillent ma tête,


Où s'abattaient dans leur essor
L'ibis rose et le gypaëte
Au blanc plumage, aux serres d'or.

La Seine, noir égout des rues,


Fleuve immonde fait de ruisseaux,
Salit mon pied, que dans ses crues
Baisait le Nil, père des eaux,

Le Nil, géant à barbe blanche


Coiffé de lotus et de joncs,
Versant de son urne qui penche
Des crocodiles pour goujons!

Les chars d'or étoilés de nacre


Des grands pharaons d'autrefois
Rasaient mon bloc heurté du fiacre
Emportant le dernier des rois.

Jadis, devant ma pierre antique,


Le pschent au front, les prêtres saints
Promenaient la bari mystique
Aux emblèmes dorés et peints;
Mais aujourd'hui, pilier profane
Entre deux fontaines campé,
Je vois passer la courtisane
Se renversant dans son coupé.

Je vois, de janvier à décembre,


La procession des bourgeois,
Les Solons qui vont à la chambre,
Et les Arthurs qui vont au bois.

Oh! dans cent ans quels laids squelettes


Fera ce peuple impie et fou,
Qui se couche sans bandelettes
Dans des cercueils que ferme un clou,

Et n'a pas même d'hypogées


A l'abri des corruptions,
Dortoirs où, par siècles rangées,
Plongent les générations!

Sol sacré des hiéroglyphes


Et des secrets sacerdotaux,
Où les sphinx s'aiguisent les griffes
Sur les angles des piédestaux,

Où sous le pied sonne la crypte,


Où l'épervier couve son nid,
Je te pleure, ô ma vieille Égypte,
Avec des larmes de granit!

II
L'OBÉLISQUE DE LUXOR

Je veille, unique sentinelle


De ce grand palais dévasté,
Dans la solitude éternelle,
En face de l'immensité.

A l'horizon que rien ne borne,


Stérile, muet, infini,
Le désert sous le soleil morne,
Déroule son linceul jauni.

Au-dessus de la terre nue,


Le ciel, autre désert d'azur,
Où jamais ne flotte une nue,
S'étale implacablement pur.

Le Nil, dont l'eau morte s'étame


D'une pellicule de plomb,
Luit, ridé par l'hippopotame,
Sous un jour mat tombant d'aplomb;

Et les crocodiles rapaces,


Sur le sable en feu des îlots,
Demi-cuits dans leurs carapaces,
Se pâment avec des sanglots.

Immobile sur son pied grêle,


L'ibis, le bec dans son jabot,
Déchiffre au bout de quelque stèle
Le cartouche sacré de Thot.

L'hyène rit, le chacal miaule,


Et, traçant des cercles dans l'air,
L'épervier affamé piaule,
Noire virgule du ciel clair.

Mais ces bruits de la solitude


Sont couverts par le bâillement
Des sphinx, lassés de l'attitude
Qu'ils gardent immuablement.

Produit des blancs reflets du sable


Et du soleil toujours brillant,
Nul ennui ne t'est comparable,
Spleen lumineux de l'Orient!

C'est toi qui faisais crier: Grâce!


A la satiété des rois
Tombant vaincus sur leur terrasse,
Et tu m'écrases de ton poids.

Ici jamais le vent n'essuie


Une larme à l'œil sec des cieux,
Et le temps fatigué s'appuie
Sur les palais silencieux.

Pas un accident ne dérange


La face de l'éternité;
L'Égypte, en ce monde où tout change,
Trône sur l'immobilité.

Pour compagnons et pour amies,


Quand l'ennui me prend par accès,
J'ai les fellahs et les momies
Contemporaines de Rhamsès;

Je regarde un pilier qui penche,


Un vieux colosse sans profil
Et les canges à voile blanche
Montant ou descendant le Nil.

Que je voudrais comme mon frère,


Dans ce grand Paris transporté,
Auprès de lui, pour me distraire,
Sur une place être planté!
Là-bas, il voit à ses sculptures
S'arrêter un peuple vivant,
Hiératiques écritures,
Que l'idée épelle en rêvant.

Les fontaines juxtaposées


Sur la poudre de son granit
Jettent leurs brumes irisées;
II est vermeil, il rajeunit!

Des veines roses de Syène


Comme moi cependant il sort,
Mais je reste à ma place ancienne;
II est vivant et je suis mort!
VIEUX DE LA VIEILLE
15 DÉCEMBRE

Par l'ennui chassé de ma chambre,


J'errais le long du boulevard:
II faisait un temps de décembre,
Vent froid, fine pluie et brouillard;

Et là je vis, spectacle étrange,


Échappés du sombre séjour,
Sous la bruine et dans la fange,
Passer des spectres en plein jour.

Pourtant c'est la nuit que les ombres,


Par un clair de lune allemand,
Dans les vieilles tours en décombres,
Reviennent ordinairement;

C'est la nuit que les Elfes sortent


Avec leur robe humide au bord,
Et sous les nénuphars emportent
Leur valseur de fatigue mort;

C'est la nuit qu'a lieu la revue


Dans la ballade de Zedlitz,
Où l'Empereur, ombre entrevue,
Compte les ombres d'Austerlitz.

Mais des spectres près du Gymnase,


A deux pas des Variétés,
Sans brume ou linceul qui les gaze,
Des spectres mouillés et crottés!

Avec ses dents jaunes de tartre,


Son crâne de mousse verdi,
A Paris, boulevard Montmartre,
Mob se montrant en plein midi!

La chose vaut qu'on la regarde:


Trois fantômes de vieux grognards,
En uniformes de l'ex-garde,
Avec deux ombres de hussards!

On eût dit la lithographie


Où, dessinés par un rayon,
Les morts, que Raffet déifie,
Passent, criant: Napoléon!

Ce n'était pas les morts qu'éveille


Le son du nocturne tambour,
Mais bien quelques vieux de la vieille
Qui célébraient le grand retour.

Depuis la suprême bataille,


L'un a maigri, l'autre a grossi;
L'habit jadis fait à leur taille,
Est trop grand ou trop rétréci.

Nobles lambeaux, défroque épique,


Saints haillons, qu'étoile une croix,
Dans leur ridicule héroïque
Plus beaux que des manteaux de rois!

Un plumet énervé palpite


Sur leur kolbach fauve et pelé;
Près des trous de balle, la mite
A rongé leur dolman criblé;
Leur culotte de peau trop large
Fait mille plis sur leur fémur;
Leur sabre rouillé, lourde charge,
Creuse le sol et bat le mur;

Ou bien un embonpoint grotesque,


Avec grand'peine boutonné,
Fait un poussah, dont on rit presque,
Du vieux héros tout chevronné.

Ne les raillez pas, camarade;


Saluez plutôt chapeau bas
Ces Achilles d'une Iliade
Qu'Homère n'inventerait pas.

Respectez leur tête chenue!


Sur leur front par vingt cieux bronzé,
La cicatrice continue
Le sillon que l'âge a creusé.

Leur peau, bizarrement noircie,


Dit l'Égypte aux soleils brûlants;
Et les neiges de la Russie
Poudrent encor leurs cheveux blancs.

Si leurs mains tremblent, c'est sans doute


Du froid de la Bérésina;
Et s'ils boitent, c'est que la route
Est longue du Caire à Wilna;

S'ils sont perclus, c'est qu'à la guerre


Les drapeaux étaient leurs seuls draps;
Et si leur manche ne va guère,
C'est qu'un boulet a pris leur bras.

Ne nous moquons pas de ces hommes


Qu'en riant le gamin poursuit;
Ils furent le jour dont nous sommes
Le soir et peut-être la nuit.

Quand on oublie, ils se souviennent.


Lancier rouge et grenadier bleu,
Au pied de la colonne, ils viennent
Comme à l'autel de leur seul dieu.

Là, fiers de leur longue souffrance,


Reconnaissants des maux subis,
Ils sentent le cœur de la France
Battre sous leurs pauvres habits.

Aussi les pleurs trempent le rire


En voyant ce saint carnaval,
Cette mascarade d'empire,
Passer comme un matin de bal;

Et l'aigle de la grande armée


Dans le ciel qu'emplit son essor,
Du fond d'une gloire enflammée,
Étend sur eux ses ailes d'or!
TRISTESSE EN MER
Les mouettes volent et jouent;
Et les blancs coursiers de la mer,
Cabrés sur les vagues, secouent
Leurs crins échevelés dans l'air.

Le jour tombe; une fine pluie


Éteint les fournaises du soir,
Et le steam-boat crachant la suie
Rabat son long panache noir.

Plus pâle que le ciel livide


Je vais au pays du charbon,
Du brouillard et du suicide;
—Pour se tuer le temps est bon.

Mon désir avide se noie


Dans le gouffre amer qui blanchit;
Le vaisseau danse, l'eau tournoie,
Le vent de plus en plus fraîchit.

Oh! je me sens l'âme navrée;


L'Océan gonfle, en soupirant,
Sa poitrine désespérée,
Comme un ami qui me comprend.

Allons, peines d'amour perdues,


Espoirs lassés, illusions
Du socle idéal descendues,
Un saut dans les moites sillons!
A la mer, souffrances passées,
Qui revenez toujours, pressant
Vos blessures cicatrisées
Pour leur faire pleurer du sang!

A la mer, spectre de mes rêves,


Regrets aux mortelles pâleurs
Dans un cœur rouge ayant sept glaives,
Comme la Mère des douleurs.

Chaque fantôme plonge et lutte


Quelques instants avec le flot
Qui sur lui ferme sa volute
Et l'engloutit dans un sanglot.

Lest de l'âme, pesant bagage,


Trésors misérables et chers,
Sombrez, et dans votre naufrage
Je vais vous suivre au fond des mers!

Bleuâtre, enflé, méconnaissable,


Bercé par le flot qui bruit,
Sur l'humide oreiller du sable
Je dormirai bien cette nuit!

… Mais une femme dans sa mante


Sur le pont assise à l'écart,
Une femme jeune et charmante
Lève vers moi son long regard.

Dans ce regard, à ma détresse


La Sympathie aux bras ouverts
Parle et sourit, sœur ou maîtresse.
Salut, yeux bleus! bonsoir, flots verts!

Les mouettes volent et jouent;


Et les blancs coursiers de la mer,
Cabrés sur les vagues, secouent
Leurs crins échevelés dans l'air.
A UNE ROBE ROSE
Que tu me plais dans cette robe
Qui te déshabille si bien,
Faisant jaillir ta gorge en globe,
Montrant tout nu ton bras païen!

Frêle comme une aile d'abeille,


Frais comme un cœur de rose-thé,
Son tissu, caresse vermeille,
Voltige autour de ta beauté.

De l'épiderme sur la soie


Glissent des frissons argentés,
Et l'étoffe à la chair renvoie
Ses éclairs roses reflétés.

D'où te vient cette robe étrange


Qui semble faite de ta chair,
Trame vivante qui mélange
Avec ta peau son rose clair?

Est-ce à la rougeur de l'aurore,


A la coquille de Vénus,
Au bouton de sein près d'éclore,
Que sont pris ces tons inconnus?

Ou bien l'étoffe est-elle teinte


Dans les roses de ta pudeur?
Non; vingt fois modelée et peinte,
Ta forme connaît sa splendeur.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookball.com

You might also like