Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/02/2011, 14h18   #1
Nouveau Membre du Club
 
Avatar de caro71ol
 
caroline
Étudiant
Inscription : janvier 2011
Messages : 140
Détails du profil
Informations personnelles :
Nom : caroline
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 140
Points : 28
Points : 28
Par défaut 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 :
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 :
<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 :
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();	
?>
caro71ol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 09h09   #2
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
Code :
$res2 = mysql_query("UPDATE planning SET num_creneau='$i' WHERE num_creneau='$cren'")
Essaye de travailler sur des id comme ça :

Code :
$res2 = mysql_query("UPDATE planning SET num_creneau='$i' WHERE id_creneau='$id_cren'")
Si rien ne change test tes requêtes voir si tes variables sont bonnes.

Code :
1
2
3
$req ="UPDATE planning SET num_creneau='$i' WHERE id_creneau='$id_cren'";
echo $req;
$res2=mysql_query($req);
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 09h39   #3
Nouveau Membre du Club
 
Avatar de caro71ol
 
caroline
Étudiant
Inscription : janvier 2011
Messages : 140
Détails du profil
Informations personnelles :
Nom : caroline
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 140
Points : 28
Points : 28
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 :
<form method="post" onsubmit="return modifacti();">
caro71ol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 09h40   #4
Nouveau Membre du Club
 
Avatar de caro71ol
 
caroline
Étudiant
Inscription : janvier 2011
Messages : 140
Détails du profil
Informations personnelles :
Nom : caroline
Âge : 20

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 140
Points : 28
Points : 28
merci quand meme
caro71ol est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h46.


 
 
 
 
Partenaires

Hébergement Web