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

Langage PHP Discussion :

[Tableaux] Boucler un résultat SQL


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 48
    Points : 118
    Points
    118
    Par défaut [Tableaux] Boucler un résultat SQL
    Bonjour, je suis entrin de réaliser un petit plugin pour mon forum.
    Il permet de passer son compte en "PREMIUM" pour débloquer certain accès..

    J'ai fini la partie verification, paiement, passage en PREMIUM... Il ne me reste plus que la partie Administration à faire, et je coince là..

    En local, je fait un tableau:

    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
    <?php 
    $db = new PDO( 'mysql:host=localhost;dbname=test', 'root', '' );
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    <link type="text/css" rel="stylesheet" href="./global.css" />
    </head>
     
    <body>
     
    <table width="644" border="0" cellspacing="1" cellpadding="1">
      <tr>
        <td>ID</td>
        <td>DATE</td>
        <td>PSEUDO</td>
        <td>CODE 1</td>
        <td>CODE 2</td>
        <td>ID 2</td>
      </tr>
    <?php
     
    	$test_allopass = $db->query('SELECT * FROM test_allopass INNER JOIN test_users  ON test_allopass.pseudo=test_users.username ORDER BY `test_allopass`.`id`');
    	foreach( $test_allopass as $row ) 
    		{
    			$row['date'] = date("\L\e d/m/y  H:i:s", $row['dateline']);
    			if ($row['VALIDITER'] == '1')
    				{
    					$class = 'class="trow1 trow_reputation_positive"';
    				}
    			else
    				{
    					$class = 'class="trow1 trow_reputation_negative"';
    				}
    			echo '<tr>';
    			echo '<td '.$class.'>',
    			$row['id'],
    			'</td><td '.$class.'>',
    			$row['date'],
    			'</td><td '.$class.'>',
    			'<a href="./member.php?action=profile&uid='.$row['uid'].'" alt="Fiche de '.$row['pseudo'].'">
    			'.$row['pseudo'].'</a>',
    			'</td><td '.$class.'>',
    			$row['code_premier'],
    			'</td><td '.$class.'>',
    			$row['code_second'],
    			'</td><td '.$class.'>',
    			$row['dateline'],
    			'</td>';
    			echo '</tr>';
    		}
    ?>
    </table>
    </body>
    </html>
    Cela fonctionne à merveille !

    Sauf que j'ai l'impression que mon forum ne veut pas traité le foreach..

    Code source retourner dans le forum:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    							<table width="644" border="0" cellspacing="1" cellpadding="1">
    								<tr>
    									<td>ID</td>
    									<td>DATE</td>
    									<td>PSEUDO</td>
    									<td>CODE 1</td>
     
    									<td>CODE 2</td>
    									<td>ID 2</td>
    								</tr></table>
    Il n'a même pas bouclé les <td> comme si il n'avais reçu aucune réponse au moment de traité le SQL.

    Je me suis dit, je vais utiliser un while avec mysql_fetch_objet dans ce cas:

    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
    								while ($row = mysql_fetch_object($test_allopass))
    								{
    									echo $row->uid;
    									echo $row->username;
    									/*$row_premium['date'] = date("\L\e d/m/y \à H:i:s", $row_premium['dateline']);
    									if ($row_premium['VALIDITER'] == '1')
    										{
    											$class = 'class="trow_premium1 trow_premium_reputation_positive"';
    										}
    									else
    										{
    											$class = 'class="trow_premium1 trow_premium_reputation_negative"';
    										}
     
    										echo '<tr>';
    										echo '<td '.$class.'>',
    										$row_premium['id'],
    										'</td><td '.$class.'>',
    										$row_premium['date'],
    										'</td><td '.$class.'>',
    										'<a href="./member.php?action=profile&uid='.$row_premium['uid'].'" alt="Fiche de '.$row_premium['pseudo'].'">
    										'.$row_premium['pseudo'].'</a>',
    										'</td><td '.$class.'>',
    										$row_premium['code_premier'],
    										'</td><td '.$class.'>',
    										$row_premium['code_second'],
    										'</td><td '.$class.'>',
    										$row_premium['dateline'],
    										'</td>';
    										echo '</tr>';*/
    									mysql_free_result($test_allopass);
    								}
    Nb: J'ai mis en commentaires mon ancienne boucle tableau (la flemme de changer les $row_premium['X'] en $row->X;


    Donc traite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo $row->uid;
    echo "<br/>";
    echo $row->username;
    Pour m'afficher:
    3453
    Pupuce
    Problème ! Il devrais me boucler mes 6 première entrés logiquement... (sur 6)

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 48
    Points : 118
    Points
    118
    Par défaut Oh le vilain noob x)
    Oh le vilain noob que je suis...
    J'ai mis: mysql_free_result($test_allopass); DANS mon while...

    Mais sinon, si ya moyen de repartir sur un foreach, j'aimerais mieux qu'un while si possible.

Discussions similaires

  1. Réponses: 7
    Dernier message: 24/05/2006, 12h52
  2. [Oracle] Tableau résultat Sql et casse
    Par cbroissa dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 13/04/2006, 00h44
  3. [Tableaux] Question de résultat issu d'un foreach
    Par heddicmi dans le forum Langage
    Réponses: 2
    Dernier message: 14/02/2006, 11h21
  4. Comment enregistrer un résultat SQL en format TXT ...
    Par Jamal_71 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 30/01/2006, 15h23
  5. Affecter résultat SQL d'une requête à une variable
    Par bozolozo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/01/2005, 18h37

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