Connection a un base

Signaler
Messages postés
6
Date d'inscription
vendredi 15 février 2002
Statut
Membre
Dernière intervention
22 mars 2002
-
Messages postés
8
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
16 avril 2002
-
Bonjour!!

j'ai fais un menu qui se modifie grace a un script de drag'n drop et je voudrai pouvoir enregistrer c'est modif dans la base!
Donc si qlq1 peu me repondre!

merci d'avance

8 réponses

Messages postés
8
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
16 avril 2002

Ben fais pété qu'on y regarde de plus pres ;-))
Messages postés
6
Date d'inscription
vendredi 15 février 2002
Statut
Membre
Dernière intervention
22 mars 2002

Accroche toi je te fil tt le source!
je ve a terme que la modification du drag'n drop soit affecté dans une base.

<html>
<head>
<title>java copier coller 1</title>
</head>

<SCRIPT LANGUAGE="JavaScript">
/* static object points to drag object if we are dragging */
var dragObject;
var X, Y;

function Document_OnMouseDown(e) {
/* try to find a parent element that is a TR tag and is marked dragable */
var element=window.event.srcElement;
while (element && (element.nodeName!="tr") && (element.drag!="enable")) {
if (element.drag=="inhibit") return;
element=element.parentElement;
}

/* if element found, enter drag mode */
if (element) {
/* find the parent table */
var parentTable = element;
while (parentTable && (parentTable.nodeName!="TABLE"))
parentTable = parentTable.parentElement;
if (!parentTable) { alert("cant find the parent TABLE!"); return }

/* create the div object we will drag */
dragObject = document.createElement("DIV");
dragObject.style.position = "absolute";
dragObject.style.pixelLeft = event.clientX;
dragObject.style.pixelTop = event.clientY;

/* save a reference to the dragging rows parent */
dragObject.parentTable = parentTable;
dragObject.dragRow = element;

/* save reference to the TR at which we just left in case user instantly drops the row */
dragObject.insertMarker = document.createElement("DIV");
dragObject.insertMarker.insertPoint = element.nextSibling;
dragObject.insertMarker.insertBody = element.parentElement;

/* create the table element within the div tag and set its
properties equal to dragging rows parent table */
var eTable = document.createElement("TABLE");
eTable.style.width = parentTable.offsetWidth;
eTable.border = parentTable.border;
eTable.cellpadding = parentTable.cellpadding;
eTable.cellspacing = parentTable.cellspacing;

/* add the TR tag to the drag object and save a reference to it */
var tBody = eTable.appendChild( document.createElement("tBODY"));
var eRow = tBody.insertRow()
eRow.replaceNode(element);
dragObject.appendChild(eTable);

/* shrink the row for dragging */
dragObject.style.zoom = "0.6";

/* add div tag to document */
document.body.appendChild(dragObject);

/* store the x and y position the mouse down event happened at within the drag Object */
X=event.offsetX;
Y=event.offsetY;
}
}

function Document_OnMouseMove(e) {
if (dragObject) {
/* update the dragging cell */
dragObject.style.pixelLeft = event.clientX + document.body.scrollLeft+5;
dragObject.style.pixelTop = event.clientY + document.body.scrollTop+5;

/* remove any old insert marker */
if (dragObject.insertMarker)
dragObject.insertMarker.removeNode(true);

/* find out if we are hovering over a tr cell */
element = window.event.srcElement;
while (element && (element.nodeName!="tr") && (element.drag!="enable")) {
if (element.drag=="inhibit") return;
element=element.parentElement;
}

/* draw a red line snapped to the row insert position */
if (element) {
/* create the div object we will drag */
var insertMarker = document.createElement("DIV");
insertMarker.style.position = "absolute";

/* mark the TR at which the marker is referencing */
insertMarker.insertPoint = element;
insertMarker.insertBody = element.parentElement;

/* set the html inside the insert marker */
//insertMarker.innerHTML = ", ,
";

/* size the insert marker */
insertMarker.style.pixelLeft = element.offsetLeft + element.offsetParent.offsetLeft - 9;
insertMarker.style.pixelWidth = element.offsetWidth+18;
insertMarker.style.pixelTop = element.offsetTop + element.offsetParent.offsetTop - 4;

/* Pour descendre la ligne */
if (event.clientY-insertMarker.style.pixelTop > element.offsetHeight/2) {
insertMarker.style.pixelTop += element.offsetHeight;
insertMarker.insertPoint = element.nextSibling;
}

/* add the insert marker to the document */
dragObject.insertMarker = document.body.appendChild(insertMarker);
}

return false;
}
}

