8791 sujets

Développement web côté serveur, CMS

Je cherche a afficher dans un tableau les utilisateurs présents dans ma base.

voici le code source de ma page:

<table width="880px" border="0" align="center" cellpadding="0" cellspacing="0" style="background-color: #333; color: white;">
                      <tr height="30px">
                        <th width="150px">Nom</th>
                        <th width="200px">Username</th>
                        <th width="120px">Password</th>
                        <th width="">Email</th>
                        <th width="50px">Statut</th>
                        <th width="50px">Accès</th>
                        <th width="120px">Dernière connexion</th>
                      </tr>
                      
                    <?php
        	        GetUserList();
      		    ?>
                    
                    <tr>
						
					</tr>
                </table>


et voici ma fonction GetUserList()

function GetUserList(){
	
	global $pretext;
	
	$sql= mysql_query('SELECT * FROM ".$pretext."_users ORDER BY ACCESS ASC');
	
		while ($result = mysql_fetch_array($sql)){
			
				<tr>
					<td><?php echo '$result['name']'; ?></td>
					<td><?php echo '$result['username']'; ?></td>
					<td><?php echo '$result['password']'; ?></td>
                                        <td><?php echo '$result['email']'; ?></td>
                                        <td><?php echo '$result['statut']'; ?></td>
                   	                <td><?php echo '$result['access']'; ?></td>
                                        <td><?php echo '$result['last_connexion']'; ?></td>
				</tr>
				
		}
  }


Je récupère une erreur Parse error: syntax error, unexpected '<' sur la première ligne de ma boucle Smiley ohwell
Modifié par pieryv (29 Nov 2011 - 10:38)
après quelques recherches, voici l'état de ma fonction


function GetUserList(){
	global $pretext;
	$sql= 'SELECT * FROM '.$pretext.'_users ORDER BY ID ASC';
	     while ($result = mysql_fetch_array($sql)){

		 ?>
			 <tr>
				 <td><?php echo $result['name']; ?></td>
				 <td><?php echo $result['username']; ?></td>
				 <td><?php echo $result['password']; ?></td>
                                 <td><?php echo $result['email']; ?></td>
                                 <td><?php echo $result['statut']; ?></td>
                   	         <td><?php echo $result['access']; ?></td>
                                 <td><?php echo $result['last_connexion']; ?></td>
			</tr>

			<?php	
		}
  }
  

 ?>


c'est mieux, mais j'ai l'erreur suivante:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

mais ça avance...
Oui tu ne fais même pas de connexion à la base. Ça ne peut pas fonctionner.
Modifié par jb_gfx (28 Nov 2011 - 18:24)
mmmh.
je me conncete sur mon site en tant qu'admin. je suis donc connecté à la base, non?
je doit refaire une connexion pour y accéder en lecture ?
Tu dois transmettre la connexion à ta fonction.

$connexion = msql_connect...
getUserList($connexion);

Et après dans ta fonction tu utilises $connexion comme tu le ferais normalement.
entre le 1er et 2eme script de ta fonction,
il y a aussi le mysl_query qui est passé à la trappe.

c'est dommage car elle était plutôt bien cette brave instruction Smiley cligne

on doit se connecter à la base sur toutes les pages qui vont faire appel à une requête.

mais tu peux ne l’écrire qu'une fois en mettant le tout dans un fichier spécifique que tu include
au début de chaque page avant toute requête.
CPascal a écrit :

mais tu peux ne l’écrire qu'une fois en mettant le tout dans un fichier spécifique que tu include
au début de chaque page avant toute requête.


Ou dans une fonction, puisqu'il est parti sur un modèle procédurale. Ça évite une connexion inutile sur les pages qui n'en ont pas besoin (pages statiques, en cache ou qui utilisent des données provenant d'un autre modèle (xml ou autre)).
Modifié par jb_gfx (28 Nov 2011 - 19:36)
rebonjour messieurs!

alors pour faire simple, au début de mes fichier de fonctions, la première ligne, c'est
include_once("AdminConfig.php");

et ce fichier AdminConfig ne contient que les lignes suivantes:
<?php
  // Connexion à la base de données
  $dbpath="mysql****";
  $db="******";
  $dblogin="******";
  $dbmdp="******";
  $pretext="*****";
 ?>

Donc à priori ça ressemble bien à une connexion, non?
bref, vous l'aurez compris, j'aurais du prendre php au lieu de css à l'école...
DONE!

C'est vrai qu'il était sympa, ce mysl_query. mais du coup je l'ai remplacé par SQLSelect, qui correspond à ça:
  function SQLSelect($query){
    global $dbpath, $dblogin, $dbmdp, $db;
    $con=mysql_connect($dbpath, $dblogin, $dbmdp);
    mysql_select_db($db);
    $result=mysql_query($query);
    mysql_close($con);
    return $result;  
  }

et du coup avec
$sql= SQLSelect('SELECT * FROM '.$pretext.'_users ORDER BY ID ASC');

ça marche!

merci du coup de main!!(et à bientôt sûrement...)