Connection a un base

cs_lionel Messages postés 6 Date d'inscription vendredi 15 février 2002 Statut Membre Dernière intervention 22 mars 2002 - 21 mars 2002 à 11:33
neoprg Messages postés 8 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 16 avril 2002 - 22 mars 2002 à 19:12
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

neoprg Messages postés 8 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 16 avril 2002
21 mars 2002 à 12:25
Ben fais pété qu'on y regarde de plus pres ;-))
0
cs_lionel Messages postés 6 Date d'inscription vendredi 15 février 2002 Statut Membre Dernière intervention 22 mars 2002
21 mars 2002 à 12:43
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>
0
cs_lionel Messages postés 6 Date d'inscription vendredi 15 février 2002 Statut Membre Dernière intervention 22 mars 2002
21 mars 2002 à 14:50
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>
0
neoprg Messages postés 8 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 16 avril 2002
21 mars 2002 à 16:29
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++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_lionel Messages postés 6 Date d'inscription vendredi 15 février 2002 Statut Membre Dernière intervention 22 mars 2002
21 mars 2002 à 16:52
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!!!
0
neoprg Messages postés 8 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 16 avril 2002
21 mars 2002 à 18:15
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++
0
cs_lionel Messages postés 6 Date d'inscription vendredi 15 février 2002 Statut Membre Dernière intervention 22 mars 2002
22 mars 2002 à 09:20
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
0
neoprg Messages postés 8 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 16 avril 2002
22 mars 2002 à 19:12
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
0
Rejoignez-nous