mougeole boiteux

  • Nombre de sujets
    7
  • Nombre de messages
    20
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

mougeole boiteux
le 16/05/2006 à 10:14
récupération de variable et liste déroulante
Bonjour

Voici mon problème :

j'ai une liste déroulante avec des nom de cellule (cellule informatique, cellule du personnel...)

Ces cellule dépende de service.

J'ai donc 2 tables : CELLULES et SERVICES

Sous ma liste déroulante des cellules

j'ai un champs : "nom de cellule"
un autre "code de la cellule"

et une liste déroulante "dépend du service"

qui contient la liste des services.

Je veux faire une interace de mise à jour des cellule.

Lorsque je séléctionnne une cellule le nom de la cellule apparait dans le champ "nom de la cellule"

(Ca ça marche)

le code de la cellule apparait dans le champs " code de la cellule"

(ca ça marche)

Il y a un dernier truc qui ne marche pas c'est la liste déroulante. Je voudrai quelle séléctionne le service dont dépned la cellule qu'on a choisie.

Pour l'instant elle reste sur le premier service de la liste.

Voici un peu de code :

<?php


/* requête pour séléctionner le nom et code des cellule*/

$sqlc = "SELECT NomCellule, CodeCel, RefService FROM CELLULES where NomCellule = '".$_POST['listecellule']."'";
$reponsec = mysql_query($sqlc);

/* requête pour alimenter la liste des service */

$sqla = "SELECT NomService, IdServce FROM SERVICES ORDER BY CodServ ASC";
$reponsea = mysql_query($sqla);

/* requête pour afficher dans la liste service,le service dont on a séléctionné la cellule dans la première liste */

$sqld = "SELECT NomService FROM SERVICES INNER JOIN CELLULES ON IdServce = RefService where NomService = '".$donneesa['NomService']."'";

?>


Je ne sais pas si cette requête est la bonne pour récupérer ce que je veux.

Quand j'affiche cette requête avec un echo "$sqld";

J'obtiens ceci :


SELECT NomService FROM SERVICES INNER JOIN CELLULES ON IdService = RefService where NomService = ''


Il ne reconnait pas ma variable de nom de service.

Est-ce que quelqu'un voit ce qu'il faut faire?

Merci d'avance
mougeole boiteux
le 15/05/2006 à 09:13
requête SQL
Salut

Ca y est j'ai trouvé!! smiley

Il ne s'agissait pas que d'une simple mise en forme.
C'est ma requête $sqlb qui était incomplète.

Il fallait en fait 2 condition :

La première condition pour séléctionner les cellules dont le champ RefSrvice est égal au champ IdService.

La deuxième condition sert à préciser qu'on affiche les Cellules dont les champs RefService est égale à l'IdService séléctionné dans la première boucle.

Ce qui nous donne :

<?php

$sqlb = "SELECT NomCellule FROM CELLULES INNER JOIN SERVICES ON IdService = RefService WHERE NomService = '".$donneesa['NomService']."' ORDER BY CodeCel ASC";

?>


Voilà

J'espère que ça pourra servire à quelqu'un.

Salut
mougeole boiteux
le 12/05/2006 à 16:37
requête SQL
Salut

Merci pour ta réponse

J'ai corriger mon INNER JOIN WHERE en INNER JOIN ON et ça marche du moins dans phpmyadmin.

Mon problème viens du PHP
J'a fait un petit test sans afficher le résultat dans une liste mais dans une simple page pour simplifier.

Ca donne ceci :

<?php

while ($donneesa = mysql_fetch_array($reponsea))
{
$service = $donneesa['NomService'];
echo "$service ";
while ($donneesb = mysql_fetch_array($reponseb))
{
$cellule = $donneesb['NomCellule'];
echo "Bien joué TINTIN";
echo "$cellule " ;
}

}

?>


résultat sur la page :


service 1
service 2
service 3
service 4


Il ne passe donc pas dans la deuxième boucle.

Ca doit être très con mais là je vois pas.
Est-ce que quelqu'un à une idée?
mougeole boiteux
le 12/05/2006 à 14:37
requête SQL
Bonjour

Voilà. J'ai un problème avec une requête SQL dans une page PHP.

Je veux fairre une liste déroulante optionnelle du type :

service 1
cellule 1
cellule 2
cellule 3
cellule 4
service 2
cellule 1
cellule 2
cellule 3
cellule 4
service 3
cellule 1
cellule 2
cellule 3
cellule 4
service 4
cellule 1
cellule 2
cellule 3
cellule 4

On ne soit pouvoir séléctionner que les cellules

Voici mon code


<?php 


$sqla = "SELECT NomService FROM SERVICES";

$reponsea = mysql_query($sqla);


$sqlb = "SELECT NomCellule FRM CELLULES INNER JOIN SERVICES WHERE IdService = RefSevice";

$reponseb = mysql_query($sqlb)

// Ensuite je fais deux boucle imbirqué pour la liste


while ($donneesa = mysql_fetch_array($reponsea))
{

?>

<optgroup label=" <?php echo "$donneesa[ 'NomService']" ?>" >

<?php
while ($donneesb = mysql_fetch_array($reponseb))
{
?>

<option><?php echo "$donneesb[ 'NomCellule']" ?></option>

<?php
}
?>

</optgroup>

<?php
}
?>



Avec ce code j'obtiens cette liste :

service 1
cellule 1
cellule 2
cellule 3
cellule 4
cellule 1
cellule 2
cellule 3
cellule 4
cellule 1
cellule 2
cellule 3
cellule 4
cellule 1
cellule 2
cellule 3
cellule 4
service 2
service 3
service 4

Je suis presque sur que mon erreur viens de la requête $sqlb parce que je l'ai testé dans phpMyAdmin et je n'ai pas obtenu le resultat attendu.

Est-ce que quelqu'un à une idée de l'erreur?

Merci d'avance
mougeole boiteux
le 10/05/2006 à 14:20
[Requête SQL]
Salut

Ca y est j'ai trouvé.

J'ai rajouté ceci au code php :


Code PHP:

$id  = htmlentities($_POST['IdServce']);



(Bien sur j'ai remplacé $idservice par $id dans ma requête SQL)

Et j'ai rajouté ceci dans mon code HTML :

Code HTML:

<input type="hidden" name="IdServce" value="<?php echo"$idservice"; ?>">


Et ça marche nickel.
Merci encore.

Salut
mougeole boiteux
le 10/05/2006 à 08:34
[Requête SQL]
Salut

Merci pour vos réponse.
J'ai donc afficher la requête SQL et il me répond ceci :

UPDATE SERVICES SET NomService = 'Subdivision de saint-machin', Diminutif = 'SSM', CodServ = '995' WHERE IdService = '' smiley


Maintenant je sais dans quelle direction chercher.smiley
mougeole boiteux
le 09/05/2006 à 17:58
[Requête SQL]
Bonjour

J'ai un problème avec une requête SQL

J'ai un code du type

if($_POST['btnMachin'])
{
//Action
}
elseif($_POST['btnTruc'])
{

//Autre action
//Ici se trouve ma requête
}
else
{
//Action par défaut
}


Voici ma requête SQL :

$reponse = mysql_query("UPDATE SERVICES SET NomService = '$nom', Diminutif = '$dim', CodServ = '$cod' WHERE IdService = '$idservice' ");

En dessous je met des echo pour vérifié :

echo"$nom <br/>";
echo"$dim ";
echo"$cod ";
echo"$reponse ";

Et voilà ce que j'obtiens :

machin
truc
bidule
1

Les variable $nom, $dim, $cod ne sont pas vide.
Mais à quoi corespont ce 1.
Par ailleurs j'ai tester la requête SQL dans phpMyAdmin et remplaçant les variable par des valeurs "en dure" et ça marche.

Est-ce que quelqu'un a une petitie idée de l'erreur?

Merci d'avance
mougeole boiteux
le 05/05/2006 à 13:31
PHP et liste déroulante "suggestive"
Salut

merci pour ta réponse.

J'aime bien ton idée de popup.
Mais je suis acuellement en stage et la charte de l'entreprise dit : "PAS DE POPUP".

Ensuite je dois rentré des employé dans une base ainsi que leur lieu de travail.

Je n'est pas trouvé utile de créer une table lieu à part (bien que j'y ai pensé).
J'affiche simplement dans ma liste le champs lieu de la table employé.

On ne peut pas supprimer un lieu mais aucune importance.
Si personne ne travail dans ce lieu, il ne figurera pas dans la liste.

Sinon, je peux faire un champs de saisie de texte et la liste ne sera la qu'a but informative et n'interagirait pas avec la base (je veux dire pour selectionner un choix)...

C'est une solution possible mais ça laisse quand même une plus grande place au erreur de saisie.

Et comment vérifié les erreur dans ce cas là?
Un lieu différent doit-il être interprété comme une erreur de saisie ou justement comme un nouveau lieu?
Pas moyen de vérifié.

Enfin merci quand même pour ta réponse.
mougeole boiteux
le 05/05/2006 à 09:24
PHP et liste déroulante "suggestive"
Bonjour

Voici mon probème :

J'ai une liste déroulante alimenté par les données d'une base.
Ca c'est classique ça va.

Le problème c'est que j'aurai également besoin d'une liste déroulante "de suggestion".

Je m'explique j'ai une page de saisie avec des lieu de batiment.
Pour éviter les fautes d'orthographe, je veux que l'utilisateur puisse séléctionner un lieu dans la liste.
Mais si il veut rentrer un nom différent il doit pouvoir le faire dans la liste.
Au prochain rafraichissement de la page, le nouveau lieu doit apparaitre dans cette liste.

Voila c'est ce que j'appelle une liste "suggestive".

Si quelqu'un a une idée de comment ça peut se faire...

Merci d'avance
mougeole boiteux
le 04/05/2006 à 10:47
#Ressourceid+mysql
Salut Manu

J'ai eu le même genre de problème il y a pas longtemps et j'ai résolue le problème de la manière suivante :

$reponse = mysql_query("TA REQUETE SQL");

$donnee = mysql_fetch_array($reponse);

$nom = $donnee['nom'];
$prenom = $donnee['prenom'];

etc

dans la première ligne, tu la constater on récupère la resource.

Dans la deuxième ligne on met se résultat sous forme de tableau.

Ensuite on récupère le contenu de chaque champs (champs nom champs prenom...

La dernière étape n'est pas obligatoire mais je te conseil de le faire : c'est quand même plus pratique d'utiliser (ou de réutiliser)

$nom plutôt que $donnee['nom']
et puis ça peut être une source d'erreur de plus donc...

Pour le remettre en resource... je sais pas trop. Je vois pas trop l'intéret. Si tu veux remettre des données dans une base tu refais un mysql_querry

Mais si c'est pour des test, je ne vais pas t'embêter avec des questions d'interet!

Voilà j'éspère que ça te permettra d'avancer

Salut
LoadingChargement en cours