IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Requête de sélection


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juin 2018
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Requête de sélection
    J'ai un probleme avec mon site d'offre d'emploi. J'ai seulement deux champs de disponible pour les utilisateurs (type de poste et ville).

    Lorsque je tape un type de poste, il ne me trouve rien tant que je n'ai pas entrer un nom de ville.... Alors que lorsque je recherche seulement avec une ville ca fonctionne...

    Merci pour votre aide, voici mon code ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    <?php
    $regions = searchCities();
    $jobs;
    $poste = !empty($_POST['poste']) ? $_POST['poste'] : !empty($_GET['p']) ? $_GET['p'] : '';
    //$poste_no_accent = strtoupper( transliterator_transliterate('Any-Latin; Latin-ASCII; [\u0080-\u7fff] remove', $poste) );
    $zipCode = strtoupper(str_replace("_", " ", !empty($_POST['zipCode']) ? $_POST['zipCode'] : !empty($_GET['z']) ? $_GET['z'] : ''));
    $distanceRadius = !empty($_POST['distanceRadius']) ? $_POST['distanceRadius'] : !empty($_GET['r']) ? $_GET['r'] : '';
     
    if( !empty($_GET['v'])){
    if(isset($_POST['ville']) || isset($_GET['v'])) {
    	$ville = !empty($_POST['ville']) ? $_POST['ville'] : explode(" ", $_GET['v']);
    	if (count($ville) === 1) {
    		$villes = api_get_cities();
     
    		foreach($villes as $v){
    			if($v->getCityID() == $ville[0]){
    				$villeObj = $v;
    				break;
    			}
    		}
    	}
    	if ($isPageJobOffers) {
    		$jobs = searchJobs($poste, $ville, ($currentPage - 1) * $pageMax, $pageMax);
    	}
    	$jobsCount = getCountJobs($poste, $ville);
    	//if ($isPageJobOffers) {
    	//	$jobs = searchJobs($poste_no_accent, $ville, ($currentPage - 1) * $pageMax, $pageMax);
    	//}
    	//$jobsCount = getCountJobs($poste_no_accent, $ville);
     
    }
    }
     
     
    if ($zipCode && $distanceRadius) {
       // Set distance radius with a default value (5km) if not set.
       if (!$distanceRadius) {
          $distanceRadius = '5';
       }
     
       // Unused; Maybe useful one day if we have a ton of jobs to go through (in ten of thousands).
    	//$jobsAllPage = searchJobsIds($poste_no_accent, $ville);
       $emptyVille;
       $jobsAllPage = searchJobs($poste, $emptyVille);
       //$jobsAllPage = searchJobs($poste_no_accent, $emptyVille);
     
       $finder = new PostalCodeFinder(null, $zipCode, $distanceRadius);
       $postalCodes = $finder->find();
       $jobs = array();
     
    	foreach ($jobsAllPage as $index => $job) {
          foreach ($postalCodes as $index2 => $pc) {
             if ($pc->code == substr($job->getJobPostalCode(), 0, 3)) {
                $job->distance = $pc->distance;
                array_push($jobs, $job);
             }
          }
    	}
    	$jobsCount = count($jobs);
    }
     
    $suggest = '';
    if (!empty($poste)) {
       /* $pspell_link = pspell_new(ICL_LANGUAGE_CODE, 'canadian', '', 'UTF-8');	//*** Removed for now because it doesn't work
    
        if (!pspell_check($pspell_link, $poste)) {
            $list = pspell_suggest($pspell_link, $poste);
            if (count($list) > 0) {
                $suggest = reset($list);
            }
        }*/
    }
    $monthArr = include(get_theme_root() . '/hunt/inc/tools/months.php');
    $pageIds = include(get_theme_root() . '/hunt/inc/tools/page_ids.php');
     
    $cities = api_search_cities('');
    $citiesLang = array();
    foreach ($cities as $c) {
        $province = $c->getCityCode();
        $matches = array();
        preg_match("/[0-9]+/", $province, $matches);
        if (count($matches) == 0) {
            continue;
        }
        $province = preg_replace("/[0-9]+/", "", $province);
        $citiesLang[$c->getCityID()] = (strcmp(strtoupper($province), 'QC')===0?'fr':'en');
    }
    ?>
     
    <form id="frm-job-search" action="<?php echo get_permalink(icl_object_id($pageIds['job-offers'], 'page'))?>" class="form-inline" method="get">
    			<div class="two columns">
    				<label class="label-job-search" for="poste"><?php echo __('Emploi recherché');?></label>
    			</div>
    			<div class="three columns">
    				<input  type="text" name="p" id="poste" class="input-recherche input-job-search inputSearch" value="<?php
    				echo !empty($poste) ? $poste : '';
    				?>" placeholder="<?php echo __("Saisir un mot clé");?>">
    			</div>
    			<div class="three columns">
    				<input class="inputSearch input-job-search" type="text" id="ville-complete" value="<?php echo (!empty($villeObj)?$villeObj->getCityName(ICL_LANGUAGE_CODE):''); ?>" placeholder="<?php echo __("Saisir un lieu");?>" />
    			</div>
    			<input type="hidden" name="v" id="ville-value" value="<?php echo implode('0',$ville); ?>" />
    				<div id = "mydiv_ii">
    					<input  type="hidden" style="width:45%!important;" name="z" id="zipCode" class="input-recherche input-job-search inputSearch" value="<?php echo !empty($zipCode) ? $zipCode : ''; ?>" maxlength="6"
    					placeholder="<?php echo ICL_LANGUAGE_CODE=='fr'?'Saisir votre code postal':'Enter your postal code';?>">
    					<input style="width:30%!important;" type="hidden" name="r" id="distanceRadius" class="input-recherche input-job-search inputSearch" value="<?php echo !empty($distanceRadius) ? $distanceRadius : ''; ?>" maxlength="2"
    					placeholder="<?php echo ICL_LANGUAGE_CODE=='fr'?'Distance (km)':'Distance (km)';?>">
    				</div> 
    			<div class="three columns">
    				<input type="submit" value="<?php echo __('Afficher les postes');?>" class="button btn-primary input-job-search" style="margin-top:5px; ">
    			</div>
    		</form>

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Revois la logique du code, et l'imbrication des if.

    Notamment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if( !empty($_GET['v'])){
    if(isset($_POST['ville']) || isset($_GET['v'])) {
    	$ville = !empty($_POST['ville']) ? $_POST['ville'] : explode(" ", $_GET['v']);
    	if (count($ville) === 1) {
    ...

  3. #3
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juin 2018
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Je ne suis pas développeur donc les problèmes liés au If,... Je ne les comprends pas. Je cherche juste une entraide d'une personne capable de modifier mon code afin qu'il soit exploitable pour la recherche de mots clés, mais également en ajoutant un filtre sur les données et un tri. Si tu as la possibilité de faire ça rapidement, je te remercie vraiment énormément.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Montrealdev Voir le message
    Je ne suis pas développeur donc les problèmes...
    1- Alors, qui a écrit le code ?

    2- et il manque des commentaires/explications dans le code, pour comprendre :
    • qui fait quoi
    • la logique (chronologie des actions, imbrication des if,...)

    3-
    ...Si tu as la possibilité de faire ça rapidement, ...
    Ce n'est pas comme ça que fonctionne le forum.
    On est là pour aider à corriger, pas pour faire tout le travail.

    Sinon, tu peux embaucher un vrai développeur, moyennant finance. (Voir le forum "offre d'emploi")
    Dernière modification par Invité ; 25/06/2018 à 14h22.

  5. #5
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juin 2018
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Une société qui a commencé le développement et à abandonner avant de terminer leur travail...

    C'est justement pour cela que je propose ce sujet. L'entraide existe, peut être que quelqu'un serait intéressé pour compléter le code.

    Au Québec ça se fait beaucoup en tout cas.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ici aussi... entre développeurs (*)...
    Par contre, on ne confond pas "s'entre-aider" avec "faire à la place de".

    (*) Le problème, c'est que si on te donne des conseils ou des solutions, mais que tu ne les comprends pas, (par manque de connaissances ou d'expérience), on n'arrivera pas à se comprendre (**)

    (**) Par exemple : les boucles "if" que j'ai mentionnées concernent la "ville".
    Or, la requete de recherche se trouve dedans.
    Ce qui explique pourquoi tu dois rentrer un nom de ville, sinon ça ne passe pas dedans.
    Donc, il faut modifier le code.
    Compris ?


    N.B. Enfin, "s'entre-aider" suppose une réciprocité.
    Quelle aide souhaites-tu apporter à l'avenir ?
    Dernière modification par Invité ; 25/06/2018 à 15h54.

  7. #7
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juin 2018
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Ok 😉 donc il faut que je sorte la requête de recherche du If c'est bien ça ? Pour pouvoir effectuer une recherche également sur le poste

  8. #8
    Invité
    Invité(e)
    Par défaut
    Oui.
    Cette partie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	if ($isPageJobOffers) {
    		$jobs = searchJobs($poste, $ville, ($currentPage - 1) * $pageMax, $pageMax);
    	}
    	$jobsCount = getCountJobs($poste, $ville);
    Ensuite, il faut mettre de l'ordre, car ça me paraît bien confus, et mal organisé.

  9. #9
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juin 2018
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Je suis pas surpris, 3 developpeurs ont travaillé sur le site et chacun a fait son petit truc de son côté sans documenter et de plus ça ne fonctionne pas..

  10. #10
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juin 2018
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Merci pour tes conseils jreaux62 ! Cela m'a bien aidé et j'ai réussi à faire fonctionner le système de recherche !

    Maintenant il faut que je trouve comment trier et filtrer

  11. #11
    Invité
    Invité(e)
    Par défaut
    Voici un exemple de traitement.

    Remarque : il contient un " OR " (l'un OU l'autre).
    Tu auras plutot besoin d'un " AND "(l'un ET l'autre).

Discussions similaires

  1. Requête de sélection --> Gestion Historique ...
    Par snoopy69 dans le forum Access
    Réponses: 21
    Dernier message: 29/11/2005, 16h10
  2. [conception] Requête de sélection problèmes de relations
    Par snoopy69 dans le forum Modélisation
    Réponses: 26
    Dernier message: 08/11/2005, 14h23
  3. [SQL] requête de sélection récursive ? ou impossible ?
    Par toxine dans le forum Langage SQL
    Réponses: 9
    Dernier message: 04/08/2005, 13h20
  4. Réponses: 1
    Dernier message: 03/08/2005, 11h41
  5. Pb de requête de sélection
    Par Nohant dans le forum Langage SQL
    Réponses: 8
    Dernier message: 16/01/2005, 17h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo