IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Affichage tableaux recupération données Mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Points : 10
    Points
    10
    Par défaut Affichage tableaux recupération données Mysql
    Bonjour,

    Je suis débutant et developpe à l'aide de WAMP.
    J'utilise phpmyadmin pour mes bases de données.

    Je souhaite afficher les tableaux enregistrés dans ma base.

    Hors deux erreurs de tailles interviennent.

    1) Boucle
    2) l'appel de données de ma base de données ne s'effectue pas.

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    <center>
     
    <?php
     
     
    	$connexion=mysql_connect("localhost", "root", "");
    	mysql_select_db("test");
     
     
     
    	$requeteIdTousConcentrateurs="SELECT id_concentrateur FROM concentrateur;";
    	$reqConc=mysql_query($requeteIdTousConcentrateurs, $connexion);
     
     
    	while($repConc=mysql_fetch_array($reqConc))
    	{
    		//On affiche le nom de l'appareil
    		$requeteNom="SELECT nom_concentrateur FROM concentrateur WHERE id_concentrateur='$repConc';";
    		$reqNom=mysql_query($requeteNom, $connexion);
    		echo"<h3>".$reqNom."</h3>";
     
    		//On crée le tableau, en fonction du nombre de case
    		$requeteTypeConcentrateur="SELECT type_concentrateur FROM concentrateur WHERE id_concentrateur='$repConc';";
    		$reqType=mysql_query($requeteTypeConcentrateur, $connexion);
     
    		echo"<table border=1>";
     
    		for($i=1; $i<=$reqType; $i++)
     
    		{
    			if ($i % 8==1) 
    			{	if (floor($i/8)!=0)
    				{
    					$i=floor($i/8);
    					echo "<tr>";
     
    					echo "<td width=5  height=5>".$i."</td>";
    					$i=$i+1;
    					echo "<td width=5  height=5>".$i."</td>";
    					$i=$i+1;
    					echo "<td width=5  height=5>".$i."</td>";
    					$i=$i+1;
    					echo "<td width=5  height=5>".$i."</td>";
    					$i=$i+1;
    					echo "<td width=5  height=5>".$i."</td>";
    					$i=$i+1;
    					echo "<td width=5  height=5>".$i."</td>";
    					$i=$i+1;
    					echo "<td width=5  height=5>".$i."</td>";
    					$i=$i+1;
    					echo "<td width=5  height=5>".$i."</td>";
    					echo "</tr>";
    					echo "<tr>";
    				}
    			}
     
    			$requeteNumero="SELECT Numero_tel.Numero
    							FROM NUMERO_TEL INNER JOIN CASE_CONCENTRATEUR ON Numero_tel.ID_Numero=case_concentrateur.ID_NUMERO
    							WHERE numero_case_concentrateur='$i' and id_concentrateur='$repConc';";
    			$repNumero=mysql_query($requeteNumero, $connexion);
     
    			echo "<td width=5  height=5>".$repNumero."</td>";
     
    			if($i % 8 == 0)	{echo"</tr>";}
    		}
     
    		echo"</table>";
    	}
    ?>
     
    </center>
    Je m'excuse d'avance si le code n'est pas "beau" j'apprend et passe beaucoup de temps sur des forums pour progresser.

    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Globalement tu as une erreur de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $reqNom=mysql_query($requeteNom, $connexion);
    		echo"<h3>".$reqNom."</h3>";
    Ca n'a pas de sens de faire un echo du resultat de mysql_query.
    mysql_query() renvoit une ressource, pas directement les données.
    Cette ressource peut être exploitée avec une fonction comme mysql_fetch_assoc().
    Je t'invite a consulter la documentation :
    http://fr3.php.net/mysql_query

    Ensuite tu as un problème de conception : tu as une requête qui lit les ids, puis une requete qui lit un champ, puis une requete qui lit un autre champ.
    Interroge ta base en une seule requete.

    un exemple tout simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql = 'SELECT nom_concentrateur, type_concentrateur FROM concentrateur';
    $result = mysql_query($sql);
    echo '<table>';
    while ($row = mysql_fetch_assoc($result)) {
    echo '<tr>
                <td>'  . htmlentities($row['nom_concentrateur']) . '</td>
                <td>' .  htmlentities($row['type_concentrateur']) . '</td>
             </tr>';
    }
    echo '</table>';

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Points : 10
    Points
    10
    Par défaut
    D'accord merci beaucoup je vais étudier tout ça.

    Merci de votre aide.

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Points : 10
    Points
    10
    Par défaut
    Encore merci pour les réponses avant ! J'ai réussi à me débrouiller avec.
    Par contre là je comprend pas. Peut être que la gestion des FOR et des IF n'est pas pareil qu'avec Java...

    Avec ce code je devrais avoir des tableaux avec des cases avec "1" dedans, et au dessus de chaque case, le numero de la case correspondant.

    En gros :

    1 2 3 4 5 6 7 8
    1 1 1 1 1 1 1 1

    9 10 11 12
    1 1 1 1

    etc...

    Et j'ai seulement :

    1 2 3 4 5 6 7 8
    1

    9 10 11 12
    1



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <center>	
     
    		for($i=1; $i<=32; $i++)
     
    		{
    			if ($i % 8==1) 
     
    			{
    						echo "<tr>";
     
    						echo "<td width=60  height=15 BGCOLOR=gray ALIGN=center>".$i."</td>";
    						$i=$i+1;
    						echo "<td width=60  height=15 BGCOLOR=gray ALIGN=center>".$i."</td>";
    						$i=$i+1;
    						echo "<td width=60  height=15 BGCOLOR=gray ALIGN=center>".$i."</td>";
    						$i=$i+1;
    						echo "<td width=60  height=15 BGCOLOR=gray ALIGN=center>".$i."</td>";
    						$i=$i+1;
    						echo "<td width=60  height=15 BGCOLOR=gray ALIGN=center>".$i."</td>";
    						$i=$i+1;
    						echo "<td width=60  height=15 BGCOLOR=gray ALIGN=center>".$i."</td>";
    						$i=$i+1;
    						echo "<td width=60  height=15 BGCOLOR=gray ALIGN=center>".$i."</td>";
    						$i=$i+1;
    						echo "<td width=60  height=15 BGCOLOR=gray ALIGN=center>".$i."</td>";
    						echo "</tr>";
    						echo "<tr>";
     
    			}
     
    			 echo "<td width=60  height=35 ALIGN=center>".'1'."</td>";
     
    			if($i % 8 == 0)	{echo"</tr>";}
    		}
     
     
     
     
    		echo"</table>";
    	}
    ?>
     
    </center>


    Merci encore :=)

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Points : 10
    Points
    10
    Par défaut
    Ok j'ai trouvé tout seul.
    Comme je change le $i avec des $i=$i+1, quand il refait des tours de boucles, ça détraque tout.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Retrier les données MySQL après affichage
    Par ledisciple dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 15/09/2008, 09h29
  2. Affichage données MySQL
    Par gabs77 dans le forum W4 Express
    Réponses: 3
    Dernier message: 02/07/2008, 18h32
  3. [MySQL] Affichage image d'un base de données mysql
    Par argon dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 09/06/2008, 12h33
  4. [Tableaux] Affichage alterné de donnée
    Par frog43 dans le forum Langage
    Réponses: 2
    Dernier message: 21/03/2007, 12h04
  5. Réponses: 1
    Dernier message: 24/12/2006, 00h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo