[RESOLU] formulaire gestion de bdd

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] formulaire gestion de bdd

Re: formulaire gestion de bdd

par Figuedi » 21 mai 2020, 23:45

Requête inversée, CSS qui inverse l'affichage des box fait aussi avec (display: flex; flex-direction: column-reverse;)

JE marque donc en résolu

Re: formulaire gestion de bdd

par Figuedi » 21 mai 2020, 22:46

Salut Saian et merci de ta réponse.

Il faut que la requête d'affichage se fasse avant, pour voir ce que je dois faire. Et tu as raison il faut également qu'elle apparaisse après pour que je vois également ce que j'ai fait.
Donc soit je l'affiche deux fois (mais bof bof) soit je la fais remonter artificiellement via le CSS. Merci pour ta remarque fort judicieuse.

J'avais espéré que le fait de mettre le nom du fichier dans la définition de la form ça permettrait de faire comme un refresh et me rafraîchirait ma requête. MAis non à priori

Merci encore

Re: formulaire gestion de bdd

par Saian » 21 mai 2020, 19:27

Salut, le truc c'est que tu fais d'abord le select et ensuite le delete donc forcément tu as la liste pre delete. Fais le delete avant le select et la liste sera bien à jour.

formulaire gestion de bdd

par Figuedi » 21 mai 2020, 08:26

Bonjour à tous,

J'aimerai avoir la possibilité de modifier la base SQL via un formulaire php.

j'ai une première page qui demande ce que je veux faire et plein d'autres qui se lancent en fonction du choix de la première

Mes pages d'actions réagissent toute de la même façon, elles fonctionnent mais rafraîchissent à n-1.

SI j'ajoute un élément je ne le vois pas c'est quand je rajoute le second que je vois le premier rajouté. J'ai tenté des header(refresh), mais ça ne fait pas le job parcontre la touche "F5" le fait.

En passant la première page est surement améliorable, mais je ne sais pas comment, si en passant là aussi vous pouviez m'indiquer la marche à suivre (mais comme elle est fonctionnelle ce n'est pas prioritaire)

Page choix de l'action
<?php
  // Initialiser la session
  session_start();
  // Vérifiez si l'utilisateur est connecté, sinon redirigez-le vers la page de connexion
  if(!isset($_SESSION["username"])){
    header("Location: login.php");
    exit(); 
  }
if ($_SESSION['username']=='adm')
				include('ADM.php');
require('_connexion_pdo.php');?>
<!DOCTYPE html>
<html lang="FR-fr">
    <head>
        <title>WE R Ultrasound</title>
        <meta charset='UTF-8'>
        <meta name="viewport" content="width=device-width", initial-scale="1.0">
        <meta name="description" content="***">
        <link rel="stylesheet" href="style.css">
	</head>
<fieldset class="u2">
	<legend>Ordonnancer</legend>
  <form action="_ordraffich2_pdo.php" method="POST">	
		<select name="table" size="1">
			<option value="Liens">Liens</option>
			<option value="Whs"> Women health</option>
			<option value="Gi"> General Imaging</option>
			<option value="Poc"> Point Of Care</option>
			<option value="Docs"> Documentation</option>
			<option value="Tools"> Outils</option>
			<option value="Tconf"> Téléconférence</option>
			<option value="Cvus"> Cardiologie</option>
			<option value="News"> News</option>
		</select>
		<input type="submit" name="submit" value="Ordonnancer"  ;/>
	</form>	
</fieldset>
<fieldset class="u2">
	<legend>Supprimer</legend>
  <form action="_supprimer_pdo.php" method="POST">
		
		<select name="table" size="1">
			<option value="Liens">Liens</option>
			<option value="Whs"> Women health</option>
			<option value="Gi"> General Imaging</option>
			<option value="Poc"> Point Of Care</option>
			<option value="Docs"> Documentation</option>
			<option value="Tools"> Outils</option>
			<option value="Tconf"> Téléconférence</option>
			<option value="Cvus"> Cardiologie</option>
			<option value="News"> News</option>
		</select>
		<input type="submit" name="submit" value="Supprimer"  ;/>
	</form>	
</fieldset><br>
<fieldset class="u2">
	<legend>Modifier</legend>
  <form action="_modifier_pdo.php" method="POST">
		<select name="table" size="1">
			<option value="Liens">Liens</option>
			<option value="Whs"> Women health</option>
			<option value="Gi"> General Imaging</option>
			<option value="Poc"> Point Of Care</option>
			<option value="Docs"> Documentation</option>
			<option value="Tools"> Outils</option>
			<option value="Tconf"> Téléconférence</option>
			<option value="Cvus"> Cardiologie</option>
			<option value="News"> News</option>
		</select>
		<input type="submit" name="submit" value="Modifier"  ;/>
	</form>	
