begin process at 2012 05 31 06:39:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

probleme d'affichage les enregistrement d'une table de base de donnée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme d'affichage les enregistrement d'une table de base de donnée

mardi 18 mars 2008 à 22:31:17 | probleme d'affichage les enregistrement d'une table de base de donnée

rinuom99

salut,
je veux afficher tout les enregistrement d'une table de base de donnée, j'ai utilisé le code suivant:
Code :




$selectcli="SELECT * FROM client ORDER BY 'mat_cli'"; $cli = mysql_query($selectcli, $link) or die(mysql_error()); $lignes_cli = mysql_num_rows($cli); $client =array(); $client['matricule'] =array(); $client['nom'] =array(); $client['prenom'] =array(); $client['adresse'] =array();   if($lignes_cli != 0){for($i=0;$i<$lignes_cli ;$i++){$row_cli = mysql_fetch_assoc($cli);     $client['matricule'][$i] = $row_cli['mat_cli']; 	$client['nom'][$i]=$row_cli['nom_cli']; 	$client['prenom'][$i]=$row_cli['prenom_cli']; 	$client['adresse'][$i]=$row_cli['adresse_cli']; 	$client['etat'][$i]=$row_cli['etat'];     mysql_data_seek($cli, $i);  
et pour l'affichage j'utilise le code suivant:
Code :
    for($i=1; $i<$lignes_cli;$i++)$mat= $client['matricule'][$i]; $nom= $client['nom'][$i]; $prenom=$client['prenom'][$i]; $adresse=$client['adresse'][$i]; $eta=$client['etat'][$i]; 						      echo '<tr>'; echo '<td width="8%">' ; echo '</td>'; 							   echo'<td width="76%" height="20" align="left" valign="middle">
<a href="client.php?m='
.$mat.'">'.$mat."\n".'-'."\n".$nom."\n".'-'."\n"
.$prenom."\n".'-'."\n".$adresse.'</a></td>'; echo '<td width="8%">'; echo '<a href="addclient.php?m='.$mat.'">
<img src="../../images/ic_modif.gif" alt="Modifier" width="22"
height="22" border="0" /></a>'
; echo '</td>';  






le probleme que le dernier enregistrement il n'affiche pas ??? si vous pouvez mz aidé svp et merci
mardi 18 mars 2008 à 22:40:00 | Re : probleme d'affichage les enregistrement d'une table de base de donnée

rinuom99

je m'excuse pour le forma

voici le probleme:
je veux afficher tout les enregistrement d'une table de base de donnée, j'ai utilisé le code suivant:
 
$selectcli="SELECT * FROM client ORDER BY 'mat_cli'";
$cli = mysql_query($selectcli, $link) or die(mysql_error());
$lignes_cli = mysql_num_rows($cli);
$client =array(); $client['matricule'] =array();
$client['nom'] =array(); $client['prenom'] =array();
$client['adresse'] =array();  
if($lignes_cli != 0){for($i=0;$i<$lignes_cli ;$i++)
{$row_cli = mysql_fetch_assoc($cli);
$client['matricule'][$i] = $row_cli['mat_cli'];
$client['nom'][$i]=$row_cli['nom_cli'];
$client
['prenom'][$i]=$row_cli['prenom_cli'];
$client['adresse'][$i]=$row_cli['adresse_cli'];
$client['etat'][$i]=$row_cli['etat'];
mysql_data_seek($cli, $i);  
et pour l'affichage j'utilise le code suivant:
Code :
    for($i=1; $i<$lignes_cli;$i++)
{$mat= $client['matricule'][$i];
$nom= $client['nom'][$i];
$prenom=$client['prenom'][$i];
$adresse=$client['adresse'][$i];
$eta=$client['etat'][$i];
echo '<tr>';
echo '<td width="8%">' ;
echo '</td>';
echo'<td width="76%" height="20" align="left" valign="middle">
<a href="client.php?m='
.$mat.'">'.$mat."\n".'-'."\n".$nom."\n".'-'."\n"
.$prenom."\n".'-'."\n".$adresse.'</a></td>';
echo '<td width="8%">';
echo '<a href="addclient.php?m='.$mat.'">
<img src="../../images/ic_modif.gif" alt="Modifier" width="22"
height="22" border="0" /></a>'
; echo '</td>';  

le probleme que le dernier enregistrement il n'affiche pas ??? si vous pouvez mz aidé svp et merci
mercredi 19 mars 2008 à 00:36:00 | Re : probleme d'affichage les enregistrement d'une table de base de donnée

neigedhiver

Réponse acceptée !
Salut,

Essaie de faire un truc plus propre, pour mieux t'y retrouver :
$selectcli="SELECT * FROM client ORDER BY 'mat_cli'";

Déjà, évite d'utiliser * pour la liste des colonnes, ça bouffe des ressources pour rien. Préfère lister les colonnes une par une, ça évite de récupérer les colonnes inutiles, notamment si plus tard tu rajoutes des colonnes dans ta table...

$cli = mysql_query($selectcli, $link) or die(mysql_error()); 
$lignes_cli = mysql_num_rows($cli);

La définition du tableau $client ne sert à rien

Le reste, c'est presque illisible tellement c'est compact et pas indenté. Ton remplissage du tableau $client est assez peu orthodoxe... Quant à 'or die' => c'est crade

if ($cli = @mysql_query($selectcli, $link)) { # Si la requête s'est bien passée
if (mysql_num_rows($cli) > 0) { # Ca risque pas d'être négatif...
while ($row_cli = mysql_fetch_assoc($cli)) {
$clients[$i][] = $row_cli;
}
}
}
else {
# Gestion de l'erreur de manière plus propre, éventuellement en
# faisant appel à une fonction spécialisée
}

Pour l'affichage :

foreach ($clients as $client) {
echo '<tr><td width="8%">&nbsp;</td>
<td width="76%" height="20" align="left" valign="middle">
<a href="client.php?m='
. $client['matricule'] . '">'.$client['matricule'] . "\n-\n" .
$client['nom'] . "\n-\n" .
$client['prenom'] . "\n-\n" .
$client['adresse'] .'</a></td>
<td width="8%">
<a href="addclient.php?m='
.$client['matricule'].'">
<img src="../../images/ic_modif.gif" alt="Modifier" width="22" height="22" border="0" />
</a>'
;
}

Ta boucle foreach va parcourir tous les clients sans en oublier.

Ta requête ne permet pas d'utiliser ce code correctement, il faut absolument que tu la corriges et que tu listes les champs à récupérer, et que tu leurs donnes un alias :

$selectcli = 'SELECT mat_cli AS matricule,
prenom_cli AS prenom,
nom_cli AS nom,
adresse_cli AS adresse,
etat
FROM client ORDER BY mat_cli ASC;';

Les alias seront utilisés comme index du tableau associatif renvoyé par mysql_fetch_assoc().

La fonction mysql_fetch_assoc() déplace le pointeur de la ressource résultat retournée par mysql_query, inutile donc de le faire.

Cette manière de faire présente un inconvénient : tu parcours 2 fois les résultats. Une fois pour la récupération, une autre pour l'affichage. Une solution consiste à utiliser un itérateur en PHP5, que l'on peut simuler en PHP4 (il existe au moins une source sur phpcs d'un itérateur en PHP4, postée par codefalse, si ma mémoire est bonne).

La boucle while() n'est pas plus consommatrice de ressources que for() : ici, elle est plus facile à utiliser, d'autant qu'on n'a pas besoin de compteur pour ajouter des éléments à un tableau.

La boucle foreach() par contre te permet de parcourir ton tableau du début à la fin sans te soucier du nombre d'éléments qu'il contient (c'est vraiment une information accessoire ici).


Neige
jeudi 20 mars 2008 à 09:27:33 | Re : probleme d'affichage les enregistrement d'une table de base de donnée

rinuom99

merci neigedhiver c trés gentil


Cette discussion est classée dans : client, echo, prenom, mat, cli


Répondre à ce message

Sujets en rapport avec ce message

un else qui en renvoit pas ce que je veux [ par oceane751 ] bonjour à tous! et joyeuses paques!voilà mon soucissi un numéro de client n'existe pas, un message informe la personne qui utiilise l'appli, sur le fa socket [ par LaTatadu91 ] salut,voila j'essaie de faire communiquer deux programmes un en PHP et l'autre en C et j'utilise pr cela les sockets de PHP avec le protocole TCP/IP.. probleme avec IF et verification avec un cookie [ par destiny ] lo all :)=En gros, dans mes clients ( de ma bdd ) certain ont des contrat sur les mise à jour, donc il ont accés aux dernieres maj beta!Dans ma page d Affichage dans une textbox [ par Leneuf8000 ] Bonjour, j'ai une page dans laquelle l'utilisateur peut modifier ses données (nom, prénom, mdp). Cette page contient donc autant de textbox que de don Problemes d'accents [ par Johandev35 ] Bonjour ! j'ai un petit probleme! Je compte sur votre aide pour pouvoir m'aider a le résoudre ! Voila, j'ai une application en PHP/Mysql et un annuair lien et requete sql [ par oceane751 ] bonjour à tous !!   je voudrais creer une page administration pour un projet. un Jointure [ par shadow1779 ] Bonsoir,j'aimerai m'améliorer en PHP/MySQL en commencant avec les jointures, j'aimerai pour sa être un peu guidé car malgré les tutos j'ai du mal: voi résultat d'un simple select [ par spacassis ] Salut à tous !Voilà j'ai un problème assez simple, je crois mais comme je débute au niveau procédures stockées, je suis sur un os J'ai déjà parcouru p [PHP] Bouton qui execute une requete [ par alextec ] Bonjour, après avoir chercher sur le site et sur internet je dépose mon problème.Cela doit etre simple à regler mais je vois pas ou est l'erreur...Voi envoi variable par echo [ par Bulledanslair ] Bonjour.je désirerais envoyer une variable que je sélectionne dans une liste déroulante pour cette méthode. Mais Je pense ne pas avoir disposé $encad


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales