Modifier une table jsp

Résolu
galia69 - 4 sept. 2012 à 14:10
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 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.

5 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
6 sept. 2012 à 08:30
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.
3
Rejoignez-nous