Modifier directement les lignes du tableau

Fermé
Vanessa - 16 mai 2008 à 17:01
 Vanessa - 16 mai 2008 à 17:45
Bonjour,

J'ai implémenté un code qui génère un tableau de façon dynamique, en fonction de la table de la base de données que l'utilisateur a sélectionnée.

Après sélection d'une table, le tableau est généré et ces intitulés de colonnes sont ceux des intitulés des colonnes de la tables de la BD puis on met toutes les données présentes dans la table sélectionnée dans le tableau.

Jusque là ça va.

Le problème est la :

Mon supérieur veut faire un système qui ressemble à access, c'est à dire :
° Au clique sur une ligne, il veut qu'il puisse modifier les informations concernant cette ligne. Sans avoir à changer de page ou recharger la page.
Il veut qu'au clique la ligne qui était en affichage passe en input pour qu'il puisse modifier les informations qui l'intéressent.

Ce sera du javascript ou de l'AJAX. je programme en PHP, j'ai oublié de préciser.

Merci de bien vouloir m'aider.

Bout de code qui génère le tableau :

echo"<table border=0 width='90%' class='table_liste'>";
echo"<tr>";

$tab = $_GET['table_slct']; // la table sélectionnée
$define=mysql_query("DESCRIBE ".$tab.";");

echo"<td class='grise'>Sélectionner</td>";

if( $nb_line > 7)
{
$define3=mysql_query("select * from ".$tab." limit ".$premiereEntree." , ".$messagesParPage." ;");

}
else
{
$define3=mysql_query("SELECT * FROM ".$tab.";");
}

$line5 = mysql_fetch_array($define3);
while ($line5 = mysql_fetch_array($define3))
{
echo"<tr><td class='blue' align='center'><input type='checkbox' name='choix[]' value='".$line5[0]."'></td>";

for($k=0; $k<$nb_col; $k++)
{
echo"<td class='blue'>";
echo $line5[$k];
echo"</td>";
}
echo"</tr>";
}
echo"</table>";
echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
//On va faire notre condition
if($i==$pageActuelle) //Si il s'agit de la page actuelle...
{
echo ' [ '.$i.' ] ';
}
else //Sinon...
{
echo ' <a href="contenu_a_supp.php?table_slct='.$tab.'&num_pag='.$i.'">'.$i.'</a> ';
}
}
echo"<input type='hidden' name='table_slct' value=".$tab." />";
echo"<br /><input type='submit' name ='btn_ajt' value ='Ajouter'><input type='submit' name ='btn_modf' value ='Modifier'>";
echo"<input type='submit' name ='btn_supp' value ='Supprimer' onClick='return sur();'>";
echo"</form>";
echo '</p>';
A voir également:

2 réponses

Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
16 mai 2008 à 17:19
Salut,

J'ai deja realisé un truc un peu comme ca.
Pour faciliter la tache côté JS/Ajax j'utilise la librairie Jquery (https://jquery.com/

Si tu ne connais pas Jquery tu ne comprendras pas mon code tout de suite, mais ca peut etre une piste pour toi
Il permet de transformer une cellule de tableau (td.commentaire) en input sur un double-clic

<script src="/lib/jquery/jquery-1.1.4.pack.js" type="text/javascript"></script>
   <script>
   
   function ondblclick(boite){
       
                boite.unbind("dblclick");
                contenu = boite.text();
                cle = boite.attr("cle");
                
                boite.html('<input id="edition" type="text" cle="'+cle+'" value="'+contenu+'">');
                $("#edition").focus();
                $("#edition").blur(function(){
                        $.post("post_ajax.php",{cle: cle,val: $(this).val()},function(txt){
                           //alert(txt);
                      });
                      boite.text($(this).val());
                      boite.bind("dblclick",function(){ondblclick($(this))})
                });
            };
       
   
    $(document).ready(function() {
            $('td.commentaire').bind("dblclick",function(){ondblclick($(this))});
    });
    </script>

post_ajax.php est la page php qui 'post' les données modifiées
2
Merci beaucoup

Mais dans le code que j'ai posté le met le code où?

Mais je vais étudier jquery parce que c'est ce que je cherche.

Encore merci
1