Probleme Tableau dynamique php
jamstyle
Messages postés
27
Date d'inscription
Statut
Membre
-
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>
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
Suivant
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.
-
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 ! -
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+ -
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+ -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
As tu un id champs id ? Si oui je m'occupe de préparer ton code.
-
-
Tu es veritable boss je te remercis mille fois je mettrais ton nom dans la rubrique creation donc laisse moi t coordonnees !!!
-
J'oubliais comment je limiter l'affichage a 7 prenoms ?
-
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 -
Merci, tu vas peut etre me prendre pour un neuneu mais j'arrive pas a remettre en affichage tableau html.
-
-
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"; ?> -
Bonjour, toujours moi qui t'embetes !!!
Question que dois rajouter au code pour la rotation ne s'effectue que le soir a 10h00 disons ? -
Est il possible de forcer l'afichage du tableau 3 lignes 3 colonnes par ex ?
-
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 :) -
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 ? -
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 -
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 ! -
la les noms defile toujours dans la meme colonne et moi je voudrais qu'ils tourne dans tout le tableau
c'est possible ? -
Alors dans quel ordre ? d'abord la première ligne puis la seconde... Ou d'abord la première colonne puis la seconde... ?
- 1
- 2
Suivant