Probleme Tableau dynamique php

jamstyle Messages postés 27 Date d'inscription   Statut Membre -  
jamstyle Messages postés 27 Date d'inscription   Statut Membre -
Bonjour, je voudrais realiser un tableau dynamique php à partir d'une base de donnees myql
dans mon script le resultat prenom s'affiche dans chaque cellule.
Je voudrais que les prenoms descendent d'une cellule chaque jour a fin qu'une rotation soit effectué.
donc si quelqu'un pouvait m'aider ou me mettre sur une piste !!!

<html>
<body>
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'test';

// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

// requête SQL qui compte le nombre total d'enregistrements dans la table et qui
//récupère tous les enregistrements
$select = 'SELECT prenom FROM vaches';
$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) {
// début du tableau
echo '<table bgcolor="#FFFFFF">'."\n";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes

// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row['prenom'].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';

// on libère le résultat
mysql_free_result($result);

?>
</body>
</html>
Configuration: Windows XP
Firefox 2.0.0.12

32 réponses

  • 1
  • 2
Résumé de la discussion

Un script PHP doit générer un tableau dynamique à partir d'une base MySQL afin que les prénoms descendent d'une cellule chaque jour et permettent une rotation automatique des contenus. Des réponses suggèrent notamment d'utiliser un champ ordre et un identifiant auto-incrémenté, puis d'interroger la table avec ORDER BY ordre et LIMIT pour afficher un nombre fixé de noms dans le tableau. D'autres évoquent l'emploi d'un tutoriel dédié, ou l'ajout de champs supplémentaires comme id et ordre, et l'affichage peut être organisé en grille (ex: 3x3) ou en plusieurs colonnes selon le besoin.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. jeremieca Messages postés 225 Statut Membre 28
     
    Bien j'ai fini !

    Le tutoriel est disponible ici :

    http://tutoriels-video.net/php-niv-debutant/rotation-dans-une-base-de-donnee-345

    Pour utiliser le code tu dois utiliser une base de donnée avec un champs 'id' (autoincrement) un champ 'ordre' (medium int) et moi j'ai ajouté un champs prenom.

    pour l'instant j'affiche avec un <br> de retour à la ligne, il suffit que tu remplace par ton tableau, tu n'auras aucun mal :)

    A pluuusss !
    1
  2. jeremieca Messages postés 225 Statut Membre 28
     
    Ils sont dans une bdd. Je te conseille de rajouter un champs que tu appelle place. Et chaque jour (avec un cron par exemple) tu ajoutes 1 à chaque ligne de la bdd et tu remplaces la valeur de ce champs dans le dernier prénom de ta base par 1. Je sais pas si t'as compris et si j'ai compris ce que tu veux mais en gros tout ton tableau descendra de 1 et le dernier reviendra en tête du tableau (Rotation^^).

    a+
    0
    1. jamstyle Messages postés 27 Date d'inscription   Statut Membre
       
      Salut et merci de ton aide rajoutez un champs je sais faire mais le reste je piges pas trop ???
      tu aurais pas un exemple ?
      En tout cas merci !!!
      0
  3. jeremieca Messages postés 225 Statut Membre 28
     
    J'aimerai être sûr de ce que tu veux.

    Tu veux bien :

    - Descendre tous les jours les prénom... d'une ligne et remettre le dernier d'entre eux en premier non ?

    a+
    0
  4. jamstyle Messages postés 27 Date d'inscription   Statut Membre
     
    Yes tu as parfaitement compris !
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jeremieca Messages postés 225 Statut Membre 28
     
    As tu un id champs id ? Si oui je m'occupe de préparer ton code.
    0
  7. jamstyle Messages postés 27 Date d'inscription   Statut Membre
     
    Yes j'ai un champ id !!!
    0
  8. jamstyle Messages postés 27 Date d'inscription   Statut Membre
     
    Tu es veritable boss je te remercis mille fois je mettrais ton nom dans la rubrique creation donc laisse moi t coordonnees !!!
    0
  9. jamstyle Messages postés 27 Date d'inscription   Statut Membre
     
    J'oubliais comment je limiter l'affichage a 7 prenoms ?
    0
  10. jeremieca Messages postés 225 Statut Membre 28
     
    Merci, mets juste mon pseudo et un lien vers le site tutoriels-video.net , ça me fera très plaisir :)

    Sinon pour ce qui est de l'affichage à 7 personnes, il faut remplacer ça :

    $req3 = mysql_query('SELECT*FROM compte ORDER BY ordre');

    Par ça :

    $req3 = mysql_query('SELECT*FROM compte ORDER BY ordre LIMIT 0,7');

    A plus :p
    0
  11. jamstyle Messages postés 27 Date d'inscription   Statut Membre
     
    Merci, tu vas peut etre me prendre pour un neuneu mais j'arrive pas a remettre en affichage tableau html.
    0
  12. jamstyle Messages postés 27 Date d'inscription   Statut Membre
     
    Nan c bon merci encore pour tout !!!
    0
  13. jeremieca Messages postés 225 Statut Membre 28
     
    Tiens, j'ai pas vraiment testé mais je vois pas pourquoi ça ne fonctionnerai pas !

    <?php
    mysql_connect("localhost", "root", "") or die ("Erreur : 1");
    mysql_select_db("tuto") or die ("Erreur : 2");
     
    $req1 = mysql_query('SELECT*FROM compte');
    while($rep1 = mysql_fetch_array($req1)){
    	mysql_query("UPDATE compte SET ordre = '".($rep1['ordre'] + 1)."' WHERE id='".$rep1['id']."'");
    }
    $rep2 = mysql_fetch_array(mysql_query('SELECT*FROM compte ORDER BY ordre DESC LIMIT 0,1'));
    mysql_query("UPDATE compte SET ordre = '1' WHERE id='".$rep2['id']."'");
     
    $req3 = mysql_query('SELECT*FROM compte ORDER BY ordre LIMIT 0,7');
    
    echo '<table bgcolor="#FFFFFF">'."\n"; 
    while($rep3 = mysql_fetch_array($req3)){
           echo '<tr>';
           echo '<td bgcolor="#CCCCCC">'.$rep3['prenom'].'</td>';
           echo '</tr>'."\n"; 
    }
    echo '</table>'."\n"; 
     
    ?>
    
    0
  14. jamstyle Messages postés 27 Date d'inscription   Statut Membre
     
    Bonjour, toujours moi qui t'embetes !!!
    Question que dois rajouter au code pour la rotation ne s'effectue que le soir a 10h00 disons ?
    0
  15. jamstyle Messages postés 27 Date d'inscription   Statut Membre
     
    Est il possible de forcer l'afichage du tableau 3 lignes 3 colonnes par ex ?
    0
  16. jeremieca Messages postés 225 Statut Membre 28
     
    Alors pour le soir à 10 heures ça s'appelle un cron, ça se règle sur le serveur, je te laisse chercher sur le NET !

    Et je ne comprends pas la seconde question !!

    Bye :)
    0
  17. jamstyle Messages postés 27 Date d'inscription   Statut Membre
     
    Salut !!!!
    La mon tableau s'affiche sur une colone !
    et je voudrais avoir un tableau de 9 celules (3*3) .
    Je sais pas ci c clair ?
    0
  18. jeremieca Messages postés 225 Statut Membre 28
     
    Ha bah tu veux mettre quoi dans les autres cellules ? D'autres truc de ta bdd ? Donne moi le nom des champs !

    Et je croyais que tu voulais 7 ligne, tu n'en veux plus que 3 ?

    A pluss
    0
    1. jamstyle Messages postés 27 Date d'inscription   Statut Membre
       
      Je ne veux pas rajouter de champs suplementaires,
      Je veux savoir si je peut forcer l'afichage du tableau (3 *3)
      au lieu d'une colone vertical avec 9 cellules tout en conservant la rotation possible ?
      0
  19. jeremieca Messages postés 225 Statut Membre 28
     
    Oui, remplace ça :

    echo '<table bgcolor="#FFFFFF">'."\n"; 
    while($rep3 = mysql_fetch_array($req3)){
           echo '<tr>';
           echo '<td bgcolor="#CCCCCC">'.$rep3['prenom'].'</td>';
           echo '</tr>'."\n"; 
    }
    echo '</table>'."\n"; 


    Par :

    echo '<table bgcolor="#FFFFFF">'."\n"; 
    while($rep3 = mysql_fetch_array($req3)){
           echo '<tr>';
           echo '<td bgcolor="#CCCCCC">'.$rep3['prenom'].'</td><td bgcolor="#CCCCCC"></td><td bgcolor="#CCCCCC"></td>';
           echo '</tr>'."\n"; 
    }
    echo '</table>'."\n"; 
    


    Dis moi si c'est ce que tu veux !
    0
  20. jamstyle Messages postés 27 Date d'inscription   Statut Membre
     
    la les noms defile toujours dans la meme colonne et moi je voudrais qu'ils tourne dans tout le tableau
    c'est possible ?
    0
  21. jeremieca Messages postés 225 Statut Membre 28
     
    Alors dans quel ordre ? d'abord la première ligne puis la seconde... Ou d'abord la première colonne puis la seconde... ?
    0
    1. jamstyle Messages postés 27 Date d'inscription   Statut Membre
       
      On commencerai sur la premiere ligne
      0
  • 1
  • 2