Page 1 sur 1

Créer un tableau depuis une requete SQL

Posté : 28 juil. 2006, 16:28
par jay64
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 !

Re: Créer un tableau depuis une requete SQL

Posté : 28 juil. 2006, 16:36
par ouckileou
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

Posté : 28 juil. 2006, 16:40
par dunbar
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+

Posté : 28 juil. 2006, 16:44
par jay64
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");

Posté : 28 juil. 2006, 16:45
par jay64
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) :(

Posté : 28 juil. 2006, 16:50
par ouckileou
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...

Posté : 28 juil. 2006, 17:18
par jay64
...... 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 !)

Posté : 28 juil. 2006, 17:22
par ouckileou
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 ;)

Posté : 28 juil. 2006, 19:04
par jay64
non, justement, je n'avais aucun message d'erreur ! Sinon, je l'aurais deviné ou je vous en aurait parlé ! :lol: