Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
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 02/08/2011, 14h32   #1
Débutant
 
Inscription : avril 2005
Messages : 464
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 464
Points : 69
Points : 69
Par défaut Retourner une reqête Ajax avec plusieurs "echo"

Bonjour,

Dans une page PHP qui traite une requête ajax, je suis obligé de faire d'autres instructions "echo" autre que celle principale devant servir à récupérer le résultat dans la fonction Javascript appelante.

Le problème , je suis obligé de faire un autre echo pour sur une boucle à l'intérieur.

Je vous donne ici le code PHP qui traite la requête Ajax:

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
<?php
include('fonctions.php');
  connect();
$sql_mod_chapt='select Num_compte,intitule_compte,nature_compte,C.id_chapitre,designation_chapitre
 from comptes C,chapitres Ch where C.id_chapitre=Ch.id_chapitre and Num_compte="'.$numerocompte.'"';
 
$result_mod_chapt=mysql_query($sql_mod_chapt) or die ('Erreur SQL !'.$sql_mod_chapt.'<br />'.mysql_error());
 
$nb_mod_chapt = mysql_num_rows($result_mod_chapt);
 
while($row_mod_chapt=mysql_fetch_array($result_mod_chapt)) 
{
echo '<tr align="center">  
<td width=50%><input type="text" name="Num_compte_res" id="Num_compte_res" size="15" value="'.$row_mod_chapt['Num_compte'].'"  />
<input type="hidden" name="numerocompte"  id="numerocompte" size="15" value="'.$numerocompte.'" />
</td> 
<td width=50%><input type="text" name="intitule_compte" id="intitule_compte" size="40" value="'.$row_mod_chapt['intitule_compte'].'" /></td> 
<td width=50%><input type="text" name="nature_compte" id="nature_compte" size="20" value="'.$row_mod_chapt['nature_compte'].'" /></td>
<td width=50%><select name="chapitre" id="chapitre">
<option value="'.$row_mod_chapt['id_chapitre'].'" />'.$row_mod_chapt['designation_chapitre'].'</option>';
 
$sql_chapt='select id_chapitre,designation_chapitre from chapitres where id_chapitre not in('.$row_mod_chapt['id_chapitre'].')';
$result_chapt=mysql_query($sql_chapt) or die ('Erreur SQL !'.$sql_chapt.'<br />'.mysql_error());
$nb_chapt = mysql_num_rows($result_chapt);
while($row_chapt=mysql_fetch_array($result_chapt)) 
{
echo '<option value="'.$row_chapt['id_chapitre'].'">'.$row_chapt['designation_chapitre'].'</option>';
}
echo '</select></td>
</tr>';
 
}
 
?>

Comment je pourrai faire pour renvoyer cette requête avec un seul "echo" de manière à récupérer le résultat sous forme de "ResponseText".

Merci de vos solutions.

Cordialement.
madina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 15h25   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 129
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 129
Points : 7 266
Points : 7 266
Bonsoir,

Tu crées une variable String sur laquelle tu concatènes les résultats que tu veux retourner. Tu n'as qu'à faire echo de cette variable ensuite.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 15h58   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
Citation:
je suis obligé de faire un autre echo pour sur une boucle à l'intérieur
J'ai le sentiment qu'il manque des mots dans cette phrase

Je ne comprends pas trop en quoi c'est gênant d'avoir plusieurs echo dans le script php ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 16h08   #4
Membre éclairé
 
Avatar de brachior
 
Homme Jérôme Pilliet
Étudiant
Inscription : mai 2011
Messages : 190
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Pilliet
Âge : 25
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 190
Points : 305
Points : 305
+1 pour Bovino ^^
Du moment que tu sais comment récupérer tes résultats (split, regex, balise, ...) il n'y a aucun soucis ...
brachior est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 18h02   #5
Débutant
 
Inscription : avril 2005
Messages : 464
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 464
Points : 69
Points : 69
Bonjour,

Bovino, c'est pas un problème d'avoir plusieurs echo dans ce code php mais le soucis c'est quand il s'agira d'envoyer ça à la fonction javascript.

dans ce cas c'est seule une seule "echo" qui sera reçu comme réponse texte.

Or que je veux avoir comme réponse toute la chaine commençant par
Code :
echo '<tr align="center">
.

Voilà

Cordialement.
madina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 18h20   #6
Débutant
 
Inscription : avril 2005
Messages : 464
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 464
Points : 69
Points : 69
Bonsoir andry.aime,

Quand je concaténe les résultats, il y'aura une chaine string ou il y'aura une partie d'une boucle while et une autre chaine le restant.

comme genre
pour envoyer ça

Code :
1
2
3
4
5
6
7
8
9
$sql_chapt='select id_chapitre,designation_chapitre from chapitres where id_chapitre not in('.$row_mod_chapt['id_chapitre'].')';
$result_chapt=mysql_query($sql_chapt) or die ('Erreur SQL !'.$sql_chapt.'<br />'.mysql_error());
$nb_chapt = mysql_num_rows($result_chapt);
while($row_chapt=mysql_fetch_array($result_chapt)) 
{
echo '<option value="'.$row_chapt['id_chapitre'].'">'.$row_chapt['designation_chapitre'].'</option>';
}
echo '</select></td>
</tr>';
je serai obligé de faire

Code :
1
2
3
4
5
6
7
8
9
10
11
$string1='$sql_chapt='select id_chapitre,designation_chapitre from chapitres where id_chapitre not in('.$row_mod_chapt['id_chapitre'].')';
$result_chapt=mysql_query($sql_chapt) or die ('Erreur SQL !'.$sql_chapt.'<br />'.mysql_error());
$nb_chapt = mysql_num_rows($result_chapt);
while($row_chapt=mysql_fetch_array($result_chapt)) 
{';
 
$string2=' '<option value="'.$row_chapt['id_chapitre'].'">'.$row_chapt['designation_chapitre'].'</option>';
}';
 
$string3= '</select></td>
</tr>';
ce qui posera problème :
une boucle while entrecoupée c'est à dire une partie de la la requête et la boucle dans une variable $string1 et l'autre partie utilisant les variables de l'autre chaine dans une autre variable $string2.

Voilà mon soucis

Cordialement
madina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 18h37   #7
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
Citation:
Envoyé par madina
Bovino, c'est pas un problème d'avoir plusieurs echo dans ce code php mais le soucis c'est quand il s'agira d'envoyer ça à la fonction javascript.

dans ce cas c'est seule une seule "echo" qui sera reçu comme réponse texte.

Or que je veux avoir comme réponse toute la chaine commençant par
Code :
echo '<tr align="center">
.
Mais tu crois quoi ? Que le script PHP va s'arrêter après le premier echo ?
Que ce soit avec AJAX ou une page normale, tous les echos du script PHP sont envoyés au navigateur...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 19h48   #8
Débutant
 
Inscription : avril 2005
Messages : 464
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 464
Points : 69
Points : 69
Bonjour,

Voilà, c'est pour quoi je demande comment je pourrai regrouper le tout dans une seul echo pour avoir un seule réponse text dans la fonction ajax qui appelle par POST.
madina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 20h06   #9
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
Citation:
Envoyé par Bovino
Que ce soit avec AJAX ou une page normale, tous les echos du script PHP sont envoyés au navigateur...
Je pensais que la fin de la phrase était explicite...

Quel que soit le nombre de echo faits en PHP, tu n'auras jamais qu'un seul responseText, contenant l'ensemble de ce qui a été envoyé !

Mais je suis étonné de ton interrogation... un simple test t'aurais montré depuis longtemps comment ça fonctionne !
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 09h18   #10
Membre habitué
 
Inscription : septembre 2009
Messages : 85
Détails du profil
Informations personnelles :
Âge : 22
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : septembre 2009
Messages : 85
Points : 101
Points : 101
Citation:
Envoyé par madina Voir le message
Bonsoir andry.aime,

je serai obligé de faire

Code :
1
2
3
4
5
6
7
8
9
10
11
$string1='$sql_chapt='select id_chapitre,designation_chapitre from chapitres where id_chapitre not in('.$row_mod_chapt['id_chapitre'].')';
$result_chapt=mysql_query($sql_chapt) or die ('Erreur SQL !'.$sql_chapt.'<br />'.mysql_error());
$nb_chapt = mysql_num_rows($result_chapt);
while($row_chapt=mysql_fetch_array($result_chapt)) 
{';
 
$string2=' '<option value="'.$row_chapt['id_chapitre'].'">'.$row_chapt['designation_chapitre'].'</option>';
}';
 
$string3= '</select></td>
</tr>';
ce qui posera problème :
une boucle while entrecoupée c'est à dire une partie de la la requête et la boucle dans une variable $string1 et l'autre partie utilisant les variables de l'autre chaine dans une autre variable $string2.

