[RESOLU] Catalogue avec PHP

Eléphant du PHP | 58 Messages

20 févr. 2013, 18:24

Bonjour.

Je suis en train de réaliser un site d'astronomie. Je possède un catalogue d'astres que j'ai brillamment inséré dans une table sur ma base de données MySQL.

Dans un premier temps, pour m’entraîner j'aimerais juste être capable d'afficher dans un tableau certaines colonnes de mon catalogue, par exemple le nom de l'astre, sa masse, son rayon (name, mass, radius)... et cela pour l'ensemble du catalogue.

Si j'ai bien compris, pour chaque case à l'aide de boucles, je dois sortir la valeur de la base de données et la stocker en tant que variable, que je peux alors afficher.

Et c'est là que ça coince, je ne sais pas le faire et je ne trouve pas les explications des tutoriels suffisamment clairs. Je sais connecter ma page au serveur, mais je ne sais pas aller plus loin. Pouvez vous l'expliquer comment faire?

Merci d'avance, et pardonnez moi d'écorcher certaines notions si je l'ai fait.

Eléphant du PHP | 130 Messages

20 févr. 2013, 18:51

Dans un premier temps fait ta requête sql.

Une fois faite tu parcours chaque enregistrement.
Re garde sur php.net : http://php.net/manual/fr/function.mysql-fetch-array.php

Eléphant du PHP | 58 Messages

20 févr. 2013, 19:59

Tu n'aurais pas un exemple?

Eléphanteau du PHP | 25 Messages

21 févr. 2013, 10:17

Salut,

Si tu sais déjà faire appel à ta base de données c'est très simple :
// En supposant que tu as nommé ta variable de db $db.
// Fonction d'affichage :
function affichage(){
   
    // Tu charges tes données
    $r=$db->query('SELECT name,mass,radius FROM catalogue ORDER BY id DESC');

    // Tu crées ta boucle (while ou foreach selon les besoins)
    foreach($r as $data){
        
        // Tu n'as plus qu'à écrire ta présentation html pour chaque sortie.
        echo '
        <div class="catalogue">
            <h2> '.$data['name'].'</h2>
            <p>
                Masse : '.$data['masse'].'
            </p>
        </div>
        ';
    }
    $r->closeCursor();
}
Pour finir tu appels ta fonction dans le block souhaité :
<section id="monCatalogue">
    <?php affichage(); ?>
</section>
C'est juste en guise d'explication, s'y prendre de cette manière peut vite faire en sorte que le code devienne un désordre illisible mais bon.

Eléphant du PHP | 58 Messages

21 févr. 2013, 12:58

Merci.

ça me donne une erreur:Fatal error: Call to a member function query() on a non-object sur la ligne:
$r=$db->query('SELECT name,mass,radius FROM catalogue ORDER BY id DESC');

Eléphant du PHP | 58 Messages

26 févr. 2013, 16:38

Bon voila réponse tardive mais c'était juste pour dire que je n'ai pas réussit à utiliser vos solutions, mais que j'avais réussit à faire ce que je voulais avec mysql_fetch_array