Partage
  • Partager sur Facebook
  • Partager sur Twitter

Requete dans un array

Anonyme
    7 décembre 2006 à 23:14:21

    Bonjour

    C'est la première fois que je post ici, adresse du forum donnée par un ami

    J'ai un petit problème avec un script php, ce que je souhaite faire est d'afficher un champs d'une table avec un array

    en premier je me connecte à ma base de donnée
    host = 'localhost';
    $user = 'root';
    $pass = '';
    $db = 'test';

    //On se connecte à Mysql.
    $connect=@mysql_connect($host,$user,$pass) or die(mysql_error());

    //On séléctionne la base de donnée.
    $select_db=@mysql_select_db($db) or die(mysql_error());

    $reponse = mysql_query("SELECT * FROM fonds where image ");

    Ensuite ce que j'ai fait pour afficher les noms d'image dans un tableau
    ci dessous je définie avec 3 variables le nombre de colonne, la classe css, et la variable $donnée = array en récupérant la $reponse de mysql_query pour avoir les données du champs.

    Mais c'est la que ca coince, cela fait des heures que je cherche, je débute en php, quelqu'un aurait il une idée sur la façon de procéder pour avoir les données d'un champs dans donnée = array
    mais mon soucis et d'utiliser cette requete comme ceci $donnees = array($reponse); étant donnée que $reponse est associé à mysql_query.
    En fait la question que je me pose est comment mettre le résultat de la requete du champ image dans la fonction array.
    function formateColonnes(&$valeurs, $nbCol, $classe) {
        $col_index = 0;
        $table = '<table class="'.$classe.'">'."\n";
        for($i=0; $i<count($valeurs); $i++){
            $mod = ($col_index % $nbCol);
            if ($mod == 0){ $table .= "<tr>\n"; }
            $table .= '<td>'.$valeurs[$i].'</td>'."\n";
            if ($mod == $nbCol-1){ $table .= "</tr>\n"; }
            $col_index ++;
        }
        if ($mod != $nbCol-1){
            for($fintablo = $mod; $fintablo<$nbCol-1; $fintablo++){
                $table .= '<td> </td>'."\n";
            }
            $table .= "</tr>\n";
        }
        $table .=  "</table>\n";
        return $table;
    }


      echo formateColonnes($donnees, $colonnes, $classe);

    @mysql_close($connect); // On se déconnecte de Mysql

    Je vous remercie par avance l'aide que vous pourrez m'apporter.
    • Partager sur Facebook
    • Partager sur Twitter
      8 décembre 2006 à 1:48:01

      Salut,
      Je sais pas si j'ai bien compris, mais ce que tu veux faire ça serait pas quelque chose genre :

      <?php
      $reponse = mysql_query("SELECT * FROM fonds WHERE image ");//'WHERE image' quoi je comprends pas???
      while($donnees = mysql_fetch_array($reponse)
      {
      echo $donnees['NomDuChamps'];//Ici on récupére les infos du champs NomDuChamps
      }

      Maintenant j'ai peut-être mal compris ce que tu voulais ! o_O
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        8 décembre 2006 à 11:03:48

        Bonjour Matalo
        Ce que tu me propose c'est très bien ca je sais faire si tu veux, mais ce que je veux et je sais si c'est possible et de récupérer les noms des images du champs image (c'est un exemple) dans
        $donnees = array($reponse);
        $colonnes = 5 ;
        $classe = 'table';
        C'est trois variable se trouve juste au dessus de la fonction (que j'ai oublié d'ailleurs vu l'heure autant pour moi)
        C'est pour ca est il possible de récupérer les valeurs d'un champs la dedans $donnees = array($reponse);
        Je cherche toujours mais je post au cas ou, si desfois quelqu'un a été confronté à ce problème
        En tous cas merci d'avoir répondu
        • Partager sur Facebook
        • Partager sur Twitter
          8 décembre 2006 à 18:46:32

          Bonsoir,
          Bon je crois que j'ai compris ce que tu veux. Ceci dit pour ma part je pensais que j'aurais adapter ma fonction pour pouvoir utiliser mysql_fetch_array mais je suis qu'un noob alors ça vaut ce que ça vaut!
          Cependaint j'ai fait quelque chose qui pourrait t'interesser :

          <?php
          //recuparation des données du champ image dans la table fonds
          $resultat=mysql_query("SELECT image FROM fonds");
          //On "range" tous ces résultats dans $one avec en separateur une virgule
          $one='';
          while ($donnees = mysql_fetch_row($resultat))
          {
          $one.=$donnees[0].",";
          }
          //on supprime la dernière virgule
          $motif="`\,$`";
          $one=preg_replace($motif, "", $one);
          //Et on arrage tout ça dans $two sous forme d'un array numéroté
          $two = explode(",",$one);
          ?>

          Du coup la variable $two est un array numéroté avec les données contenu dans $resultat.
          Voila je pense que c'est ce que tu voulais faire!

          EDIT :
          Ah oui et si tu veux tu peux remplacer
          $motif="`\,$`";
          $one=preg_replace($motif, "", $one);

          par

          $one=substr($one,0,-1);

          Voila !
          • Partager sur Facebook
          • Partager sur Twitter
            8 décembre 2006 à 23:26:27

            Et même encore mieux

            $one = rtrim($one, ',');


            :p
            • Partager sur Facebook
            • Partager sur Twitter
              8 décembre 2006 à 23:36:34

              ah oui merci strucky aprés un petit tour sur le manuel je vois que rtrim() est fait pour ça!
              • Partager sur Facebook
              • Partager sur Twitter
                9 décembre 2006 à 14:04:00

                Matalo ma conduit ici, j'utilise tout le temps des array pour mes requêtes, tu aimerais un truc du genre :

                $resultat[0][1erchamp] = "valeur1erchamp"; $resultat[0][2echamp] = "valeur2echamp"; <= 1er enregistrement
                $resultat[1][1erchamp] = "valeur1erchamp"; $resultat[1][2echamp] = "valeur2echamp"; <= 2eme enregistrement
                $resultat[2][1erchamp] = "valeur1erchamp"; $resultat[2][2echamp] = "valeur2echamp"; <= 3eme enregistrement
                etc...


                ?? (avec autant d'enregistrement et de champ que tu souhaites)
                Si oui tu peux me donner le nom de tes champs et de ta table comme ça je t'écris les quelques lignes pour récupérer tout ça.
                Si non j'ai pas du comprendre et dans ce cas il faut me rexpliquer :p
                • Partager sur Facebook
                • Partager sur Twitter

                Requete dans un array

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown