Envoi d'un form dans une nouvelle fenêtre à taille définie [Résolu/Fermé]

Signaler
Messages postés
45
Date d'inscription
jeudi 5 juin 2014
Statut
Membre
Dernière intervention
8 novembre 2016
-
Messages postés
45
Date d'inscription
jeudi 5 juin 2014
Statut
Membre
Dernière intervention
8 novembre 2016
-
Bonjour,

Je suis actuellement sur un projet de SGBD; une sorte phpmyadmin simplifié pour les novices.

Le but est de pouvoir afficher la bdd, ajouter, supprimer et modifier des entrées.

Donc jusque la pas de problème, mais j'aimerait faire quelque chose d’assez "user friendly" en ouvrant une nouvelle fenêtre à la taille du formulaire pour l’édition d'une entrée.

Bien sur "_blank" ne suffit pas et la methode windows.open() ne fonctionne visiblement pas sur des formulaires.

Concrètement :

Mon formulaire envoie la clé primaire de l'entrée associé à modif.php

modif.php récupère l'ensemble des données associés à cette clé et les affiche dans un autre formulaire, l'utilisateur peut alors les modifier à sa guise et les envoyer à la fonction qui gère la requête.

petit bout de code :
vueBase.php
<table>
<?php



		// fetch du résultat; on affiche ca dans un tableau

                 while($partenaires = mysqli_fetch_array($result,MYSQL_ASSOC)){

                  

                 ?>

                        <tr>

                          <td><?php echo $partenaires["id"];?></td>

                           <td><?php echo $partenaires['titre'];?></td> 

                            <td><?php echo $partenaires['nom'];?></td>

                            <td><?php echo $partenaires['prenom'];?></td>

                            <td><?php echo $partenaires['fonction'];?></td>

                            <td><?php echo $partenaires['structure'];?></td>

                            <td><?php echo $partenaires['adresse1'];?></td>

                            <td><?php echo $partenaires['cp'];?></td>

                            <td><?php echo $partenaires['ville'];?></td>

			<td><?php echo $partenaires['adresse'];?></td>

                            <td><?php echo $partenaires['statut'];?></td>

                            <td><?php echo $partenaires['tel'];?></td>

				 <td><?php echo $partenaires['mail'];?></td>

 				<td><?php echo $partenaires['appartenance'];?></td>

                            <td>

                              <form method="post" id="supr<?php echo $partenaires["id"]; ?>" action="supr.php">

				<input type="hidden" name="id" value=<?php echo $partenaires["id"]; ?> />

</form>

				<form methode="post" id="modif<?php echo $partenaires["id"]; ?>" action="modif.php">

				<input type="hidden" name="id" value=<?php echo $partenaires["id"]; ?> />

</form>

<?php /* on utilise la clé primaire afin que chaque id de formulaire soit différent
utile pour que chaque requete de suppression et de modif ne s'applique QUE à l'entrée associé */ ?>


<a href='#' rel="nofollow noopener noreferrer" target="_blank" onclick='document.getElementById("supr<?php echo $partenaires["id"]; ?>").submit()'><img src="img/supp.png" ></a> 

<a href='#' rel="nofollow noopener noreferrer" target="_blank" onclick='document.getElementById("modif<?php echo $partenaires["id"]; ?>").submit()'><img src="img/modif.png" ></a> 

                                 </td>



                        </tr>

         

    





<?php
}

                    mysqli_close($con); 
			// on ferme la connexion APRES le while

      

?>

</table> 


modif.php
//On récupere l'id via $_POST
	$id = $_POST['id'];
//La requete + les variables ci dessous
        $strSQL = 'SELECT FROM `'.$tablename.'` WHERE `'.$tablename.'`.`id`='.$id.'';

/* a la suite il y a un tableau du même type que vueBase avec, bien sur, une seule 
entrée qui reprend $id */


Merci pour toutes vos suggestions elles me seront bien utiles !

A bientôt !


1 réponse

Messages postés
32050
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 avril 2021
3 389
Bonjour,
Le mieux serait d'utiliser des fenêtres MODAL et de l'ajax pour envoyer les données.
(pour ça.. il te faut regarder du côté de javascript .. voir même JQUERY )
Messages postés
45
Date d'inscription
jeudi 5 juin 2014
Statut
Membre
Dernière intervention
8 novembre 2016
1
Salut !

Merci pour ta réponse !

Oui j'avais testé les modal + require pour éviter justement les prises de tête avec ajax mais finalement j'ai galéré a faire passer mes données de ma div modal vers ma requête; il fallait donc ajax...

Je me suis donc rabattu sur l'envoi vers une autre page qui recupere les valeurs dans des input et renvoie ca vers mon script qui gère la requete..

Bateau mais bon pas des masses de données à traiter donc ca suffit.

A plouch ! :)