Les Allergies
Alimentaires
Posez votre question Signaler

[PHP] Rafraichissement de page

sidarks 13Messages postés 30 mars 2007Date d'inscription - Dernière réponse le 7 août 2009 à 01:01
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
Lire la suite 

[PHP] Rafraichissement de page »

8 réponses
Réponse
+0
moins plus
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
sidarks- 31 mars 2007 à 08:23
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>
Ajouter un commentaire
Réponse
+0
moins plus
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...
Ajouter un commentaire
Réponse
+0
moins plus
Up
Alain_42- 19 oct. 2008 à 21:27
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>
ludox59 - 7 août 2009 à 01:01
Merci cela m'a bien aidé
Ajouter un commentaire
Réponse
+0
moins plus
J'ai le meme problème.
Si quelqu'un a une réponse je suis preneur ;)
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé « [PHP] Rafraichissement de page » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?