Effacer un enregistrement dans un tableau

Résolu
davidcian Messages postés 186 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 19 décembre 2009 - 13 mars 2008 à 10:52
davidcian Messages postés 186 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 19 décembre 2009 - 13 mars 2008 à 13:36
Bonjour,

Voila un probleme qui commence à me pauser pas mal de soucis.

Je
créé un tableau à partir du résultat d'une requête dans la dernière
colonne j'y intègre un , cette image sert
tous simplement à effacer l'enregistrement sur lequel on vient de
cliquer mais aussi à effacer le fichier associer à cette
enregistrement. 

le code:

                      <?
                $req_tabl = 'SELECT *
                FROM site_resa               
                WHERE pseudo = "'.$var.'"
                AND date1 >= "'.date("Y-m-d").'"
                ORDER BY date1';
            }

            $req = mysql_query($req_tabl)or die('Erreur SQL !
'.$req_tabl.'
'.mysql_error());
            $i=0;
            while ($row=mysql_fetch_array($req))
            {
            $name_input_pub=${'id_pub'.$i};
            $name_input_url=${'url_pub'.$i};               
            echo '<tr onMouseOver ="this.style.background=\'#2C2D37\'" onMouseOut ="this.style.background=\'#40424E\'">
                    <td align="center">'.$row['4'].'</td>
                    <td align="center">'.$row['5'].'</td>
                    <td align="center">'.$row['7'].'</td>
                    <td align="center">'.$row['8'].'</td>
                    <td align="center">'.$row['9'].'</td>
 
                  <td align="center">
                   
                    </td>
                </tr>';
                $i++;   
            }               
                ?>

Si
je résume ce code, les   porteront les noms de
"id_pub" et "url_pub" suivit d'une incrémentassions de 1 en 1 grâce a
$i qui est une variable variable.

agit comme
un subit et donc je voudrais récupérer le nom du champ sur le quel je
viens de cliquer dans mon autre formulaire par $_POST, et non par $_GET
pour des raisons de sécuritées.

Le problème c'est que dans mon
autre formulaire, comment puis je connaitre le nom du champs sur le
quel je viens de cliquer puisqu'il est variable?

Si c'est pas possible de cette façon y en t'il une autre?

Merci de votre aide.

Az

1 réponse

davidcian Messages postés 186 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 19 décembre 2009 1
13 mars 2008 à 13:36
Et voila!!! Aprés plus de 2 jours de recherche j'ai enfin trouvé une solution simple et propre:

<?
                $req_tabl = 'SELECT *
                FROM site_resa               
                WHERE pseudo = "'.$var.'"
                AND date1 >= "'.date("Y-m-d").'"
                ORDER BY date1';
            }

            $req = mysql_query($req_tabl)or die('Erreur SQL !
'.$req_tabl.'
'.mysql_error());
            while ($row=mysql_fetch_array($req))
            {
            $name_input_pub= $row['0'];               
            echo '<tr onMouseOver ="this.style.background=\'#2C2D37\'" onMouseOut ="this.style.background=\'#40424E\'">
                    <td align="center">'.$row['4'].'</td>
                    <td align="center">'.$row['5'].'</td>
                    <td align="center">'.$row['7'].'</td>
                    <td align="center">'.$row['8'].'</td>
                    <td align="center">'.$row['9'].'</td>
                    <td align="center">
                        envois_id(this.value), style.cursor=\'pointer\';">
                    </td>
                </tr>';
                $i++;   
            }               
                ?>
                <tr>
                    <td colspan="6"></td>
                </tr>

Notez que l'INPUT en bleu est en dehors de la boucle...

Puis vient la fonction javascript:

function envois_id(id) {
document.forms["effacer"].id.value = id;
}

Aprés dans mon autre page je récupere tous ce qu'il me faut comme ca:

<?php
$id= $_POST['id'];

$req_tabl = 'SELECT *
            FROM site_resa
            WHERE id = "'.$id.'"';
           
            $req = mysql_query($req_tabl)or die('Erreur SQL !
'.$req_tabl.'
'.mysql_error());
            while ($row=mysql_fetch_array($req))
                {$url= $row['10'];}
                           
?>
<head>
</head>

<?php
unlink($url);
mysql_query("DELETE FROM site_resa WHERE ID = ".$id." ");
?>
<META HTTP-EQUIV="Refresh" CONTENT="4;URL=./calendrier.php">

Propre net est sans bavure

Az
3
Rejoignez-nous