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

Langage PHP Discussion :

Boucle for avec SELECT et variable indicée


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 10
    Points
    10
    Par défaut Boucle for avec SELECT et variable indicée
    Bonjour à tous,

    Voici mon problème, qui s'assimile à celle d'un compteur avec affichage des chiffres avec des images stockées dans une table.

    Mon code est le suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $str = '1234';
    //*On décompose la chaîne en caractères isolés
    $chiffre = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
     
    //* on peut donc affichier chiffre[0], chiffre[1]...
     
    //*on veut aller chercher les images correspondantes à chaque chiffre dans //*la table correspondante (ici la table "compteur"), pour chaque $chiffre[i]
     
    for($i=0;$i<5;$i++) {
    $req= 'SELECT image FROM compteur WHERE id='.$chiffre.'';
    $resultat=mysql_query($req);
    $image=mysql_result($resultat,0);
    $row=mysql_fetch_row($image);
    }
    J'ai systématiquement une renvoi d'erreur "Warning: mysql_result() expects parameter 1 to be resource, boolean given in..."

    Je soupçonne que la syntaxe id='.$chiffre.' n'est pas correcte, mais avec $chiffre[i] cela ne fonctionne pas non plus.

    Donc comment écrire un SELECT avec une variable indicée ?

    Merci d'avance pour vos conseils.

    Hisin

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Tu es sûr de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req= 'SELECT image FROM compteur WHERE id='.$chiffre.'';
    aux niveau des quotes ...

    Je ne vois pas pourquoi $chiffre[i] marcherait pas
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Il me semble que les quotes sont corrects.

    En effet, si je définis $chiffre=1

    $req= 'SELECT image FROM compteur WHERE id='.$chiffre.'';

    marche.

    C'est depuis que je mets la boucle que cela ne marche pas...

  4. #4
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Justement pour les quotes, je ne comprends pas les deux dernières ...
    Ca doit pas influer sur ton pb, mais sait on jamais ...

    J'aurais essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req= "SELECT image FROM compteur WHERE id='".$chiffre[i]."'";
    OU (parceque ça marcha aussi ((((je crois)))), mais c pas ma syntaxe !!!)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req= 'SELECT image FROM compteur WHERE id='.$chiffre[i];
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    J'ai trouvé,

    D'abord, indicer l'ensemble de la requête soit

    ----------------
    for($i=0;$i<4;$i++) {
    $req[$i]= 'SELECT image FROM compteur WHERE id='.$chiffre[$i].'';
    $resultat[$i]=mysql_query($req[$i]);
    $image[$i]=mysql_result($resultat[$i],0);
    }
    ----------------
    et supprimer la ligne
    $row[$i]=mysql_fetch_array($image[$i]);

    Ca marche.

    Bon à savoir !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/07/2013, 10h06
  2. Boucle for avec incrémentation de variable en shell
    Par Ariania dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 09/08/2012, 11h27
  3. Boucle for avec variable dans le texte
    Par Alplob dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/06/2011, 10h33
  4. Réponses: 2
    Dernier message: 14/04/2010, 18h39
  5. Boucle for avec 2 variables
    Par radzar dans le forum PL/SQL
    Réponses: 8
    Dernier message: 15/05/2009, 12h07

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