Pour info, au cas ou tu voudrais vraiment ne faire qu'un seul echo, pour je ne sais quels traitements.
utilise plutot la concatenation
Code php :
1
2
3
4
$html="blabla";
$html= $html ." la suite du blabla";
$html= $html ." encore du blabla";
echo $html; // retournera: blabla la suite du blabla encore du blabla
Sachant que nous utilisons souvent le raccourcis: [note le point avant les égal]
Code php :
1
2
3
4
$html="blabla";
$html.= " la suite du blabla";
$html.=  " encore du blabla";
echo $html;  // retournera: blabla la suite du blabla encore du blabla

mais attention, tous les intervenants sont d'accord, ca ne change rien a ta réponse d'avoir plusieurs echo:
Rappelle toi comment php génère sa réponse:

il traite toute ta page (avec les echos de partout, les traitements et tout..)
Et la renvoie (une fois, avec tout dedans)
gototog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 14h52   #11
Débutant
 
Inscription : avril 2005
Messages : 464
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 464
Points : 69
Points : 69
Bonjour,

En fait, j'ai bien utilisé la technique de concaténation mais dans les variables chaines , les instruction de boucles ne se reconnaissant pas.

Du coup les variables sont affichées telles quelles.

Le but c'est d'afficher un formulaire en fonction d'un paramètre fourni par le formulaire appelant.
Mon souci c'est comment construire la chaine à envoyer en réponse


voilà mon fichier php appelé par ma fonction ajax :

Code php :
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
 include('fonctions.php');
  connect();
 
  $numerocompte=$_POST['numerocompte'];
 
  $numerocompte = mysql_real_escape_string($numerocompte);
 
 $sql_mod_chapt='select Num_compte,intitule_compte,nature_compte,C.id_chapitre,designation_chapitre
 from comptes C,chapitres Ch where C.id_chapitre=Ch.id_chapitre and Num_compte="'.$numerocompte.'"';
 
 
$result_mod_chapt=mysql_query($sql_mod_chapt) or die ('Erreur SQL !'.$sql_mod_chapt.'<br />'.mysql_error());
 
$nb_mod_chapt = mysql_num_rows($result_mod_chapt);
$htm0='<fieldset ><legend><b>Compte à modifier</b></legend>
</br>
   	<table border="1"  style="border-collapse:collapse" align="center"  width=60%>
	<tr>
 
<th>Numéro compte</th>
<th>Désignation</th>
<th>Nature compte</th>
<th>Chapitre</th>
</tr>';
 
