Modifier une table jsp [Résolu]

Signaler
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
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.
A voir également:

5 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
342
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.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
342
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 ??
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...
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
342
DELETE FROM table WHERE col1=truc AND col2=TRUC2 AND col3=truc3
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.