Probleme Tableau dynamique php

Fermé
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009 - 21 juin 2009 à 06:32
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009 - 25 juin 2009 à 11:49
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>
A voir également:

32 réponses

jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
21 juin 2009 à 21:08
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
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
21 juin 2009 à 17:55
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
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009
21 juin 2009 à 18:39
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
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
21 juin 2009 à 19:15
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
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009
21 juin 2009 à 19:58
Yes tu as parfaitement compris !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
21 juin 2009 à 20:35
As tu un id champs id ? Si oui je m'occupe de préparer ton code.
0
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009
21 juin 2009 à 20:51
Yes j'ai un champ id !!!
0
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009
21 juin 2009 à 21:28
Tu es veritable boss je te remercis mille fois je mettrais ton nom dans la rubrique creation donc laisse moi t coordonnees !!!
0
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009
21 juin 2009 à 21:32
J'oubliais comment je limiter l'affichage a 7 prenoms ?
0
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
21 juin 2009 à 21:44
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
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009
21 juin 2009 à 21:51
Merci, tu vas peut etre me prendre pour un neuneu mais j'arrive pas a remettre en affichage tableau html.
0
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009
21 juin 2009 à 21:57
Nan c bon merci encore pour tout !!!
0
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
21 juin 2009 à 22:00
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
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009
22 juin 2009 à 16:37
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
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009
22 juin 2009 à 19:37
Est il possible de forcer l'afichage du tableau 3 lignes 3 colonnes par ex ?
0
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
22 juin 2009 à 19:40
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
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009
22 juin 2009 à 19:45
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
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
22 juin 2009 à 20:43
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
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009
22 juin 2009 à 20:47
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
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
22 juin 2009 à 21:07
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
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009
22 juin 2009 à 21:12
la les noms defile toujours dans la meme colonne et moi je voudrais qu'ils tourne dans tout le tableau
c'est possible ?
0
jeremieca Messages postés 178 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 16 mars 2015 28
22 juin 2009 à 21:22
Alors dans quel ordre ? d'abord la première ligne puis la seconde... Ou d'abord la première colonne puis la seconde... ?
0
jamstyle Messages postés 27 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 23 juillet 2009
22 juin 2009 à 21:29
On commencerai sur la premiere ligne
0