function Document_OnMouseUp() {
if (dragObject) {
/* delete the drag object */
dragObject.removeNode(true)

/* insert at the point at which the marker is */
if (dragObject.insertMarker) {
var afterRow = dragObject.insertMarker.insertPoint;

var newRow = dragObject.insertMarker.insertBody.insertRow(dragObject.insertMarker.insertPoint ? dragObject.insertMarker.insertPoint.rowIndex : -1);
newRow.replaceNode(dragObject.dragRow);
}

/* remove any old insert marker */
if (dragObject.insertMarker)
dragObject.insertMarker.removeNode(true)

/* stop dragging */
dragObject = null;
}
}

document.onmousedown = Document_OnMouseDown;
document.onmousemove = Document_OnMouseMove;
document.onmouseup = Document_OnMouseUp;

// End -->
</script>

Intervenant 1,

----

<table width=20% border=0 cellpadding=0 cellspacing=0>
----,
<table width=100% height=100 border=0>

</td>
</tr>
<tr drag=enable>
<td style="cursor:move">
text 1

</td>
</tr>
<tr drag=enable>
<td style="cursor:move">
texte2

</td>
</tr>
<tr drag=enable>
<td style="cursor:move">
texte3

</td>
</tr>
</table>
</td>
</tr>
</table>

</html>
Messages postés
6
Date d'inscription
vendredi 15 février 2002
Statut
Membre
Dernière intervention
22 mars 2002

Accroche toi je te fil tt le source!
je ve a terme que la modification du drag'n drop soit affecté dans une base.

<html>
<head>
<title>java copier coller 1</title>
</head>

<SCRIPT LANGUAGE="JavaScript">
/* static object points to drag object if we are dragging */
var dragObject;
var X, Y;

function Document_OnMouseDown(e) {
/* try to find a parent element that is a TR tag and is marked dragable */
var element=window.event.srcElement;
while (element && (element.nodeName!="tr") && (element.drag!="enable")) {
if (element.drag=="inhibit") return;
element=element.parentElement;
}

/* if element found, enter drag mode */
if (element) {
/* find the parent table */
var parentTable = element;
while (parentTable && (parentTable.nodeName!="TABLE"))
parentTable = parentTable.parentElement;
if (!parentTable) { alert("cant find the parent TABLE!"); return }

/* create the div object we will drag */
dragObject = document.createElement("DIV");
dragObject.style.position = "absolute";
dragObject.style.pixelLeft = event.clientX;
dragObject.style.pixelTop = event.clientY;

/* save a reference to the dragging rows parent */
dragObject.parentTable = parentTable;
dragObject.dragRow = element;

/* save reference to the TR at which we just left in case user instantly drops the row */
dragObject.insertMarker = document.createElement("DIV");
dragObject.insertMarker.insertPoint = element.nextSibling;
dragObject.insertMarker.insertBody = element.parentElement;

/* create the table element within the div tag and set its
properties equal to dragging rows parent table */
var eTable = document.createElement("TABLE");
eTable.style.width = parentTable.offsetWidth;
eTable.border = parentTable.border;
eTable.cellpadding = parentTable.cellpadding;
eTable.cellspacing = parentTable.cellspacing;

/* add the TR tag to the drag object and save a reference to it */
var tBody = eTable.appendChild( document.createElement("tBODY"));
var eRow = tBody.insertRow()
eRow.replaceNode(element);
dragObject.appendChild(eTable);

/* shrink the row for dragging */
dragObject.style.zoom = "0.6";

/* add div tag to document */
document.body.appendChild(dragObject);

/* store the x and y position the mouse down event happened at within the drag Object */
X=event.offsetX;
Y=event.offsetY;
}
}

function Document_OnMouseMove(e) {
if (dragObject) {
/* update the dragging cell */
dragObject.style.pixelLeft = event.clientX + document.body.scrollLeft+5;
dragObject.style.pixelTop = event.clientY + document.body.scrollTop+5;

/* remove any old insert marker */
if (dragObject.insertMarker)
dragObject.insertMarker.removeNode(true);

/* find out if we are hovering over a tr cell */
element = window.event.srcElement;
while (element && (element.nodeName!="tr") && (element.drag!="enable")) {
if (element.drag=="inhibit") return;
element=element.parentElement;
}

/* draw a red line snapped to the row insert position */
if (element) {
/* create the div object we will drag */
var insertMarker = document.createElement("DIV");
insertMarker.style.position = "absolute";

/* mark the TR at which the marker is referencing */
insertMarker.insertPoint = element;
insertMarker.insertBody = element.parentElement;

/* set the html inside the insert marker */
//insertMarker.innerHTML = ", ,
";

/* size the insert marker */
insertMarker.style.pixelLeft = element.offsetLeft + element.offsetParent.offsetLeft - 9;
insertMarker.style.pixelWidth = element.offsetWidth+18;
insertMarker.style.pixelTop = element.offsetTop + element.offsetParent.offsetTop - 4;

/* Pour descendre la ligne */
if (event.clientY-insertMarker.style.pixelTop > element.offsetHeight/2) {
insertMarker.style.pixelTop += element.offsetHeight;
insertMarker.insertPoint = element.nextSibling;
}

/* add the insert marker to the document */
dragObject.insertMarker = document.body.appendChild(insertMarker);
}

return false;
}
}

function Document_OnMouseUp() {
if (dragObject) {
/* delete the drag object */
dragObject.removeNode(true)

/* insert at the point at which the marker is */
if (dragObject.insertMarker) {
var afterRow = dragObject.insertMarker.insertPoint;

var newRow = dragObject.insertMarker.insertBody.insertRow(dragObject.insertMarker.insertPoint ? dragObject.insertMarker.insertPoint.rowIndex : -1);
newRow.replaceNode(dragObject.dragRow);
}

/* remove any old insert marker */
if (dragObject.insertMarker)
dragObject.insertMarker.removeNode(true)

/* stop dragging */
dragObject = null;
}
}

document.onmousedown = Document_OnMouseDown;
document.onmousemove = Document_OnMouseMove;
document.onmouseup = Document_OnMouseUp;

// End -->
</script>

Intervenant 1,

----

<table width=20% border=0 cellpadding=0 cellspacing=0>
----,
<table width=100% height=100 border=0>

</td>
</tr>
<tr drag=enable>
<td style="cursor:move">
text 1

</td>
</tr>
<tr drag=enable>
<td style="cursor:move">
texte2

</td>
</tr>
<tr drag=enable>
<td style="cursor:move">
texte3

</td>
</tr>
</table>
</td>
</tr>
</table>

</html>
Messages postés
8
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
16 avril 2002

Heuuu attends,

Déjà, ce que tu veux faire suppose que tu passes par un serveur HTTP puis, que sur ce serveur tu as un moteur de base de données : Jet par exemple.

Donc, il faut que ta page soit un script ASP ou PHP (selon les caractèristiques de ton serveur). Tu pourras alors déclencher un relaod de ta page à l'événement drag on drop en passant à ta page les informations que tu veux stocker dans la base.

Ok, c'est dans tes schémas ? :-))

Si oui, on continue ...

Dis moi tout ;-)

a++
Messages postés
6
Date d'inscription
vendredi 15 février 2002
Statut
Membre
Dernière intervention
22 mars 2002

ok!
pour info:
je tourne sous iis, sql server
ma page est une page jsp.

J'arrive a recuperer les données de la page jsp dans le javascript, ce que je cherche a faire c'est soit que le javacript ce connecte directement a la base et fais l'update ou qu'il me lance une servlet qui me fera le traitement!
le javacript peu me permetre de tel traitement????

merci d'avance!!!
Messages postés
8
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
16 avril 2002

Ouuuula, javascript sur le poste client est réduit du fait de la sécurité des navigateurs et du deal-up limité qu'il peut faire avec un serveur.
Deux solution s'offrent à toi :

C'est ton jsp qui enregistre les data dans la base ... mais tu vas me dire : recharger la page à chaque fois !!!! baaaa caca ... vivivi

Une autre solution consisterait à créé une applet qui s'occupe d'enregistrer les datas dans la base. Java et javascript communique bien dans un browser.

Tu en penses quoi ?
a++
Messages postés
6
Date d'inscription
vendredi 15 février 2002
Statut
Membre
Dernière intervention
22 mars 2002

Je suis d'accord avec toi!!
ce que je chercher donc a faire, c que mon javascript puisse me lancer une servlet java!!
Serai tu comment faire!!!

je sais! je sais! c pas evident mais c ce dont g besoin!!! ;)

merci encore
Messages postés
8
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
16 avril 2002

ouaip,

donc, il te faut une applet java chargé dans la page. Puis via javascript tu appelles les méthodes publiques de celle-ci.

Exemple :
- L'applet java -
import java.applet.Applet;
import netscape.javascript.*;

public class Test extends Applet {
public void myTest() {
return "toto";
}
}

... bon ...
dans ta page HTML

...
<script>
function myCoucou() {
alert( document.myapplet.myTest() );
}
</script>
...

Bon c'est un peu simpliste mais tu peux voir qu'on peux faire discuter ds un browser le javascript et une applet ... puis que ton applet accéde à la base de données pour enregistrer les datas, directement.

Certe, il faut voir le problème des règles de sécurité, surtout cotè server.

Voila, j'espére t'avoir apporté un aide ;-)

a++ et bon courage