problème avec xmlhttprequest et firefox
Bonjour, je viens exposer mon soucis ici
tout d'abord, je travail sur un formulaire, un 2eme menu déroulant dépendant du 1er et un 3eme dépendant du 2sd, il fonctionne très bien, voir les pages ci-dessous, mais il ne fonctionne que sous IE8, pas sous FF 3.6.10 !
J'ai cherché sur le web et cela proviendrait de xmlhttprequest voir du bouton submit...
Je suis débutant en php/mysql et pas de notion en java, j'aimerais des conseils sur mon problème, voir une solution
je n'ai pas de message d'erreur, dans l'onglet console de firebug
la première apparait au choix du 1er menu déroulant et la 2eme ligne au 2eme menu déroulant
quand le clic sur envoyer (vers la base) toujours pas de message d'erreur !
- Code: Tout sélectionner
http://localhost/test3/form/select_codedial.php? 200 OK 26ms jquery.js (ligne 5252)
http://localhost/test3/form/select_intitule.php? 200 OK 11ms jquery.js (ligne 5252)
voici les pages dont vous auriez besoin :
ajax.js
- Code: Tout sélectionner
function ajax(strthis)
{
var param = strthis.value;
var unite = document.getElementById("unite").options[document.getElementById("unite").selectedIndex].value;
$("#tr_codedial").empty();
$.ajax
(
{
type: "POST",
url: "select_codedial.php",
data: "var="+param,
success:
function(msg)
{
$("#tr_codedial").append("<td><div align='right'>Code Dialogue :</div></td><td><div align='left'>"+ msg +"</div></td>");
}
}
);
}
function ajax2(strthis)
{
var param = strthis.value;
var intitule = document.getElementById("intitule").options[document.getElementById("intitule").selectedIndex].value;
$("#tr_intitule").empty();
$.ajax
(
{
type: "POST",
url: "select_intitule.php",
data: "var="+param,
success:
function(msg)
{
$("#tr_intitule").append("<td><div align='right'>Intitulé Code Dialogue :</div></td><td><div align='left'>"+ msg +"</div></td>");
}
}
);
}
form1.php
- Code: Tout sélectionner
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
<form method="POST" action="valide1.php" name="caapp">
<tr id='tr_affaire' align="center">
<td><div align="right">Service : </div></td>
<td><div align="left"><?php include('select_unite.php')?></div></td>
</tr>
<tr id='tr_codedial'>
<td><div align="right">Code Dialogue : </div></td>
<td><div align="left" id='tr_codedial'><?php include('select_codedial.php')?></div></td>
</tr>
<tr id='tr_intitule'>
<td><div align="right">Intitulé Code Dialogue : </div></td>
<td><div align="left" id='tr_intitule'><?php include('select_intitule.php')?></div></td>
</tr>
<input type="submit" value="Envoyer" />
</form>
select_unite.php
- Code: Tout sélectionner
<select id='unite' name='unite' onChange="ajax(this)">
<option value='void_affaire'>-</option>
<?php
include("../connexion.php");
$query = "SELECT DISTINCT unite FROM codedial ORDER BY unite ASC";
$rq = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($rq, MYSQL_ASSOC))
{
$unite = $row["unite"];
echo "<option value='$unite'>$unite</option>";
}
mysql_close();
?>
</select>
select_codedial.php
- Code: Tout sélectionner
<select id='codedial' name='codedial' onChange="ajax2(this)">
<option value='void_localisation'>-</option>
<?php
include("../connexion.php");
$var=$_POST['var'];
$query = "SELECT DISTINCT codedial FROM codedial WHERE unite='$var' ORDER BY codedial ASC";
$rq = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($rq, MYSQL_ASSOC))
{
$codedial = $row["codedial"];
echo "<option value='$codedial'>$codedial</option>";
}
mysql_close();
?>
</select>
select_intitule.php
- Code: Tout sélectionner
<select id='intitule' name='intitule'>
<option value='void_localisation'>-</option>
<?php
include("../connexion.php");
$var=$_POST['var'];
$query = "SELECT DISTINCT intitule FROM codedial WHERE codedial='$var' ORDER BY intitule ASC";
$rq = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($rq, MYSQL_ASSOC))
{
$intitule = $row["intitule"];
echo "<option value='$intitule'>$intitule</option>";
}
mysql_close();
?>
</select>
Récupérer 'value' dans une 'function' ajax
Bonjour, j'expose mon problème
J'ai un menu déroulant qui appel automatiquement deux autres menus déroulants
le soucis, c'est que je n'ai que la valeur du 1er menu déroulant qui rempli ma base mysql !
Ca ne doit pas être grand chose, mais je tourne un peu en rond là !
voici le code :
ajax.js
- Code: Tout sélectionner
function ajax(strthis)
{
var param = strthis.value;
var codedial = document.getElementById("codedial").options[document.getElementById("codedial").selectedIndex].value;
$("#tr_intitule").empty();
$.ajax
(
{
type: "POST",
url: "select_intitule.php",
data: "var="+param,
success:
function(msg)
{
$("#tr_intitule").append("<td>"+ msg +"</td>");
}
}
);
var param = strthis.value;
var codedial = document.getElementById("codedial").options[document.getElementById("codedial").selectedIndex].value;
$("#tr_unite").empty();
$.ajax
(
{
type: "POST",
url: "select_unite.php",
data: "var="+param,
success:
function(msg)
{
$("#tr_unite").append("<td>"+ msg +"</td>");
}
}
);
}
form1.php
- Code: Tout sélectionner
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
<form method="POST" action="valide1.php" name="caapp"> <tr align="center">
<td><div align="right">Code : </div></td>
<td><div align="left"><?php include('select_codedial.php')?></div></td>
</tr>
<tr align="center">
<td><div align="right">Unité d'Emploi : </div></td>
<td><div align="left" id='tr_unite'><?php include('select_unite.php')?></div></td>
</tr>
<tr align="center">
<td><div align="right">Intitulé Code : </div></td>
<td><div align="left" id='tr_intitule'><?php include('select_intitule.php')?></div></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="Envoyer" /></td>
</tr>
<input type="hidden" name="id" value="<?php echo($id) ;?>">
</form>
select_codedial.php
- Code: Tout sélectionner
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
<select id='codedial' name='codedial' onchange="ajax(this)">
<option value='void_codedial'>-</option>
<?php
include("../connexion.php");
$query = "SELECT DISTINCT codedial FROM codedial ORDER BY codedial ASC";
$rq = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($rq, MYSQL_ASSOC))
{
$codedial = $row["codedial"];
echo "<option value='$codedial'>$codedial</option>";
}
mysql_close();
?>
</select>
select_unite.php
- Code: Tout sélectionner
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
<select id='unite' name='unite'>
<?php
include("../connexion.php");
$var=$_POST['var'];
$query = "SELECT DISTINCT unite FROM codedial WHERE codedial='$var' ORDER BY unite ASC";
$rq = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($rq, MYSQL_ASSOC))
{
$unite = $row["unite"];
echo "<option value='$unite'>$unite</option>";
}
mysql_close();
?>
</select>
select_intitule.php
- Code: Tout sélectionner
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
<select id='intitule' name='intitule'>
<?php
include("../connexion.php");
$var=$_POST['var'];
$query = "SELECT DISTINCT intitule FROM codedial WHERE codedial='$var' ORDER BY intitule ASC";
$rq = mysql_query($query) or die(mysql_error());
while ($row=mysql_fetch_array($rq, MYSQL_ASSOC))
{
$intitule = $row["intitule"];
echo "<option value='$intitule'>$intitule</option>";
}
mysql_close();
?>
</select>
[MySQL] Un GROUP BY dans un COUNT
Bonjour,
voici mon soucis, il y a un champ 'service' qui a des données identiques !!!
voici la requete, et je voudrais donc regrouper les 'service' identique
- Code: Tout sélectionner
SELECT t2.id2,service,
(SELECT COUNT(categorie)
FROM table1
WHERE categorie='a' AND code1=code2) AS cat
FROM table2 t2
WHERE t2.groupe='1'
ORDER BY t2.id2 ASC
j'ai bien tenté ceci :
- Code: Tout sélectionner
SELECT t2.id2,service,
(SELECT COUNT(categorie)
FROM table1
WHERE categorie='a' AND code1=code2) AS cat
FROM table2 t2
WHERE t2.groupe='1'
GROUP BY service
ORDER BY t2.id2 ASC
cela à bien regroupé les 'service'
mais sans comptabiliser l'ensemble des 'cat' ayant le meme nom de 'service'
le soucis c'est qu'il y a des 'service' portant le meme nom et ayant un code1 qui n'égale pas au code2 !
cela ne doit pas être grand chose mais je but sur ce petit truc
merci de votre aide