Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 11 utilisateurs en ligne, consultez le détail
Auteur Message
lecharcutierdelinux
#0 Message posté le : 26-07-2007 à 15:08:36


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 27-01-2003
Nombre de messages : 527
Bonjour à tous,

J'ai un tableau PHP qui récuppère des infos d'une base mysql. Le dernier champ de ce tableau est un bouton "supprimer".
D'habitude je crée une nouvelle page qui me dt "êtes vous sur de vouloir efface l'enregistrement toto". C'est un peu rébarbatif et je me demandais si y'avait pas moyen que le bouton fasse appel à un code javascript, une sorte de popup sur la même page.
Voici le code de mon tableau (pour le moment j'ai pas coder le bouton), c'est un tableau tout simple

//requete SQL sur Historique RH

//$sql="SELECT * FROM historique_rh ORDER BY date DESC";

$sql="select id, nom, prenom, type, demandeur, fiche, DATE_FORMAT(date, '%d-%m-%Y %H:%i') as datefr FROM historique_rh order by DATE DESC";

$resultat=mysql_query($sql) or die ('Erreur : '.mysql_error() );

$total = mysql_num_rows($resultat);



if($total) {



echo '</div>

<table width="100%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#000000">';

echo '<tr>';

echo '<td align="center" class="abscisse"><font size=2>Nom</font></td>';

echo '<td align="center" class="abscisse"><font size=2>Prenom</font></td>';

echo '<td align="center" class="abscisse"><font size=2>Type</font></td>';

echo '<td align="center" class="abscisse"><font size=2>Demandeur</font></td>';

echo '<td align="center" class="abscisse"><font size=2>Fiche</font></td>';

echo '<td align="center" class="abscisse"><font size=2>Date</font></td>';

echo '</tr>';



while($row = mysql_fetch_array($resultat)) {

echo    '<tr>';

echo      '<td class="ordonnee_table">'.$row['nom'].'</td>';

echo      '<td>'.$row['prenom'].'</td>';

echo      '<td>'.$row['type'].'</td>';

echo      '<td>'.$row['demandeur'].'</td>';

echo      '<td>'.$row['fiche'].'</td>';

echo      '<td>'.$row['datefr'].'</td>';

echo     '</tr>';

}

echo  '</table>';



}



else {

	echo 'Pas d\'enregistrements dans cette table...';}



// On libère les données

// on libère le résultat

mysql_free_result($resultat);


-------------------------------------
Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0.
Azollyx
#1 Message posté le : 26-07-2007 à 15:23:50


Hobbit


Forum : Modérateur
Association : Président
Arrivé(e) le : 09-04-2006
Nombre de messages : 1999
Tout dépend de ce que tu veux mettre dans la boîte de dialogue : si tu veux un simple, "Êtes-vous sûr ?", il n'y aura aucun problème ; comme action de suppression :
if(confirm("T'es sûr ?")) window.location = lapagepourssuprimer.php?force=yes

Note que tu devras gérer, soit en JS soit dans ton script PHP le cas où l'utilisateur à désactivé JavaScript. Ici j'ai choisi de faire passer un paramètre mais tu peux aussi bien faire deux pages différentes. Du moment que le clic non-js renvoie vers le système classique.

Si tu veux que le dialogue rappelle les infos de l'enregistrement, tu peux :
1) général le code JS via du PHP (avec des echo, comme pour le tableau)
2) les récupérer en DHTML, si elles sont sur la page (tu auras peut-être besoin d'ajouter des identifiants uniques à tes balises).
Détaille un peu plus la méthode que tu veux, on devrais pouvoir t'aider.

--Message édité par Azollyx le 26-07-2007 à 15:26:09--


-------------------------------------
Cherche distributeur manuel/automatique de câlins femelle pour mise en réseau rapprochée.
Nota : je préfèrerais un modèle bien documenté.
e-deby
#2 Message posté le : 27-07-2007 à 11:38:55


Hobbit


Forum : Inscrit
Association :
Arrivé(e) le : 16-01-2003
Nombre de messages : 1225
un petit code AJAX serait le plus approprié je pense.
Tu appelles via ajax une page qui supprime ton enregistrement, et envoit un code de confirmation. Ensuite, tu actualises ta page via javascript
jblecanard
#3 Message posté le : 27-07-2007 à 18:49:12


Elfe


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 3998
Mettre du Ajax là dedans, c'est peut être un peu complexe pour une simple confirmation. De plus le problème ici est de demander confirmation avant effacement et pas de confirmer celui-ci une fois effectué... La méthode d'Azollyx est celle que j'aurais proposée !

-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -