PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Javascript » 2 fonctions sur 1 onclick » 18-07-2011 17:39:34

Réponse

[c]onsubmit="return showWait();"[/c]

---------------------------------------------

[c]function showWait()
    {

if (confirm('Etes-vous sûr de vouloir modifier ?')    ){
          jsWait_defaultInstance = new jsWait('jsWait_defaultInstance', "Modification en cours");
          jsWait_defaultInstance.show();
return true
        }
return false
    }[/c]

#2 Re : Javascript » 2 fonctions sur 1 onclick » 18-07-2011 17:39:34

Humm, je ne crois être au niveau de ce que tu me proposes sad mais j'avance un peu quand même, avec le code ci-dessous

tout se passe bien en cas de confirmation positive, mais en cas de réponse négative au confirm cela exécute quand même le formulaire wink

 <input onclick="showWait()" type="submit" value="Modifier" name="modif"/>
<SCRIPT LANGUAGE="JavaScript">
    document.writeln("<div id=\"jsWaitMessage\" style=\"font-family: Verdana; font-size: 10px; text-align: center; padding: 3px; position: absolute; left: 30%; top: 40%; height: 20px; width: 300px; z-index:3\"></div>" );
    document.writeln("<div id=\"jsWaitArea\" style=\"display: none; position: absolute; left: 30%; top: 40%; height: 20px; width: 300px; border: 1px black solid; background: #fdd46c;z-index:2\">" );
    document.writeln("<div id=\"jsWaitBlock\" style=\"position: relative; left: 0px; height: 20px; width: 50px; background: #fcbb10;z-index:2\"></div>" );
    document.writeln("</div>" );
    jsWait_defaultInstance = null;
   
  function showWait()
    {
    if (confirm('Etes-vous sûr de vouloir modifier ce grade ?')){
      jsWait_defaultInstance = new jsWait('jsWait_defaultInstance', "Modification en cours");
      jsWait_defaultInstance.show();
    }
    }
 
    function jsWait(name, message)
    {
      this.name = name;
      this.message = message;
      this.speed = 10;
      this.direction = 2;
      this.waiting = false;
      this.divMessage = document.getElementById("jsWaitMessage" );
      this.divArea = document.getElementById("jsWaitArea" );
      this.divBlock = document.getElementById("jsWaitBlock" );
    }
    jsWait.prototype.show = function()
    {
      this.divMessage.innerHTML = this.message;
      this.divMessage.style.display = "block";
      this.divArea.style.display = "block";
      this.divBlock.style.display = "block";
      this.divBlock.style.left = "0px";
      this.waiting = true;
     
      this.loop();
    }
    jsWait.prototype.setMessage = function(message)
    {
      this.message = message;
      this.divMessage.innerHTML = this.message;
    }
    jsWait.prototype.stop = function()
    {
      this.waiting = false;
      this.divMessage.style.display = "none";
      this.divArea.style.display = "none";
      this.divBlock.style.display = "none";
    }
    jsWait.prototype.loop = function()
    {
      myLeft = this.divBlock.style.left;
      myLeft = myLeft.substring(0, myLeft.length-2);
      intLeft = parseInt(myLeft);
      if(intLeft >= 250)
        this.direction = -2;
      if(intLeft <= 0)
        this.direction = 2;
      myLeft = "" + (intLeft+this.direction) + "px";
      this.divBlock.style.left = myLeft;
      if(this.waiting)
        setTimeout(this.name + ".loop()", this.speed);
    }
 </script>

#3 Javascript » 2 fonctions sur 1 onclick » 18-07-2011 17:39:34

athome
Réponses : 4

Bonjour j'aimerais passer 2 actions javascripts sur un onclick, mais je ne trouve pas de solutions !

Voici d'abord les deux input fonctionnant bien séparément :
Une confirmation

<input onclick="return(confirm('Etes-vous sûr de vouloir modifier ce grade ?'));" type="submit" value="Modifier" name="modif"/>

et une barre de progression

<input onclick="showWait('Modification en cours');" type="submit" value="Modifier" name="modif"/>

j'ai bien sur testé :

<input onclick="return(confirm('Etes-vous sûr de vouloir modifier ce grade ?'));showWait('Modification en cours');" type="submit" value="Modifier" name="modif"/>

Mais ça ne fonctionne pas, la deuxième action ne se réalise pas sad

Voici le second script repris sur le web donnant une barre de progression

  </script>
    <SCRIPT LANGUAGE="JavaScript">
    document.writeln("<div id=\"jsWaitMessage\" style=\"font-family: Verdana; font-size: 10px; text-align: center; padding: 3px; position: absolute; left: 30%; top: 40%; height: 20px; width: 300px; z-index:3\"></div>" );
    document.writeln("<div id=\"jsWaitArea\" style=\"display: none; position: absolute; left: 30%; top: 40%; height: 20px; width: 300px; border: 1px black solid; background: #fdd46c;z-index:2\">" );
    document.writeln("<div id=\"jsWaitBlock\" style=\"position: relative; left: 0px; height: 20px; width: 50px; background: #fcbb10;z-index:2\"></div>" );
    document.writeln("</div>" );
    jsWait_defaultInstance = null;
    function showWait(message)
    {
    alert('Etes-vous sûr de vouloir modifier ce grade ?');
      jsWait_defaultInstance = new jsWait('jsWait_defaultInstance', message);
      jsWait_defaultInstance.show();
    }
    function jsWait(name, message)
    {
      this.name = name;
      this.message = message;
      this.speed = 10;
      this.direction = 2;
      this.waiting = false;
      this.divMessage = document.getElementById("jsWaitMessage" );
      this.divArea = document.getElementById("jsWaitArea" );
      this.divBlock = document.getElementById("jsWaitBlock" );
    }
    jsWait.prototype.show = function()
    {
      this.divMessage.innerHTML = this.message;
      this.divMessage.style.display = "block";
      this.divArea.style.display = "block";
      this.divBlock.style.display = "block";
      this.divBlock.style.left = "0px";
      this.waiting = true;
     
      this.loop();
    }
    jsWait.prototype.setMessage = function(message)
    {
      this.message = message;
      this.divMessage.innerHTML = this.message;
    }
    jsWait.prototype.stop = function()
    {
      this.waiting = false;
      this.divMessage.style.display = "none";
      this.divArea.style.display = "none";
      this.divBlock.style.display = "none";
    }
    jsWait.prototype.loop = function()
    {
      myLeft = this.divBlock.style.left;
      myLeft = myLeft.substring(0, myLeft.length-2);
      intLeft = parseInt(myLeft);
      if(intLeft >= 250)
        this.direction = -2;
      if(intLeft <= 0)
        this.direction = 2;
      myLeft = "" + (intLeft+this.direction) + "px";
      this.divBlock.style.left = myLeft;
      if(this.waiting)
        setTimeout(this.name + ".loop()", this.speed);
    }
  </script>

merci d'avance pour votre aide wink

#5 Re : Javascript » problème avec xmlhttprequest et firefox » 27-09-2010 10:00:38

salut, alors j'ai bien remplacé ton premier code sur le fichier select_unite.php
mais je me retrouve avec cette erreur :

Parse error: syntax error, unexpected T_STRING in C:\wamp\www\test3\form\select_unite.php on line 3

cette ligne

var unite = document.getElementById("unite").options[document.getElementById("unite").selectedIndex].value;

me permet "normalement" de récupérer la valeur de 'codedial' et 'intitule'

j'ai aussi modifié le code javascipt ci-dessus, mais je me rretouve lors du choix du premier menu
avec au lieu d'avoir un second menu déroulant qui se rafraichit avec les bonnes valeurs, j'ai ce message :

[object XMLHttpRequest]

que sous IE8 et sous FF rien ne change, le menu apparait, mais toujours pas d'enregistrement dans la base !

cela ne pourrait pas venir, du fait que je n'ai pas de fonction XMLHttpRequest ?

#6 Re : Javascript » problème avec xmlhttprequest et firefox » 27-09-2010 10:00:38

ouahh, tu ne me motives pas là ...  LOL

j'ai bien supprimé les include (ajax.js et jquery.js) sur les trois fichiers select_*.php
en supprimant le head et le body par la même occasion

cela ne change pas le bon fonctionnement du formulaire sous IE8 wink

en fait je pense qu'il faut ajouter un objet XHR pour que cela fonctionne sous FF
mais je n'arrive pas à l'insérer et l'adapter à mon code

merci pour le courage
mais je ne pense pas être trop loin de la réussite, alors si tu as quelques minutes smile

merci tout de même pour ton intervention

#7 Re : Javascript » problème avec xmlhttprequest et firefox » 27-09-2010 10:00:38

exact je ne l'ai pas insérer, parce que j'ai déjà essayé et cela n'a rien donné
soit je l'ai mal inséré, où alors le mauvais...

si tu peux me conseiller sur quel objet XHR insérer et la façon dont cela pourrait fonctionner

#8 Javascript » problème avec xmlhttprequest et firefox » 27-09-2010 10:00:38

athome
Réponses : 9

Bonjour, je viens exposer mon soucis ici wink

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 wink

voici les pages dont vous auriez besoin :

ajax.js

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

<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

<HEAD>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
</HEAD>

<BODY>

<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>

</BODY>

select_codedial.php

<HEAD>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
</HEAD>

<BODY>

<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>

</BODY>

select_intitule.php

<HEAD>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
</HEAD>

<BODY>

<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>

</BODY>

#9 Re : Forum Général PHP » Récupérer 'value' dans une 'function' ajax » 15-09-2010 14:54:55

et bien j'ai trouvé la solution alors, je reviens la poster !

je me suis vraiment pris la tête pour rien, car vous allez tomber de haut

cela vient du navigateur !!!

et oui cela fonctionne très bien sur IE mais pas du tout sur firefox, pourquoi ???

je ne sais pas encore, je vais chercher, mais si vous savez pourquoi, merci de laisser un petit mot ici, avant que je clôture ce topic wink

#10 Re : Forum Général PHP » Récupérer 'value' dans une 'function' ajax » 15-09-2010 14:54:55

merci de te pencher sur mon cas, alors j'ai bien remplacé le POST par le GET, mais du coup mon 2eme et 3eme menu déroulant ne me propose plus le choix automatiquement.

sinon au niveau de cette ligne :

$("#tr_intitule").empty().append($.ajax({url: 'select_intitule.php?var='+strthis.value}).responseText);

je l'ai inséré dans le fichier ajax.js, mais le contenu des menus déroulants, ne se remplissent plus automatiquement non plus !

peu être l'ai je mal inséré !!!

merci encore de ton aide et tu auras remarqué que je débute wink

#11 Forum Général PHP » Récupérer 'value' dans une 'function' ajax » 15-09-2010 14:54:55

athome
Réponses : 3

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

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

<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

<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

<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

<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>

#12 Re : MySQL, PostgreSQL, etc... » Un GROUP BY dans un COUNT » 21-07-2010 09:42:32

alors j'avance un petit peu smile

voici deux requêtes qui me permettent de regrouper les 'service'
mais je perds la fonction qui permet d'afficher les 'service'
ayant un résultat de zéro, car je voudrais afficher ces résultats null wink

SELECT service, COUNT(*) as cat
FROM table2, table1
WHERE categorie IN ('a' , 'b' , 'c') AND code1=code2 AND groupe='1'
GROUP BY service
ORDER BY id2 ASC

et

select T2.service, COUNT(T1.categorie) AS cat
from table2 T2
left join table1 T1 on T1.code1 = T2.code2
WHERE categorie IN ('a','b','c') AND t2.groupe='1'
group by T2.service
ORDER BY t2.id2 ASC

#13 MySQL, PostgreSQL, etc... » Un GROUP BY dans un COUNT » 21-07-2010 09:42:32

athome
Réponses : 1

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

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 :

SELECT t2.id2,service,
(SELECT COUNT(categorie)
FROM table1
WHERE categorie='a' AND code1=code2) AS cat
FROM table2 t2
WHERE t2.groupe='1'
[b]GROUP BY service[/b]
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 etre grand chose mais je but sur ce petit truc
merci de votre aide

#14 Re : MySQL, PostgreSQL, etc... » [MySQL] Compter sur deux tables » 05-07-2010 08:42:53

ok, merci de ta remarque et de ta requête qui fonctionne très bien smile

#15 Re : MySQL, PostgreSQL, etc... » [MySQL] Compter sur deux tables » 05-07-2010 08:42:53

effectivement, mais j'avais aussi indiqué un résultat ressemblant à ceci :

groupe categorie  nombre
   1       a         1
   2       a         0
   3       a         2

et le "trier par l'id2" je l'ai fait avec un ORDER BY
je pensais faire de meme avec un WHERE t3.categorie = 'a' mais soi
j'ai une erreur, soit il ne me sort plus que les groupe ayant cette catégorie !

#16 Re : MySQL, PostgreSQL, etc... » [MySQL] Compter sur deux tables » 05-07-2010 08:42:53

Merci ça fonctionne bien mais cela me donne toutes les categorie
j'ai essayé de placer un WHERE categorie='a' mais erreur !

#17 Re : MySQL, PostgreSQL, etc... » [MySQL] Compter sur deux tables » 05-07-2010 08:42:53

exact il y a déjà une erreur dans PhpMyAdmin

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT OUTER JOIN table1 t1 ON code1=code2 AND t3.' at line 6

#18 Re : MySQL, PostgreSQL, etc... » [MySQL] Compter sur deux tables » 05-07-2010 08:42:53

ok merci par contre c'est au niveau de l'affichage que ça coince maintenant !

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\wamp\www\test\sitnum5.php on line 68

<?php
while ($row_0102 = mysql_fetch_assoc($requete_0102)) {
          echo '<tr><td>',$row_0102['cat'],'</td></tr>';
          } ?>

#19 Re : MySQL, PostgreSQL, etc... » [MySQL] Compter sur deux tables » 05-07-2010 08:42:53

alors là je suis tout à fait d'accord avec toi
mais j'avoue que je n'ai surement pas le niveau requis
et malheureusement, c'est une requete qui me convient
mais si tu me proposes une requete à la norme et performante
je serais content de la tester et de pouvoir en apprendre un peu plus

#20 Re : MySQL, PostgreSQL, etc... » [MySQL] Compter sur deux tables » 05-07-2010 08:42:53

ah neutral

ah bah dans ce cas j'attends une proposition
pour comparer wink

#21 Re : MySQL, PostgreSQL, etc... » [MySQL] Compter sur deux tables » 05-07-2010 08:42:53

en fait je joins bien les code1 et code2

et j'arrive bien au résultat que je souhaitais !

#22 Re : MySQL, PostgreSQL, etc... » [MySQL] Compter sur deux tables » 05-07-2010 08:42:53

Voici la réponse pour information

SELECT groupe, (SELECT COUNT(categorie) FROM table1 WHERE categorie='a' AND id1=id2) AS cat
FROM table2 t2
GROUP BY groupe

#23 MySQL, PostgreSQL, etc... » [MySQL] Compter sur deux tables » 05-07-2010 08:42:53

athome
Réponses : 17

Bonjour, j'ai plusieurs soucis pour compter, trier et ranger...
J'ai donc deux tables

table1                   table2

id1 code1 categorie    id2 code2 groupe
1   001        a             1   001       1
2   002        b             2   002       1
3   003        c             3   003       1
4   004        d             4   004       2
5   005        e             5   005       2
6   006        b             6   006       2
7   007        a             7   007       3
8   008        a             8   008       3
9   009        c             9   009       3

je voudrais arriver à :

groupe categorie  nombre
   1       a         1
   2       a         0
   3       a         2

ce qui lie mes tables c'est le code

alors pour cette requete, je veux :
compter le nombre de 'categorie' dans chaque 'groupe'
grouper par 'groupe' smile
trier par l'id2'

et surtout afficher les zéro, des 'groupe'
n'ayant meme pas de 'categorie'
je veux savoir combien il y a de
categorie dans le groupe et s'il n'y en a pas afficher "0"

voici ce que j'ai fais pour l'instant

SELECT table2.groupe,
COUNT(table1.categorie) AS nombre
FROM table2, table1
WHERE table1.code=table2.code2 AND categorie = 'a'
GROUP BY table2.groupe
ORDER BY table2.id2 ASC

si vous pouviez me donner un coup de main wink
et s'il manque quelque chose, demandé moi

les CREATE TABLE

CREATE TABLE IF NOT EXISTS `table1` (
  `id1` int(11) NOT NULL auto_increment,
  `nom` text NOT NULL,
  `prenom` text NOT NULL,
  `categorie` text NOT NULL,
  `code1` text NOT NULL,
  PRIMARY KEY  (`id1`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;

CREATE TABLE IF NOT EXISTS `table2` (
  `id2` int(11) NOT NULL auto_increment,
  `groupe` text NOT NULL,
  `code2` text NOT NULL,
  PRIMARY KEY  (`id2`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;

et les INSERT INTO

INSERT INTO `table1` (`id1`,`nom`, `prenom`, `categorie`, `code1`) VALUES
(1, 'durant', 'andre', 'a', '001',),
(2, 'dupont', 'Jean', 'b', '002'),
(3, 'martin', 'Elodie', 'c', '003'),
(4, 'blanc', 'Dominique', 'd', '004'),
(5, 'rouge', 'Monique', 'e', '005'),
(6, 'vert', 'Francois', 'b', '006'),
(7, 'bleu', 'Fabien', 'a',  '007'),
(8, 'noir', 'Jean', 'a', '008'),
(9, 'blanc', 'Marie', 'c', '009'),

INSERT INTO `table2` (`id2`, `groupe`, `code2`) VALUES
(1, '1', '001'),
(2, '1', '002'),
(3, '1', '003'),
(4, '2', '004'),
(5, '2', '005'),
(6, '2', '006'),
(7, '3', '007'),
(8, '3', '008'),
(9, '3', '009'),

Pied de page des forums

Propulsé par FluxBB