SuperTalon

Inscris le 17/03/2009 à 09:35
  • Site web
  • Nombre de sujets
    4
  • Nombre de messages
    18
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
SuperTalon
le 28/03/2009 à 13:38
Probleme avec boucle while
Bonjour,

J'ai une bdd composée de 2 tables, 1 société et 1 contact. Je voudrais afficher toutes les sociétés, avec leurs contacts respectifs. Si je fais une boucle while ça affiche tous les contacts et leurs sociétés, si il y a plusieurs contact d'une même société alors la société se répète. C'est pas grave mais c'est pas optimal.

Ce que je eux c'est avoir une société qui s'affiche et ses contacts en dessous ; j'avais pensé faire une 1ere boucle while listant les société, et dans cette boucle en intégrer une autre qui elle listait les contacts par societe.

Malheureusement ça ne marche pas, ce ne doit pas être trop conçu pour ou il me manque un truc

Y a t il une technique ou des pistes pour ce genre de chose ?
------------
Les exemples : boucle while me donne
societe1 = contact1société1
société1 = contact2société1
société2 = contact3société2
etc.

Ce que je veux :
société1 = contact1societe1, contact2societe1
société2 = contact3société2
etc.
SuperTalon
bonjour, j'ai deux liste dans un formulaire pour pouvoir afficher :
- tous les statuts pour toutes les régions
- tous les statuts pour une région
- un statut pour toutes les régions
- un statut pour une région

Je me sers des if elseif else mais ça ne veux rien savoir, il n'y a que 1 statut pour 1 région qui s'affiche... Je ne vois pas ou il y a une erreur :
----------------------------

<?php
if($_POST['societe_statut'] == '1' && $_POST['societe_secteur'] == '1')
{
$demande = mysql_query('SELECT * FROM societe LEFT JOIN contact ON societe.societe_nom = contact.contact_societe ORDER BY societe_nom ASC');//ça c'est censé afficher tout
}
else if($_POST['societe_statut'] == '1' && $_POST['societe_secteur'] != '1')
{
$demande = mysql_query('SELECT * FROM societe LEFT JOIN contact ON societe.societe_nom = contact.contact_societe WHERE societe_statut = "'.$_POST['societe_statut'].'" ORDER BY societe_nom ASC');//ça c'est censé afficher 1 statut dans toutes les régions

}

else if($_POST['societe_secteur'] == '1' && $_POST['societe_statut'] != '1')
{
$demande = mysql_query('SELECT * FROM societe LEFT JOIN contact ON societe.societe_nom = contact.contact_societe WHERE societe_secteur = "'.$_POST['societe_secteur'].'" ORDER BY societe_nom ASC');//ça c'est censé afficher tous les statuts d'une région

}
else
{
$demande = mysql_query('SELECT * FROM societe LEFT JOIN contact ON societe.societe_nom = contact.contact_societe WHERE societe_statut = "'.$_POST['societe_statut'].'" AND societe_secteur = "'.$_POST['societe_secteur'].'" ORDER BY societe_nom ASC');//ça c'est censé afficher un statut d'une région

}
?>

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

Question subsidiaire ; sachant que je fais apparaitre tout les champs dans le résultat, y a t il quand même un intérêt pour les nommés plutôt que de déclarer * ?

Merci d'avance
SuperTalon
le 24/03/2009 à 12:38
"Injecter" OR ou AND via php
Bonjour,

Bon ma petite base avance, j'ai une question metaphysique ; est ce qu'on peut changer AND par OR via un formulaire ? Si oui quelle est la meilleure option (liste déroulante, bouton, etc.?)

Merci d'avance

Ses derniers messages sur les forums

forum
SuperTalon
le 06/04/2009 à 16:35
Probleme avec boucle while
Impossible de dépatouiller explode, j'ai trouvé autre chose avec mysql_fetch_assoc dans un while
ça fonctionne au poil.

Je refais mon bazar et je regarde le code que tu m'as écrit plus haut
SuperTalon
le 01/04/2009 à 09:17
Probleme avec boucle while
Merci pour le temps que tu as pris pour mon problème, je vais la tester mais sincèrement je n'ai pas le niveau pour tout comprendre, à désosser ça va être ardu. Entretemps j'ai récupérer ce type de requète :

SELECT societe_id, societe_nom, 
GROUP_CONCAT(contact_nom, ' ', contact_prenom, ', ' ORDER BY contact_nom SEPARATOR '\n') AS contact
FROM contact
INNER JOIN societe ON contact_societe = societe_nom
GROUP BY societe_id, societe_nom;


ça fonctionne bien sur ma console SQL, j'ai bien les résultats sous la forme :

societeA = contactX, contactY
societeB = contactZ

...il me faut maintenant afficher le résultat en php...
SuperTalon
le 31/03/2009 à 17:48
Probleme avec boucle while
Pas réussi avec if, ça m'affiche tous les contacts d'un coup :-(

Je vais assayer GROUP BY pour voir

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours