Modifier une table jsp [Résolu]

galia69 - 4 sept. 2012 à 14:10 - Dernière réponse : cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 15 mars 2018 Dernière intervention
- 6 sept. 2012 à 08:30
Bonjour,

Je dispose d'une table qui est construite à partir de la saisie de formulaire. en bout de chaque ligne, je voudrais effectuer les opérations modifier et supprimer.

L'un de mes principaux problèmes est que je ne dispose pas d'une colonne dans ma table qui me revoie l'id de ma ligne...
il s'agit d'un table avec plusieurs colonnes, dateDebut, dateFin et message, je peux donc avoir plusieurs messages pour les mêmes dates.

Voici ma page d'accueil avec mes 2 boutons:
<%@ include file= "traitementBdd.jsp"%>
<%@ page errorPage="pageErreur.jsp"%>
<%@ page import="java.util.Date" %>
<!doctype html>

<html>
<head>
<title>Outils Pilotage MySys</title>
<meta charset="ISO-8859-1" />
<link rel="stylesheet" href="../../../OPM/css/general.css"/>
<link rel="stylesheet" href="../../../OPM/css/accueilMsg.css"/>	
<link rel="stylesheet" href="../../../OPM/javascript/jquery-ui/jquery-ui.css"/>



</head>

<section class="page">
<!--Import menu-->
<%@ include file="menu.jsp"%>
Bienvenue sur Outils Pilotage MySys


[nouvMsg.jsp Ajouter un message]
Message de service


<%
try{		
//Récupération de l'utilisateur
String user = gHabls.Utilisateur().getUserName().substring(1);
String caisse = gHabls.Utilisateur().getCaisse();
if (gHabls.estCTR()) 
{			
//Attribution d'une caisse par défaut car les internes ITCE n'en ont pas
caisse="ce3";
}	

int count = 0;
connexionOracle();



//REQUETE RECHERCHE MESSAGE POUR L'UTILISATEUR
String reqSelect = "SELECT DATDEB, DATFIN, MSG FROM DCTL0.DCTL_OPG_MSG WHERE SYSDATE <= DATDEB ORDER BY DATDEB ASC";
ResultSet resSelect = executeQuery(reqSelect);
count = resSelect.getFetchSize();


if (count == 0)
{
%><marquee>aucun nouveau message</marquee>
<%
}
else 
{
%>
<!-- Afficher la liste des messages dans un tableau-->

----

 A patrir du:  |Jusqu'au:
Message: |Supprimer/Modifier
<%
for (int i =0; i<count; i++)
{
int index= 1;
while (resSelect.next())
{
String dateDebut = resSelect.getString(\"DATDEB\");
String dateFin = resSelect.getString(\"DATFIN\");
String message = resSelect.getString(\"MSG\");

%>

----
\">
<%=dateDebut%>, <%=dateFin%>
<%=message%>,   
<td class =\"tabEntete\" width= \"7%\">  
<%
index++;}
}
}

deconnexionOracle();
}

catch ( Exception e)
{
out.print(e.toString());
}%>

<!--Paragraphe pour l'alerte de suppresion d'un favori-->

Etes-vous sûr de vouloir supprimer ce message?



</section>
<script src ="../../../OPM/javascript/html5shiv.js"></script><!--Compatibilité IE8 et html5-->
<script src="../../../OPM/javascript/jquery-1.7.2.js"></script>
<script src="../../../OPM/javascript/jquery-ui/jquery-1.7.2.min.js"></script>	
<script src="../../../OPM/javascript/jquery-ui/jquery-ui-1.8.20.custom.min.js"></script>
<script src="../../../OPM/javascript/jquery-ui/jquery.ui.dialog.js"></script>
<script>
//Couleur du lien du menu
$(document).ready( function () {
$('#msg').addClass("actif");
});

/*---suppresion d'un message---*/
function supprimer ('num') 
{
$('#confirm').dialog(
{
resizable: false,
draggable:false,
width:480,			
modal: true,
title:"Suppresion d'un message",
buttons: 
{
"Oui": function() 
{
$( this ).dialog( "close" );
location.href="supprMsg.jsp?num="+num;			
},
Non: function() 
{
$( this ).dialog( "close" );																		
}
}
});
} 
</script>

</html>


et voici la page de suppression:
<%@ include file="traitementBdd.jsp"%>
<%@ include file="parametres.jsp"%>
<%@ page errorPage="pageErreur.jsp"%>
<!doctype html>
<html>
<head>

</head>


<!-- Suppression d'un message-->
<%
try 
{
connexionOracle();
/*String message= request.getParameter("message");
String dateDebut= request.getParameter("dateDebut");
String dateFin = request.getParameter("dateFin");
String caisse = gHabls.Utilisateur().getCaisse();
String codOriginFinancier = gHabls.Utilisateur().getCodeCaisse();
String user = gHabls.Utilisateur().getUserName().substring(1);
String buff = dateDebut + "|" + dateFin + "|" + message + "|" + user;*/

  	String s_num=request.getParameter("rowid");	// index de la ligne du fichier à suppr

//REQUETE SUPPRESSION FAVORIS DE L'UTILISATEUR
String reqSupp = "DELETE  DCTL0.DCTL_OPG_MSG WHERE .........="+s_num;
int resSupp = executeUpdate(reqSupp);

//REQUETE DIMINUTION DE L'ORDRE D'AFFICHAGE DES AUTRES FAVORIS DE L'UTILISATEUR
/*	String reqModifOrdrAffc = "UPDATE  DCTL0.DCTL_OPG_MSG SET  WHERE 
int resMod = executeUpdate(reqModifOrdrAffc);
*/

deconnexionOracle();
%>
<script type="text/javascript">
location.href="accueilMsg.jsp"
</script>
<%
}
catch(SQLException ex) 
{
out.println("Erreur SQL : " + ex.toString());
}
catch (Exception e )
{
out.println("Message d'erreur : "+e.toString());
}
%>


</html>


Merci de votre aide.
Afficher la suite 

5 réponses

Répondre au sujet
cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 15 mars 2018 Dernière intervention - 6 sept. 2012 à 08:30
+3
Utile
Dans ce cas, c'est un problème de fonctionnement : tu peux placer un id sur le bouton à cliquer qui représente le numéro de la ligne par exemple.

Le plus simple et le plus esthétique est tout de même de créer des cases à cocher et un unique bouton supprimer.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Julien39
cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 15 mars 2018 Dernière intervention - 5 sept. 2012 à 14:44
0
Utile
Salut,

Je ne comprend pas ton problème, tu n'as pas forcément besoin de l'id pour pouvoir supprimer mais tu peux utiliser n'importe quelle autre colonne ??
Commenter la réponse de cs_Julien39
0
Utile
si j'utilise qu'une seule colonne je ne garantis pas que la ligne soit unique...
il faudrait que j'utilise 3 colonnes.
Ca fait plusieurs jours que je suis dessus et je n'y arrive pas...
Commenter la réponse de galia69
cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 15 mars 2018 Dernière intervention - 5 sept. 2012 à 15:59
0
Utile
DELETE FROM table WHERE col1=truc AND col2=TRUC2 AND col3=truc3
Commenter la réponse de cs_Julien39
0
Utile
Merci pour ta réponse mais j'ai du mal m'exprimer.

En fait je ne connais pas les "truc".
j'ai placé des boutons "supprimer" au bout de chaque ligne. Et quand l'utilisateur clique dessus ca supprime la ligne. mais je ne sais pas a l'avance quelle ligne il va choisir.
Commenter la réponse de galia69

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.