</fieldset>
<fieldset class="u2">
	<legend>Ajouter</legend>
  <form action="_ajouter_pdo.php" method="POST">
		<select name="table" size="1">
			<option value="Liens">Liens</option>
			<option value="Whs"> Women health</option>
			<option value="Gi"> General Imaging</option>
			<option value="Poc"> Point Of Care</option>
			<option value="Docs"> Documentation</option>
			<option value="Tools"> Outils</option>
			<option value="Tconf"> Téléconférence</option>
			<option value="Cvus"> Cardiologie</option>
			<option value="News"> News</option>
		</select>
		<input type="submit" name="submit" value="Ajouter"  ;/>
	</form>	
</fieldset><br>
 <fieldset class="u2">
	<legend>Description et ordonancement</legend>
  <form action="_modifier_pdo2.php" method="POST">
		<select name="table" size="1">
			<option value="Liens">Liens</option>
			<option value="Whs"> Women health</option>
			<option value="Gi"> General Imaging</option>
			<option value="Poc"> Point Of Care</option>
			<option value="Docs"> Documentation</option>
			<option value="Tools"> Outils</option>
			<option value="Tconf"> Téléconférence</option>
			<option value="Cvus"> Cardiologie</option>
			<option value="News"> News</option>
		</select>
		<input type="submit" name="submit" value="Modifier"  ;/>
	</form>	
</fieldset>
<fieldset class="u2">
	<legend>Lire</legend>
  <form action="_lire_pdo.php" method="POST">
	<input type="submit" name="submit" value="Lire"  ;/>
  </form>
 </fieldset>
Et la page action, la aussi j'ai une petite bricole j'aimerai masquer une checkbox mais elle apparaît à l'écran malgré mes tentatives : object.style.display="none", ou visibilty:"hidden d'ailleurs.
<?php
  // Initialiser la session
  session_start();
  // Vérifiez si l'utilisateur est connecté, sinon redirigez-le vers la page de connexion
  if(!isset($_SESSION["username"])){
    header("Location: login.php");
    exit(); 
  }
if ($_SESSION['username']=='adm')
				include('ADM.php');

//header("Location: _supprimer_pdo.php");
require('_connexion_pdo.php'); ?>
<html lang="FR-fr">
    <head>
		
        <title>WE R Ultrasound</title>
        <meta charset='UTF-8'>
        <meta name="viewport" content="width=device-width", initial-scale="1.0">
        <meta name="description" content="Website for ultrasound FETC and FE">
        <link rel="stylesheet" href="style.css">
        <link href="https://fonts.googleapis.com/css?family=Open+Sans:800&display=swap" rel="stylesheet">
        <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
        <script src="didier.js"></script>
    </head>
<?php

	$tab=$_POST['table'];
	
	$query = "SELECT * FROM Pr_liens where Type='$tab' order by Id ;"; 
  try {
    $pdo_select = $pdo->prepare($query);
    $pdo_select->execute();
    $NbreData = $pdo_select->rowCount();    // nombre d'enregistrements (lignes)
    $rowAll = $pdo_select->fetchAll();      // tout dans le meme tableau
  } catch (PDOException $e){ echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }

  $nbcol=1;                     //choix du Nbr de colonne pour affichage
	
 

  echo '<table >';  
                 
    for($i=0;$i<$NbreData;$i++){
     
    //les valeurs à afficher
	$valeur1=$rowAll[$i]['Id'];
	$valeur2=$rowAll[$i]['Type'];
    $valeur3=$rowAll[$i]['Nom'];
    $valeur4=$rowAll[$i]['Chemin'];
	$valeur5=$rowAll[$i]['Affichage'];
    if($i%$nbcol==3)
    echo '<tr>';
	echo '<td>'.$valeur1.'</td><td>'.$valeur2.'</td><td>'.$valeur3.'</td><td>'.$valeur4.'</td><td>'.$valeur5.'</td>';
  //  echo '<td>'.$valeur1.'</td> <td><a href=' .$valeur3. '>'.$valeur2.'</a></td>';
    if($i%$nbcol==($nbcol-1))
    echo '</tr>';
    }
    echo '</table>';
	?>
	<form action="_supprimer_pdo" method="POST">	
		<input type="text" name="Id" placeholder="Id" required />
		<?php echo '<input type="checkbox" name="table" value="'.$tab.'" checked object.style.display="none";/>';?>
		<?php echo '<input type="checkbox" name="table" value="'.$tab.'" checked object.style.visibility="hidden";/>';?>
		<?php echo '<input type="checkbox" name="table" value="'.$tab.'" checked/>';?>
		<input type="submit" name="submit" value="Supprimer la valeur"  />
	</form>
	<?php
	$Id=$_POST['Id'];
	$Type=$_POST['Type'];
	$Nom=$_POST['Nom'];
	$Chemin=$_POST['Chemin'];
	$Affichage=$_POST['Affichage'];
		
	if (isset($_POST['Id'])){
		
		$sql="DELETE FROM Pr_liens WHERE Id = :Id";
		$stmt = $pdo->prepare($sql);
		$stmt->bindParam(':Id',$_POST['Id'],PDO::PARAM_INT);
		$stmt->execute();
		
	}
	?>
	
Merci d'avance