IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

fonction modifier n'a marché qu'une fois


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Par défaut fonction modifier n'a marché qu'une fois
    j'ai la fonction suivante qui est parmie tant d'autre qui appelle le fichier modifhoraire.php, qui fait la mise à jour. La modification s'est effectuée correctement une fois. maintenant j'ai le message comme quoi la modification a été effectuée mais rien a changé dans la base.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    function modifhor(){
    			var xhr = getXhr();
    			if(!test('jour')){
    				alert('Selectionnez un jour!');
    				return false;
    			}
    			 if(!test('activite3')){
    					alert('Selectionnez une activite du jour!');
    					return false;
    				}
    				if(!test('choixhdebut3')){
    					alert('Selectionnez une heure dans la liste!');
    					return false;
    				}
    				else
    				{
    					var sel = document.getElementById('activite3');
    					var idactivite=sel.options[sel.selectedIndex].value;
    					var sel2 = document.getElementById('choixhdebut3');
    					var choixhdeb=sel2.options[sel2.selectedIndex].value;
    					xhr.open("POST","modifhoraire.php",false);
    					xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    					xhr.send("idActivite="+idactivite+"&choixhd="+choixhdeb);
    					var rep= xhr.responseText;
    					if (rep=="false"){
    					alert('Creneaux déjà utilisés!');
    					return false;
    					}
    					else {
    					alert('Modification effectuée');
    					return true;
    					}
    				}						
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="submit" name="modifier[hdebut]" id="modifhd" value="Modifier l'heure de l'activité" style="height:50px;font-size:18px" onclick="return modifhor();">


    modifhoraire.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    $ret="false";
    		// test si il y a une activité selectionné
    	if( isset($_POST['idActivite']) ) {
    	//recupere la value de l'activité du jour choisie
    			$activite=$_POST["idActivite"];
    			//recupere la value de lheure debut choisie
    			$choixhd=$_POST['choixhd'];
    			$hd2=$choixhd+1;
    		$hd3=$hd2+1;
    		$ex=mysql_query("SELECT * FROM planning WHERE num_creneau='$hd2' ;") or die ('Erreur sql!'.$ex.'<br/>'.mysql_error());
    		$ex2=mysql_query("SELECT * FROM planning WHERE num_creneau='$hd3' ;") or die ('Erreur sql!'.$ex2.'<br/>'.mysql_error());
    		$num=mysql_num_rows($ex);
    		$num2=mysql_num_rows($ex2);
    		if($num==0 AND $num2==0) {
    			//incrementaton pour la boucle
    			$choixfin=$choixhd+3;
    			//requete pour selectionner lheure debut de l'activité
    			$res = mysql_query("SELECT * FROM creneau WHERE id_creneau=(SELECT MIN(num_creneau) FROM planning  WHERE num_planning='$activite');")
    			or die ('Erreur sql!'.$res.'<br/>'.mysql_error());
    			$row=mysql_fetch_assoc($res);
    			//recupere le resultat de la requete dans une varable
    			$cren=$row['id_creneau'];
    			//boucle pour modifier les numero de creneau dans le planning
    			for ($i=$choixhd;$i<$choixfin;$i++){
    					$res2 = mysql_query("UPDATE planning
    															SET num_creneau='$i'
    															WHERE num_creneau='$cren';")
    					or die ('Erreur sql!'.$res2.'<br/>'.mysql_error());
    					//creneau à modifier suivant
    					$cren+=1;
    			}
    			$ret="true";
    		}
     
    	}
    	echo $ret;
    mysql_close();	
    ?>

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 59
    Par défaut
    Bonjour ,

    Quand tu fais ces requêtes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $ex=mysql_query("SELECT * FROM planning WHERE num_creneau='$hd2' ;") or die ('Erreur sql!'.$ex.'<br/>'.mysql_error());
    		$ex2=mysql_query("SELECT * FROM planning WHERE num_creneau='$hd3' ;") or die ('Erreur sql!'.$ex2.'<br/>'.mysql_error());
    Il te retourne un resultat ?

  3. #3
    Membre confirmé Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Par défaut
    en fait, l'erreur venait du fait que j'avais un form pour tous mes onglets et tous les formulaires. J'ai donc mis un form pour chaque formulaire pour les differencier dans la page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" onsubmit="return modifacti();">

  4. #4
    Membre confirmé Avatar de caro71ol
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 145
    Par défaut
    merci quand meme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] modifier n'a marché qu'une fois
    Par caro71ol dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 15/02/2011, 10h40
  2. Macro qui marche qu'une fois
    Par baski dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/06/2007, 23h55
  3. Fonction javascript qui marche qu'une fois sous Firefox
    Par ns_deux dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/08/2006, 11h38
  4. Adodc1 ne marche qu'une fois ?
    Par VARACH dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 04/04/2006, 14h57
  5. [applet]ne marche qu'une fois..
    Par woorant dans le forum Applets
    Réponses: 2
    Dernier message: 22/02/2006, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo