Créer un tableau depuis une requete SQL

Eléphant du PHP | 331 Messages

28 juil. 2006, 16:28

Bonjour à tous,

Désolé de vous soliciter encore mais je coince de nouveau.
Je pense pourtant que ce que je cherche à faire n'est rien de compliqué.

Alors voilà. J'ai fait une requete du genre SELECT champ1, champ2, champ3, FROM Matable et je voudrais que le résultat trouvé soit intégré dans un tableau de cette manière :
$Tableau = ARRAY ("ResultatChamps1", "ResultatChamp2", "ResultatChamp3");.
J'ai tenté de faire ceci mais je pense que je suis à côté du sujet.
$query_req = "SELECT champ1, champ2, champ3, FROM Matable";
$req = mysql_query($query_req, $connexion_bdd_mysql) or die(mysql_error());
$ligne_req=mysql_fetch_array($req);
Quelqu'un peut-il m'aider ?
Merci !

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 juil. 2006, 16:36

J'ai tenté de faire ceci mais je pense que je suis à côté du sujet.
Qu'est-ce qui te fait dire ça ?

Au contraire ça me parait plutôt bien :D

ViPHP
ViPHP | 2291 Messages

28 juil. 2006, 16:40

Salut,
Ceci va peut-être t'aider :?:
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$select = 'SELECT champ1,champ2,champ3 FROM ma_table';

$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);



// si on a récupéré un résultat on l'affiche.
if($total) {
    // debut du tableau
    echo '<center><table border="0,5" bgcolor="#000080">'."\n";
        /* première ligne on affiche les titres */
        echo '<tr>';
        echo '<td bgcolor="#0000FF" align="center"><b><font size="2" color="#FFFFFF">Titre champ1</font></b></td>';
        echo '<td bgcolor="#0000FF" align="center"><b><font size="2" color="#FFFFFF">Titre champ2</font></b></td>';
                echo '<td bgcolor="#0000FF" align="center"><b><font size="2" color="#FFFFFF">Titre champ3</font></b></td>';


                echo '</tr>'."\n";
    // lecture et affichage des résultats sur 3 colonnes, 1 résultat par ligne.
    while($row = mysql_fetch_array($result)) {
        echo '<tr>';
        echo '<td bgcolor="#FFFFFF"><font size="2">'.$row["champ1"].'</font></td>';
        echo '<td bgcolor="#FFFFFF"><font size="2">'.$row["champ2"].'</font></td>';
                echo '<td bgcolor="#FFFFFF"><font size="2">'.$row["champ3"].'</font></td>';

                echo '</tr>'."\n";

    }
    echo '</table></center>'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
A+
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Eléphant du PHP | 331 Messages

28 juil. 2006, 16:44

alors ça c'est cool alors !

Bien en fait, je n'arrive pas à trouver l'instruction qui me permette de retourner le résultat attendu sous la forme dont g besoin (cf autre topic !)
Autrement dit, comment vérifier que j'ai bien sotcké une variable sous cette forme ?
$ButeursDom_Votes = array ("Papin", "Papin", "Papin", "Platini", "Ginola");

Eléphant du PHP | 331 Messages

28 juil. 2006, 16:45

Salut,
Ceci va peut-être t'aider :?:
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$select = 'SELECT champ1,champ2,champ3 FROM ma_table';

$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);



// si on a récupéré un résultat on l'affiche.
if($total) {
    // debut du tableau
    echo '<center><table border="0,5" bgcolor="#000080">'."\n";
        /* première ligne on affiche les titres */
        echo '<tr>';
        echo '<td bgcolor="#0000FF" align="center"><b><font size="2" color="#FFFFFF">Titre champ1</font></b></td>';
        echo '<td bgcolor="#0000FF" align="center"><b><font size="2" color="#FFFFFF">Titre champ2</font></b></td>';
                echo '<td bgcolor="#0000FF" align="center"><b><font size="2" color="#FFFFFF">Titre champ3</font></b></td>';


                echo '</tr>'."\n";
    // lecture et affichage des résultats sur 3 colonnes, 1 résultat par ligne.
    while($row = mysql_fetch_array($result)) {
        echo '<tr>';
        echo '<td bgcolor="#FFFFFF"><font size="2">'.$row["champ1"].'</font></td>';
        echo '<td bgcolor="#FFFFFF"><font size="2">'.$row["champ2"].'</font></td>';
                echo '<td bgcolor="#FFFFFF"><font size="2">'.$row["champ3"].'</font></td>';

                echo '</tr>'."\n";

    }
    echo '</table></center>'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
A+
merci, mais c'est quand même pas tout à fait ce dont j'ai besoin (voir plus haut) :(

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 juil. 2006, 16:50

Répond à ma question, pourquoi ça ne convient pas ?

mysql_fetch_array renvoie ça :
Array
(
    ['nom colonne 1'] => 'valeur colonne 1'
    ['nom colonne 2'] => 'valeur colonne 2'
    ['nom colonne 3'] => 'valeur colonne 3'
)
ça ne te convient pas ?
Bien en fait, je n'arrive pas à trouver l'instruction qui me permette de retourner le résultat attendu sous la forme dont g besoin (cf autre topic !)
Autrement dit, comment vérifier que j'ai bien sotcké une variable sous cette forme ?
$ButeursDom_Votes = array ("Papin", "Papin", "Papin", "Platini", "Ginola");
Je ne comprends pas trop ce que tu veux faire...

Eléphant du PHP | 331 Messages

28 juil. 2006, 17:18

...... vous allez rire (ou pleurer ?) !

voici ce que j'avais simplement oublié ce qui faisait que pour moi rien ne marchait !
require_once('../Connections/connexion_bdd_mysql.php');

mysql_select_db($database_connexion_bdd_mysql, $connexion_bdd_mysql);
Désolé du dérangement, je tacherai d'être plus regardant la fois prochaine avant de vous soliciter !

(forcément, ça me convenait Ouckileou !)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 juil. 2006, 17:22

Tu devais alors avoir un message d'erreur, qu'il aurait fallu nous donner plutôt que de dire seulement :
J'ai tenté de faire ceci mais je pense que je suis à côté du sujet.
Je t'avais d'ailleurs demandé ce qui ne convenait pas ;)

Eléphant du PHP | 331 Messages

28 juil. 2006, 19:04

non, justement, je n'avais aucun message d'erreur ! Sinon, je l'aurais deviné ou je vous en aurait parlé ! :lol: