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 :

avec while, je tourne en rond !


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 275
    Par défaut avec while, je tourne en rond !
    comme ça , celle là, elle est faite !

    mis a part ça ..... Bonjour !
    j'ai un petit soucis :
    voila le topo :
    j'ai récupéré le nom de ma base "client" (avec show databases), j'ai récupéré le nom de ma table "options" (avec show tables)
    maintenant, je voudrais récupérer tous les champs (dont je ne connais pas les noms) et tous les résultats de ma table et les afficher sur une ligne chacune ,
    par ex, les champs id, nom, couleur
    me retourne X resultats :
    1, peinture, rouge
    2,tissus, bleu
    etc....

    alors, au mieux, j'ai réussi a recuperer la premiere ligne de resultat (en faisant un var_dump), mais c'est tout!

    voila ou j'en suis , mais je m'y perds a force d'essayer de melanger les fetch assoc, array , row avec les while ...je patinne ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
       $sq3='SELECT * from '.$_POST['labase'].'.'.$_POST['latable'];
    $quer3  = mysql_query($sq3) or die(mysql_error()); 
     
    do {
    echo 'le resultat' que j'arrive pas a avoir' ;
    }
    while ($assoc3= mysql_fetch_assoc($quer3));
    ... et pour le code suivant, j'arrive a avoir la liste des nom des champs, mais il me manque le premier de la liste

    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
     
    $sq='select '.$_POST['lechamp'].' from '.$_POST['labase3'].'.'.$_POST['latable2'];
     $quer  = mysql_query($sq) or die(mysql_error()); 
     //$assoc= mysql_fetch_assoc($quer);
     //$array= mysql_fetch_array($quer);
     $row=mysql_num_rows($quer); 
     echo 'Base : '.$_POST['labase3'].'<br>Table: '.$_POST['latable2'].'<br>Champ : '.$_POST['lechamp'].'<br>';
     echo '<b>'.$row.' RESULTATS:</b><br><br>';
     $i=0;
    do
    {
    echo '<b>'.$i.'/ : </b>' .$assoc[$_POST['lechamp']].'<br>---------------------------------<br>';
    $i++;
    }
    while( $array= mysql_fetch_array($quer));
    voila, j'espere que j'ai été assez clair...
    si c'est possible , un piti coup de main ,
    d'avance, merci d'avance .....

  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
    A l'envers mon garcon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while( $array= mysql_fetch_array($quer))
    {
    echo '<b>'.$i.'/ : </b>' .$assoc[$_POST['lechamp']].'<br>---------------------------------<br>';
    $i++;
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 275
    Par défaut
    merci sabotage, mais c'est pas ça ...
    par contre, je viens de trouver ... une faille? un bug ?, bref , un je ne sais quoi de zarbi =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
       $sq5='SHOW TABLES from '.$_POST['labase'];
    $quer5  = mysql_query($sq5) or die(mysql_error()); 
    $assoc5= mysql_fetch_assoc($quer5);
     $row5=mysql_num_rows($quer5); 
     echo '<b>'.$row5.' TABLES:</b><br><br>';
     $i=0;
     while ($frow5= mysql_fetch_row($quer5))
       {
     
          print $frow5[$i].' - ';
       }
         $i++;
    me retourne (par exemple) => 9 resultats

    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
       $sq5='SHOW TABLES from '.$_POST['labase'];
    $quer5  = mysql_query($sq5) or die(mysql_error()); 
     //$assoc5= mysql_fetch_assoc($quer5);
     $row5=mysql_num_rows($quer5); 
     echo '<b>'.$row5.' TABLES:</b><br><br>';
     $i=0;
     while ($frow5= mysql_fetch_row($quer5))
       {
     
          print $frow5[$i].' - ';
       }
         $i++;
    (remarquez le "mysql_fetch_assoc" commenté)
    me retourne => 10 resultats!
    donc, il faut que je revois la copie .... pour pouvoir m'en dépêtrer ...

    apres quelques essais, je m'aperçois que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
       $sq3='SELECT * from '.$_POST['labase2'].'.'.$_POST['latable'];
    $quer3  = mysql_query($sq3) or die(mysql_error()); 
     
    $i=0;
    while ($frow3 = mysql_fetch_row($quer3))
    {
    echo $frow3[0].'<br>';
    $i++;
    }
    $frow3[0] => donne tous les resultats du premier champ
    $frow3[1]=> donne tous les resultats du 2ieme champ,
    je vais donc pouvoir chercher vers là la solution a mes problemes
    ... en attendant le fameux "résolu" ! ...

  4. #4
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Non ce n'est pas une faille dans la matrice le fait de mettre un mysql_fetch_assoc fait pointer au premier enregistrement, donc en entrant dans le while, il va afficher le 2eme ...

    Pour ton probleme je ne comprends pas, tu veux afficher quoi? des colones, ou des lignes?

  5. #5
    Membre éclairé Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 275
    Par défaut
    bon, ouf, j'y arrive .....

    voila ou j'en suis :

    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
       $sq3='SELECT * from '.$_POST['labase2'].'.'.$_POST['latable'];
    $quer3  = mysql_query($sq3) or die(mysql_error()); 
     $row3=mysql_num_rows($quer3);
     
    $sq6='SHOW fields from '.$_POST['labase2'].'.'.$_POST['latable'];
    $quer6  = mysql_query($sq6) or die(mysql_error()); 
    $row6=mysql_num_rows($quer6);
     
     echo $row3.'resultats<br>';
    $i=0;
    while ($frow3 = mysql_fetch_row($quer3))
    {
    $j=0;
    while ($j < $row6) {
     
    echo $frow3[$j].'&nbsp;';
    $j++;
    }
    echo '<br>';
    $i++;
    }
    j'arrive donc a recuperer les resultats des champs!

    je vais aussi pouvoir recuperer les noms des champs (histoire de voir ou j'en suis)grace a show fields =>
    $sq6='SHOW fields from '.$_POST['labase2'].'.'.$_POST['latable'];

    et ensuite je vais essayer de recuperer ça dans des imputs , histoire de faire un formulaire pour pouvoir modifier mes resultats ...
    c'est la seule chose que j'ai besoin de faire, donc,le but etait de faire un mini phpmyadmin a moi avec, au depart, des nom de base, table , et champ inconnus !
    je résolvate donc le probleme!
    si ça interresse, je mettrai la finalité du code!
    quant aux securité et autres => c'est pour moi, seulement, et j'ai pas le temps de peaufiner, alors......

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

Discussions similaires

  1. Je tourne en rond avec un é
    Par PseT34 dans le forum Langage
    Réponses: 4
    Dernier message: 08/04/2008, 17h35
  2. Ca tourne en rond avec FileUpload
    Par Attila50 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 27/05/2007, 09h11
  3. Réponses: 4
    Dernier message: 21/07/2006, 10h58
  4. Prog qui tourne en rond :-(
    Par FranckDev dans le forum CORBA
    Réponses: 2
    Dernier message: 07/09/2005, 13h50
  5. Je tourne en rond....
    Par Ol dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/02/2005, 07h54

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