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

PHP & Base de données Discussion :

Analyse d'une chaine de caratére


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut Analyse d'une chaine de caratére
    Salut a tous,
    voila ce qui m’amène.
    je travaille avec une bdd contenant un champ "typelot".
    ce dernier est rempli de la façon suivante : T2-T4-T5.

    Ensuite, je récupère des checkbox d'un formulaire via ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for ($i=0;$i<count($_POST['letype']);$i++)
    {
    $biencheck = $_POST['letype'][$i];
    echo $biencheck;
    }
    ce qui me donne par exemple : T2T5 (en fonction de ce qui a été coché)

    je dois ensuite faire une recherche dans ma bdd sur le champs "typelot" pour sortir les lignes correspondante a la demande.

    Donc question, quel est le meilleurs moyen pour faire cela ?
    tout en sachant que la recherche doit se faire sur les logement T2 ou T5 dans l'exemple et non pas sur la chaine T2T5.

    Merci d'avance de votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ton code date de PHP 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($_POST['letype'] as $value) {
    echo $value;
    }

    Pour ta requête tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $types = array_map ('intval', $_POST['letype']);
    $sql = 'SELECT FROM tatable WHERE tacolonne IN ('  . implode(',' , $types) . ')'
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    re,
    j'ai fais cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    foreach ($_POST['letype'] as $value) {
    echo $value;
    }
     
    $types = array_map ('intval', $_POST['letype']);
    echo $types;
    $sql = 'SELECT * FROM programme WHERE type IN ('  . implode(',' , $types) . ')';
    while($data = mysql_fetch_array($sql)) 
    		{
    		echo $data[nom];
    		}
    mais j'ai une erreur :
    Array Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in /.../resu.php

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    il est toujours bon de savoir lire/traduire/comprendre les messages d'erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req = 'SELECT * FROM programme WHERE type IN ('  . implode(',' , $types) . ')';
    $sql = mysql_query($req);
    Cela dit, pourquoi faire intval() si les valeurs sont "T1", T2",... ?

    N.B. Quel rapport avec le titre : "Analyse d'une chaine de caractère" ?

  5. #5
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    re,
    c'est encore moi
    le rapport avec le titre, c'est qu'a la base je pensais qu'il fallait analyser la chaine afin de pouvoir faire une requête.

    Après, j'ai du mal a répondre a ta question car je ne comprends pas bien le code de Sabotage

  6. #6
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    re, je m'étais trompé dans un champs,
    re voici le code mais qui ne fonctionne toujours pas.

    pas de message d'erreur, mais la requete n'est visiblement pas bonne car il m'affiche systématique toute la bdd, alors que cela doit afficher uniquement les lignes ou les "types de logement" correspondent aux cases cochée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $types = array_map ('intval', $_POST['letype']);
     
    $req = 'SELECT * FROM programme WHERE typelot IN ('  . implode(',' , $types) . ')';
    $sql = mysql_query($req);
    while($data = mysql_fetch_array($sql)) 
    		{
    		echo $data[nom];
    		}
    Quelqu’un pour m'aider ???

Discussions similaires

  1. Compter une chaine de caratère dans une cellule.
    Par natcre dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/10/2007, 15h56
  2. Analyse d'une chaine de caracteres
    Par Stage2006 dans le forum C++
    Réponses: 5
    Dernier message: 24/05/2007, 01h46
  3. Choix à faire pour analyse d'une chaine
    Par Joe005 dans le forum C
    Réponses: 15
    Dernier message: 26/03/2007, 14h43
  4. [Tableaux] Décomposer une chaine de caratères
    Par bianconeri dans le forum Langage
    Réponses: 8
    Dernier message: 06/03/2006, 15h43
  5. Réponses: 1
    Dernier message: 08/03/2004, 11h35

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