Jump to content
  • ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By billcom
      Bonjour à tous,



      J'ai, sur un site d'offre d'emploi, une liste de domaines et plusieurs offres.


      Chaque offre à un domaine correspondant.



      Structure des tables :

      table domaine
      id_domaine
      nom_domaine
      ...

      table offre
      id_offre
      id_domaine
      date
      ...

      Sur une page du site, j'aimerai lister tous les domaines ainsi que les trois dernières offres du domaine en question.



      Pour avoir ce résultat, je fais actuellement :

      Une requête qui récupère les domaines;
      Puis quand j'affiche les domaines avec un foreach(), je fais une requête qui récupère les 3 dernières offres correspondant au domaine courant.
      Le problème, c'est que faire une requête dans une boucle n'a jamais été top et effectivement la page est longue à charger.



      J'ai alors mis en cache la requête (remember / j'utilise le framework Laravel) afin que la page soit plus rapide. Cependant au premier chargement la page met très longtemps a apparaître.



      J'aimerai optimiser ce premier chargement.



      J'ai essayé de faire une requête avec une sous-requête mais sans succès et je ne sais même pas si c'est possible.



      Si vous êtes un champion de SQL ou que vous voyer la faille dans mon raisonnement, j'attend votre aide



      Merci d'avance.

    • By MissOlana
      Rebonjour à tous chers internautes,
      me revoila pour un probleme que je n'arrive pas à résoudre: (hey oui je suis une buse des fois (rire))
      Bon voici le script et mon probleme:

      J'utilise un select multiple pour proposer un choix de recherche: (Homme, femme, couple)

      <select multiple="multiple" name="recherche[]" multiple size="3"> <option data-img-src="icone-homme.png" value="1"></option> <option data-img-src="icone-femme.png" value="2"></option> <option data-img-src="icone-couple.png" value="3"></option></select> Je récupere les données de mon choix multiple
      <?phpif(isset($_POST['recherche'])){if(($_POST['recherche']) && !empty($_POST['recherche'])){$Col1_Array = $_POST['recherche'];//print_r($Col1_Array);foreach($Col1_Array as $selectValue){//affichage des valeurs sélectionnéesecho $selectValue."";}}}?> Le résultat s'affiche comme suit:
      si le membre clique sur homme et femme cela m'affiche: 1 et 2
      si le membre clique sur homme, femme couple : 1 et 2 et 3
      jusque là tout va bien !

      Mon souci et l'ajout dans ma base de données MSQL, je n'y arrive pas
      Voici ma base:

      Voici la solution expéré:
      La table "comptes"
      +---------------+------------+----------+---------+| nom | Choix1 | Choix2 | Choix3 |+---------------+------------+----------+---------+| MissOlana | 1 | 2 | 3 | (si j'ai choisi homme, femme couple)+---------------+------------+----------+---------+| Paul | 1 | | | (si il a choisi homme)+---------------+------------+----------+---------+| Pierre | | 2 | 3 | (si il a choisi femme et couple)+---------------+------------+----------+---------+
      En attente de vos lumiéres , merci encore les amis, je remercie aussi duplex13, Dadou, hsdino pour mes anciens soucis
    • By elfaus
      Salut à tous,



      j'essaye d'optimiser un script php afin de n'avoir à réaliser qu'une seule requête et récupérer toutes les informations nécessaires. J'ai découvert il y a peu group_concat mais je ne suis parvenu à le faire fonctionner que sur un seul champ.



      Soit les deux tables sources suivantes :



      Heroes


      +----+-----------+------------+
      | id| name_fr | name_us |
      +----+-----------+------------+
      | 1 | ababab | ababab |
      | 3 | efefef | efefef |
      +----+-----------+------------+
      Schools


      +----+-----------+-----------+
      | id | name_fr | name_us |
      +----+-----------+-----------+
      | 3 | ababab | ababab |
      | 5 | cdcdcd | cdcdcd |
      | 9 | efefef | efefef |
      +----+-----------+-----------+

      Soit la table relationnelle suivante :
      Heroes_Schools


      +----+----+
      | hid|sid |
      +----+----+
      | 1 | 3 |
      | 1 | 5 |
      | 3 | 9 |
      +----+----+



      L'idée, est de faire en sorte de récupérer un résultat similaire à celui-ci


      +----+-----------+-----------+--------------------------------------------------+
      | id| name_fr | name_us | schools |
      +----+-----------+-----------+--------------------------------------------------+
      | 1 | ababab | ababab | 3, ababab, ababab; 5, cdcdcd, cdcdcd |
      | 3 | efefef | efefef | 9, efefef, efefef |
      +----+-----------+-----------+--------------------------------------------------+
      Afin de pouvoir par la suite faire un traitement de tableau en php et passer le contenu de schools en paramètre d'une autre class que celle réalisant la requête et stockant les information id, name_fr et name_us



      Pour l'instant j'ai ça :


      SELECT mch.id, mch.name_fr, mch.name_us, GROUP_CONCAT(mcs.id) AS schools_id, GROUP_CONCAT(mcs.name_fr) AS schools_name_fr, GROUP_CONCAT(mcs.name_us) AS schools_name_us

      FROM mom_cards_heroes AS mch
      LEFT JOIN mom_cards_heroes_schools AS mchs ON mch.id = mchs.heroesid
      LEFT JOIN mom_cards_schools AS mcs ON mchs.schoolid = mcs.id
      WHERE mch.`publish` = 1
      GROUP BY mch.id
      ORDER BY mch.factionid, mch.name_fr ASC

      Mais pas suffisant x)
    • By vespa
      Bonjour,

      Je n'arrives pas à bâtir une requête.. J'ai une table "items" qui comportent plusieurs champs : name, description, date... Certaines lignes sont en doubles c'est à dire même "name", même "description" seul la date change

      Je dois supprimer tous les doublons en gardant le "name", "description" ayant la date la plus récente... J'ai passé mon dimanche sur ce SQL. Je précise que cette table est sur DB2 et que je n'ai aucun pouvoir dessus, je dois juste faire ce nettoyage. Merci d'avance pour votre aide.
    • By sparh
      Bonjour,
      j'ai dans une table Membre de ma base sql contenant 10 000 enregistrement.

      Je souhaite vérifier que tel user_id correspond bien à tel user_name.

      J'ai 2 solutions :
      - faire une requête sql à chaque fois (si 1 résultat alors la correspondance existe)
      - faire une requête sql pour extraire user et userid que je met dans un tableau php et le tout en cache (durée de vie du cache très longue), quand j'ai besoin de vérifier, je n'ai qu'à chercher dans le tableau. (donc pas de requête sql)

      Quel est la solution la plus optimale selon vous ? (peux être y'a t'il de meilleur solutions auxquelles je n'ai pas pensé)

      Merci d'avance
×
×
  • Create New...