[PHP] Rafraichissement de page

sidarks Messages postés 15 Statut Membre -  
 ludox59 -
Bonjour j'ai besoin de vos services pour un petit problème...

Dans un de mes scripts, j'ai une liste déroulante avec des élements qui proviennent d'une base SQL, et après sélection d'un élement et après avoir appuyer sur un bouton "supprimer", l'élement est censé etre supprimé de la liste...jusque la pas de problème....

le HIC c'est que pour que l'élement disparaisse de la liste, il faut rafraichir la page..je cherche donc un moyen pour que lorsqu'on appuie sur le bouton "supprimer", la page soit raffraichie pour que l'élement soit directement enlevé...

je vous remercie de votre aide
A voir également:

5 réponses

guy2mars Messages postés 210 Statut Membre 71
 
lorsque je programmais, j ai eu ce probleme. ma solution a ete de creer une table avec un num auto. cette table nourrissait la liste de mon formulaire.
lorsque je cliqueais sur la valeur, je lancais in runsql qui deletait la ligne dans la table puis un simple maliste.requery suffisait
0
sidarks Messages postés 15 Statut Membre
 
merci de ton aide ici également^^ mais la pour le coup je vois vraiment pas ce dont tu parles, je ne connais pas ces commandes runsql et maliste.query...

voila mon code au cas ou :
<body >
<form action="" method="POST">
<table>
		<tr>
		<td width="173" align="center">Supprimer une heure </td>
        <td width="150">        <?
   require('../config2.php');

   echo '<select name="heure" id="heure>>'."\n";   
   echo '<option value=""><option>'."\n";
  

    $connect1=mysql_connect($serveur, $login, $mdp, TRUE) or die ("Impossible de se connecter à la base de données CBR");
   // sélection de la base     
   mysql_select_db($base2,$connect1)  or die('Erreur de selection '.mysql_error()); 

   $sql2 = 'SELECT heures FROM heures ORDER BY heures';
  
   // on envoie la requête  
   $req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());

   // on fait une boucle qui va faire un tour pour chaque enregistrement  
   while($data2 = mysql_fetch_assoc($req2))
    {
     // on affiche les informations de l'enregistrement en cours 
	  
     echo '<option value='.$data2['heures'].'> '.$data2['heures'].'';   
    echo '</option>';   
      }
	  
	  if(isset($_POST['heure'])){ // on v&eacute;rifie la pr&eacute;sence des variables de formulaire (si le formulaire a &eacute;t&eacute; envoy&eacute;)
	
		$heure = $_POST['heure'];
		mysql_query("DELETE FROM heures "."WHERE heures='$heure'");}
		 
	?>
		<td><input type="submit" value="Supprimer" />
		</tr>
		</table>
		</form>
0
BenY
 
Salut,
Je ne suis pas un expert en la matiere mais je crois que si tu colle ton if(isset ???) en debut de page (en tout cas apres ta connexion a la base) alors y aura plus de pb... Le truc c'est d'effectuer la modification dans la base avant d'effectuer le SELECT... Voila, j'espere que ca t'aura été utile...
0
Dritzz
 
Up
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
salut,

il faut faire le traitement de la suppression avant d'interroger la base et d'afficher

<body >
<form action="" method="POST">
<table>
		<tr>
		<td width="173" align="center">Supprimer une heure </td>
        <td width="150">       
<?
   require('../config2.php');

   echo '<select name="heure" id="heure>'."\n";   
   echo '<option value=""><option>'."\n";
  

    $connect1=mysql_connect($serveur, $login, $mdp, TRUE) or die ("Impossible de se connecter à la base de données CBR");
   // sélection de la base     
   mysql_select_db($base2,$connect1)  or die('Erreur de selection '.mysql_error()); 
	//on fait le traitement eventuel avant l'affichage
	//si une demande de suppression a ete faite on suprime 
   if(isset($_POST['suprimer'])){ // on verifie que le bouton nomme suprimer a ete poste;)
	
		$heure = $_POST['heure'];
		mysql_query("DELETE FROM heures WHERE heures='".$heure."'");
	}
   
   //interrogation table  (si une demande de suppression a été faite avant on aura bien l'état la base à jour
   $sql2 = 'SELECT heures FROM heures ORDER BY heures';
   // NOTA  ce n'est pas une bonne idée d'avoir donné le meme nom à ta table et au champ heures ???  nomme ta table tabl_heures par exemple
  
   // on envoie la requête  
   $req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());

   // on fait une boucle qui va faire un tour pour chaque enregistrement  
   while($data2 = mysql_fetch_assoc($req2))
    {
     // on affiche les informations de l'enregistrement en cours 
	  
     echo '<option value='.$data2['heures'].'> '.$data2['heures'].'';   
    echo '</option>';   
      }
		 
	?>
		<td><input type="submit" name="suprimer" value="Supprimer" />
		<!-- mets un name au bouton -->
		</tr>
		</table>
		</form>
0
ludox59 > Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention  
 
Merci cela m'a bien aidé
0
toto
 
J'ai le meme problème.
Si quelqu'un a une réponse je suis preneur ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cmoif Messages postés 19 Statut Membre
 
pour raffraichir ta page:

if(isset($_POST["supprimer']))
{
header("Location:tapage.php");
}



edit : la réponse d'Alain_42 semble plus propre qu'un header bien bourrin :p
0