$htm1=$htm0.'while($row_mod_chapt=mysql_fetch_array($result_mod_chapt)) 
{';
 
$htm2=$htm1.'<tr align="center">  
<td width=50%><input type="text" name="Num_compte_res" id="Num_compte_res" size="15" value="$row_mod_chapt["Num_compte"]"  />
<input type="hidden" name="numerocompte"  id="numerocompte" size="15" value="'.$numerocompte.'" />
</td> 
<td width=50%><input type="text" name="intitule_compte" id="intitule_compte" size="40" value="$row_mod_chapt["intitule_compte"]" /></td> 
<td width=50%><input type="text" name="nature_compte" id="nature_compte" size="20" value="$row_mod_chapt["nature_compte"]" /></td>
<td width=50%><select name="chapitre" id="chapitre">
<option value="$row_mod_chapt["id_chapitre"]" />$row_mod_chapt["designation_chapitre"]</option>';
 
$htm3=$htm2.'$sql_chapt="select id_chapitre,designation_chapitre from chapitres where id_chapitre not in($row_mod_chapt["id_chapitre"])"
$result_chapt=mysql_query($sql_chapt) or die ("Erreur SQL !".$sql_chapt."<br />".mysql_error());
$nb_chapt = mysql_num_rows($result_chapt)';
 
$htm4=$htm3.'while($row_chapt=mysql_fetch_array($result_chapt)) 
{
<option value="$row_chapt["id_chapitre"]">$row_chapt["designation_chapitre"]</option>
}';
 
$htm5=$htm4.'</select></td>
</tr>';
 
$htm6=$htm5.'}';
 
$htm7=$htm6.'<tr align="center">
		<td colspan="3"><input type="submit" name="envoicomptes" value="Modifier les données" onclick="envoimodif_cpte();return false" /></td>
	</tr>
</table>
<fieldset>';
 
echo $htm7;
 
?>

voilà mon fichier qui fait l'appel ajax :

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
 <title>Modification Comptes</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.numeric.js"></script>
 <link rel="stylesheet" media="screen" type="text/css" title="Design" href="budget_css.css" />
 
 <script type="text/javascript">
 function getXhr(){
 var xhr = null; 
if(window.XMLHttpRequest) // Firefox et autres
 xhr = new XMLHttpRequest(); 
else if(window.ActiveXObject){ // Internet Explorer 
   try {
  xhr = new ActiveXObject("Msxml2.XMLHTTP");
           } catch (e) {
  xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
}
				else { // XMLHttpRequest non supporté par le navigateur 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				   xhr = false; 
				} 
                                return xhr;
			}
 
			/**
			* Méthode qui sera appelée sur le click du bouton
			*/
function affiche_form_modif(){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('ligne_a_modifier').innerHTML = xhr.responseText;
 
}
}
// Ici on va voir comment faire du post
hr.open("POST","modif_comptes_ajax.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
// ici, l'id de l'auteur
numerocompte= document.getElementById('numerocompte').value;
xhr.send("numerocompte="+numerocompte);
	}
 
</script>	
 
   </head>
 
   <body >
 
  <form name="critere_operation" action ="modification_compte.php"  method="post" >
 
   <fieldset><legend><b>Rechercher un Compte à modifier</b></legend>
</br>
 
<table border="0" align="center">
<tr align="center">
<td align="center" colspan="2">
<label class="text1"><b>Num_compte</b></label>
<input size="10" class="numeric" style="margin:0 0em 0 3%" type="text" id="numerocompte" name="numerocompte"/></td>
</tr>
</table>
<center><input type="submit" name="recherche_compte" value="Rechercher" onclick="affiche_form_modif(); return false;" /></center>
 
</fieldset>
<div id="ligne_a_modifier"></div>
<form>
   </body>
 
</html>
Merci de m'aider malgré les boucles de construire la chaine de réponse

Cordialement
madina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 14h59   #12
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 129
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 129
Points : 7 266
Points : 7 266
Citation:
$htm1=$htm0.'while($row_mod_chapt=mysql_fetch_array($result_mod_chapt))
{';

$htm2=$htm1.'<tr align="center">

Comment penses-tu que des instructions que tu mets dans une chaine serra exécuter
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$htm0='<fieldset ><legend><b>Compte à modifier</b></legend>
</br>
   	<table border="1"  style="border-collapse:collapse" align="center"  width=60%>
	<tr>
 
<th>Numéro compte</th>
<th>Désignation</th>
<th>Nature compte</th>
<th>Chapitre</th>
</tr>';
 
while($row_mod_chapt=mysql_fetch_array($result_mod_chapt)) 
{
$htm0 .= "blabla". $row_mod_chapt[0];
c'est quelque chose comme ça que tu dois faire.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 15h35   #13
Membre éclairé
 
Avatar de brachior
 
Homme Jérôme Pilliet
Étudiant
Inscription : mai 2011
Messages : 190
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Pilliet
Âge : 25
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 190
Points : 305
Points : 305
PHP n'est pas un langage très lisible car il permet d'écrire du php, de l'html, du javascript, ..., ...
J'ai pas mal de soucis à relire c'est pourquoi je me suis fixé qu'il fallait écrire chaque langage dans sa langue ...
En reprenant ton fichier ainsi, j'ai pu voir plein d'erreur, des ; manquants, des concaténations ratées, ...
De plus, on se perd avec les indentations ...

Voila ton fichier comme j'aime les écrire ^^
(libre à toi de faire autrement ^^ mais moi j'évite au maximum les echo contenant d'autre langage ^^)

Code php :
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 
<?php
	include('fonctions.php');
	connect();
 
	$numerocompte=$_POST['numerocompte'];
 
	$numerocompte = mysql_real_escape_string($numerocompte);
 
	$sql_mod_chapt = 'select Num_compte,intitule_compte,nature_compte,C.id_chapitre,designation_chapitre from comptes C,chapitres Ch where C.id_chapitre=Ch.id_chapitre and Num_compte="'.$numerocompte.'"';
	$result_mod_chapt = mysql_query($sql_mod_chapt) or die ('Erreur SQL !'.$sql_mod_chapt.'<br />'.mysql_error());
	$nb_mod_chapt = mysql_num_rows($result_mod_chapt);
?>
<fieldset>
	<legend>
		<b>Compte à modifier</b>
	</legend>
	</br>
	<table border="1"  style="border-collapse:collapse" align="center"  width=60%>
		<tr>
			<th>Numéro compte</th>
			<th>Désignation</th>
			<th>Nature compte</th>
			<th>Chapitre</th>
		</tr>
<?php
	while($row_mod_chapt = mysql_fetch_array($result_mod_chapt))
	{
?>
		<tr align="center">  
			<td width="50%">
				<input type="text" name="Num_compte_res" id="Num_compte_res" size="15" value="<?php echo $row_mod_chapt["Num_compte"]; ?>" />
				<input type="hidden" name="numerocompte"  id="numerocompte" size="15" value="<?php echo $numerocompte; ?>" />
			</td>
			<td width="50%">
				<input type="text" name="intitule_compte" id="intitule_compte" size="40" value="<?php echo $row_mod_chapt["intitule_compte"]; ?>" />
			</td> 
			<td width="50%">
				<input type="text" name="nature_compte" id="nature_compte" size="20" value="<?php echo $row_mod_chapt["nature_compte"]; ?>" />
			</td>
			<td width="50%">
				<select name="chapitre" id="chapitre">
					<option value="<?php echo $row_mod_chapt["id_chapitre"]; ?>" /><?php echo $row_mod_chapt["designation_chapitre"]; ?></option>;
<?php
	$sql_chapt = "select id_chapitre,designation_chapitre from chapitres where id_chapitre not in(".$row_mod_chapt["id_chapitre"].")";
	$result_chapt = mysql_query($sql_chapt) or die ("Erreur SQL !".$sql_chapt."<br />".mysql_error());
	$nb_chapt = mysql_num_rows($result_chapt);
 
	while($row_chapt=mysql_fetch_array($result_chapt))
	{
?>
					<option value="<?php echo $row_chapt["id_chapitre"]; ?>"><?php echo $row_chapt["designation_chapitre"]; ?></option>
<?php
	}
?>
				</select>
			</td>
		</tr>
<?php
	}
?>
		<tr align="center">
			<td colspan="3">
				<input type="submit" name="envoicomptes" value="Modifier les données" onclick="envoimodif_cpte();return false" />
			</td>
		</tr>
	</table>
</fieldset>
brachior est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/08/2011, 15h52   #14
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 797
Points : 35 797
@brachior : dans ce cas, je trouve plus lisible d'utiliser la syntaxe type label :
Code php :
1
2
3
<?php while($row_chapt=mysql_fetch_array($result_chapt)): ?>
	<option value="<?php echo $row_chapt["id_chapitre"]; ?>"><?php echo $row_chapt["designation_chapitre"]; ?></option>
<?php endwhile; ?>
qui permet de mieux identifier à quelle structure correspond chaque fermeture.

Sinon, la syntaxe heredoc est tout aussi adaptée pour écrire du HTML dans un bloc PHP
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/08/2011, 16h01   #15
Membre éclairé
 
Avatar de brachior
 
Homme Jérôme Pilliet
Étudiant
Inscription : mai 2011
Messages : 190
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Pilliet
Âge : 25
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 190
Points : 305
Points : 305
Citation:
Envoyé par Bovino Voir le message
@brachior : dans ce cas, je trouve plus lisible d'utiliser la syntaxe type label :
Code php :
1
2
3
<?php while($row_chapt=mysql_fetch_array($result_chapt)): ?>
	<option value="<?php echo $row_chapt["id_chapitre"]; ?>"><?php echo $row_chapt["designation_chapitre"]; ?></option>
<?php endwhile; ?>
qui permet de mieux identifier à quelle structure correspond chaque fermeture.

Sinon, la syntaxe heredoc est tout aussi adaptée pour écrire du HTML dans un bloc PHP
Je ne connaissais pas ... Mais en effet c'est plus lisible ^^
Pour ce qui est de heredoc ... J'ai mal au crane rien qu'en essayant de comprendre la syntaxe

Reste que j'aime que mon éditeur colore mes langages ^^
Donc je préfère séparer (je vais surement me mettre (lorsque que je referai du web ^^') à ta première syntaxe ^^)
brachior est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 19h43   #16
Débutant
 
Inscription : avril 2005
Messages : 464
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 464
Points : 69
Points : 69
Bonjour,

ça marche parfaitement.

Il s'agissait de la manière de concaténer la chaine de réponse.

Cordialement.
madina 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 10h20.


 
 
 
 
Partenaires

Hébergement Web