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 & Requete SQL


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 149
    Points : 80
    Points
    80
    Par défaut Boucle For & Requete SQL
    Bonjour à tous,
    j'ai actuellement un soucis avec ma boucle For et des requêtes SQL.
    J'explique mon problème:
    - j'ai un tableau avec dans chaque case des valeurs (qui sont des id)
    - je compte le nombre de valeur dans ce tableau
    Par exemple j'en ai 4, jusque là je n'ai pas de problème.
    je fais donc une boucle for pour partir de 0 jusqu'à la valeur max (4 dans mon exemple).
    J'aimerai que dans ma boucle for il y ait à chaque fois une requete SQL avec comme valeur dans mon WHERE la valeur du tableau où en est la boucle.
    Je ne sais pas si je me suis bien exprimé donc voici un exemple.

    Lorsque mon For est à 0: je voudrais que ma requête SQL prenne en compte le tableau[0] pour mon WHERE.
    Lorsque mon For est à 1: je voudrais que ma requête SQL prenne en compte le tableau[1] WHERE.
    etc etc ...

    Seul hic, c'est que mon for ne prend en compte que la première valeur du tableau et zappe les suivantes.

    Voici le bout de code que j'ai fait:
    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
    $articles = explode ("/", $_COOKIE['pbwebdevis']);  //On explose le cookie
    $result = count($articles);  //On compte combien il y a d'articles
    echo "<br />";
    echo "<table>\n";
    echo "<tr>\n";
    echo '<td id="tableCheck"></td><td id="tableReference">Référence</td><td id="tableNom">Nom</td><td id="tablePrix">Prix</td>';
    echo "</tr>\n";
    $i=0;
    for ($i = 0; $i < $result; $i++) //Boucle pour afficher le contenu du cookie/devis
    {
    $art = substr($articles[$i], 1, 6);
    //Requete sql pour afficher les informations de chaque article ajouté dans le panier
    $sql_article = "SELECT Ref_Constructeur, Nom_Produit, Prix_Vente_Euro FROM Produit WHERE Ref_Constructeur='".$art."'";
    echo $sql_article;
    echo "<br />";
    echo $art;
    echo "<br />";
    $envoi_article = sqlsrv_query($connection, $sql_article);
    $article = sqlsrv_fetch_array( $envoi_article, SQLSRV_FETCH_ASSOC);
    echo "<tr>";
    echo "<td><input type=\"checkbox\" name=\"sup\" /></td>";
    echo "<td>".$article['Nom_Produit']."</td>";
    echo "<td>".round($article['Prix_Vente_Euro'], 2)." &euro;</td>";
    echo "</tr>";
    }
    echo "</table>";
    Pour info: Je suis sous Ms-Sql sur un serveur virtuel. Mes requêtes fonctionnent correctement.

    Merci d'avance de votre aide.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    pour parcourir un tableau c'est foreach

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 149
    Points : 80
    Points
    80
    Par défaut
    Sauf que dans mon cas je ne cherche pas vraiment à parcourir mon tableau.

    Je veux exécuter une requête SQL par nombre de valeur dans mon tableau et avec pour paramètre dans mon WHERE la valeur de la case courante de mon tableau.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    si la tu le parcours... ou alors je vois pas dutout a quoi sert ton for...
    et pourquoi ne pas avoir fait un tableau dans ton $_COOKIE au lieu de faire un explode ?

    que rend ton echo $sql_article; ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 149
    Points : 80
    Points
    80
    Par défaut
    C'était trop compliqué par rapport à l'utilisation pour le $_COOKIE.
    (Ou alors je pense de travers ce qui m'arrive aussi )

    Mon sql_article rend une requete sql que voici:
    SELECT Ref_Constructeur, Nom_Produit, Prix_Vente_Euro FROM Produit WHERE Ref_Constructeur='CH2003'

    Mon problème réside dans le fait que les requêtes SQL exécutées sont tout le temps les mêmes.
    Je n'arrive pas ou ne comprends pas pourquoi la valeur du Ref_Constructeur est tout le temps là même.
    Actuellement j'ai 3 valeurs. Donc Ok j'ai 3 requêtes SQL mais mon "$art = substr($articles[$i], 1, 6);" reste toujours à la valeur $articles[0] et donc à la valeur "CH2003".

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    ça donne quoi un var_export de $articles ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 149
    Points : 80
    Points
    80
    Par défaut
    Ca donne que ca marche.

    (Oui il devait y avoir une mauvaise manip de mon côté).

    Merci de ton aide stealher35. Le var_export m'a bien aidé en fait.

Discussions similaires

  1. [MySQL] Boucle for avec requête SQL
    Par yurispy dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/05/2015, 23h02
  2. [MySQL] Boucle for et requête SQL
    Par Maxime54 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/05/2012, 15h24
  3. Boucle For dans une requete SQL
    Par laurent0 dans le forum Général Python
    Réponses: 2
    Dernier message: 10/08/2011, 17h41
  4. Requete SQL vs boucle For
    Par KaloOopS dans le forum C#
    Réponses: 25
    Dernier message: 26/02/2011, 12h34
  5. Boucle d'une requete SQL
    Par sourcilpower dans le forum C++
    Réponses: 4
    Dernier message: 03/02/2011, 12h47

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