Rechercher : dans
Par :

Probleme Tableau dynamique php

Dernière réponse le 25 jun 2009 à 11:49:58 jamstyle, le 21 jun 2009 à 06:32:55 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Probleme Tableau dynamique php » dans :
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

jeremieca, le 21 jun 2009 à 17:55:15

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+

Répondre à jeremieca

2

jamstyle, le 21 jun 2009 à 18:39:37

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 !!!

Répondre à jamstyle

3

jeremieca, le 21 jun 2009 à 19:15:34

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+

Répondre à jeremieca

4

jamstyle, le 21 jun 2009 à 19:58:19

Yes tu as parfaitement compris !

Répondre à jamstyle

5

jeremieca, le 21 jun 2009 à 20:35:47

As tu un id champs id ? Si oui je m'occupe de préparer ton code.

Répondre à jeremieca

6

jamstyle, le 21 jun 2009 à 20:51:55

Yes j'ai un champ id !!!

Répondre à jamstyle

7

jeremieca, le 21 jun 2009 à 21:08:18
  • +1

Bien j'ai fini !

Le tutoriel est disponible ici :

http://tutoriels-video.net/php-niv-debutant/rotation-dans-un­e-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 !

Répondre à jeremieca

8

jamstyle, le 21 jun 2009 à 21:28:48

Tu es veritable boss je te remercis mille fois je mettrais ton nom dans la rubrique creation donc laisse moi t coordonnees !!!

Répondre à jamstyle

9

jamstyle, le 21 jun 2009 à 21:32:14

J'oubliais comment je limiter l'affichage a 7 prenoms ?

Répondre à jamstyle

10

jeremieca, le 21 jun 2009 à 21:44:42

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

Répondre à jeremieca

11

jamstyle, le 21 jun 2009 à 21:51:00

Merci, tu vas peut etre me prendre pour un neuneu mais j'arrive pas a remettre en affichage tableau html.

Répondre à jamstyle

12

jamstyle, le 21 jun 2009 à 21:57:52

Nan c bon merci encore pour tout !!!

Répondre à jamstyle

13

jeremieca, le 21 jun 2009 à 22:00:20

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"; 
 
?>

Répondre à jeremieca

14

jamstyle, le 22 jun 2009 à 16:37:18

Bonjour, toujours moi qui t'embetes !!!
Question que dois rajouter au code pour la rotation ne s'effectue que le soir a 10h00 disons ?

Répondre à jamstyle

15

jamstyle, le 22 jun 2009 à 19:37:59

Est il possible de forcer l'afichage du tableau 3 lignes 3 colonnes par ex ?

Répondre à jamstyle

16

jeremieca, le 22 jun 2009 à 19:40:54

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 :)

Répondre à jeremieca

17

jamstyle, le 22 jun 2009 à 19:45:08

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 ?

Répondre à jamstyle

18

jeremieca, le 22 jun 2009 à 20:43:46

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

Répondre à jeremieca

19

jamstyle, le 22 jun 2009 à 20:47:00

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 ?

Répondre à jamstyle

20

jeremieca, le 22 jun 2009 à 21:07:56

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 !

Répondre à jeremieca

21

jamstyle, le 22 jun 2009 à 21:12:13

La les noms defile toujours dans la meme colonne et moi je voudrais qu'ils tourne dans tout le tableau
c'est possible ?

Répondre à jamstyle
Collection CommentÇaMarche.net