begin process at 2012 05 28 19:05:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Divers

 > 

comment lire un enregistre suivant


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

comment lire un enregistre suivant

mardi 9 août 2005 à 10:37:35 | comment lire un enregistre suivant

ManuAntibes

Membre Club

Salut

J'ai deux bases de données.( une article,  et une autre article_client )

la base article comprend tous les articles de la base de donnée que l'on vent.
la base article_client comprend certains articles triés par client que chaque client à l'habitude de prendre.

J'affiche la liste des articles dans un tableau avec une region repetée.
Mais je souhaiterais que les articles_client soient de couleurs differentes dans la liste.
le code que j'ai commencé a ecrire m'affiche juste le premier article de la base article_client, les autres articles ne passe pas en couleur.

voici mon code.

<body>
<?php if ($totalRows_Re_promos > 0) { // Show if recordset not empty ?>
 <?php do { ?>
<table width="100%"  border="1" cellpadding="1" cellspacing="0">
 <?php if ($row_Re_promos['reference']==$row_Recordset1['ref_art']){?>
<tr bgcolor="#FFFFCC">
    <th width="10%" align="center" scope="col"><span class="Style15"><?php echo $row_Re_promos['reference']; ?> </span></th>
    <th width="20%" align="center" scope="col"><span class="Style16"><?php echo $row_Re_promos['morceaux']; ?></span></th>
    <th width="15%" align="center" class="Style15" scope="col"><img src="images/<?php echo $row_Re_promos['couleur']; ?>" width="15" height="15"> &nbsp; <?php echo $row_Re_promos['categorie']; ?></th>
    <th width="11%" align="center" scope="col"><p class="Style15"><?php echo $row_Re_promos['prixArticle']; ?></p>      </th>
    <th width="10%" align="center" scope="col"><span class="Style15"><?php echo $row_Re_promos['Poids']; ?>&nbsp;</span></th>
    <th width="5%"  align="top"    scope="col"><input name="Ajout" type="checkbox" id="Ajout" onClick="produit_afficher3.php" value="<?php echo $row_Re_promos['reference']; ?>" checked></th>
</tr>
 <?php } else {?>
<tr>
    <th width="10%" align="center" scope="col"><span class="Style1"><?php echo $row_Re_promos['reference']; ?> </span></th>
    <th width="20%" align="center" scope="col"><?php echo $row_Re_promos['morceaux']; ?></th>
    <th width="15%" align="center" class="Style1" scope="col"><img src="images/<?php echo $row_Re_promos['couleur']; ?>" width="15" height="15"> &nbsp; <?php echo $row_Re_promos['categorie']; ?></th>
    <th width="11%" align="center" scope="col"><p class="Style1"><?php echo $row_Re_promos['prixArticle']; ?></p>      </th>
    <th width="10%" align="center" scope="col"><span class="Style1"><?php echo $row_Re_promos['Poids']; ?>&nbsp;</span></th>
    <th width="5%"  align="top"    scope="col"><span class="Style16">
    <input name="Ajout" type="checkbox" id="Ajout" onClick="produit_afficher3.php" value="<?php echo $row_Re_promos['reference']; ?>">
 </span></th>
</tr>
 <?php }?>
</table>

<?php } while ($row_Re_promos = mysql_fetch_assoc($Re_promos)); ?>
<?php } // Show if recordset not empty ?>

<?php if ($totalRows_Re_promos == 0) { // Show if recordset empty ?>
<p align="center" class="Style9 Style10">Choisissez une cat&eacute;gorie </p>
<?php } // Show if recordset empty ?>
</body>


Je n'arrive pas a faire passé $row_Recordset1['ref_art'] sur un new enregitrement apres qu'il est lu le premier.
c'est pour ca que dans mon tableau liste des articles il m'affiche un seul enregistrement de couleur .
Bien que dans la base article_client il y a plusieurs articles.

Merci de votre aide
A+


MANUANTIBES

mardi 9 août 2005 à 11:05:32 | Re : comment lire un enregistre suivant

arnal69130

Salut,
Je pense que tu confonds "table" et "base", tu as donc 2 tables dans ta base de données
Pourrais-tu nous donner tes requètes, pour que l'on puisse comprendre un peu mieux. Ensuite, il faudra faire une boucle, pour parcourir tous les résultat de la requète.

Sur le plan logique, il me semble que le plus simple, c'est d'interroger les 2 tables, et d'enregistrer la liste des articles_client dans un tableau. Ensuite, au moment de parcourir la liste de tous les articles, si l'article en cours est dans le tableau des articles_client, alors tu change de couleur.

Sinon, désolé de te dire ça, mais ton code n'est pas très clair...
Pourarranger ça, tu peux ouvrir une balise <?php au début du fichier, et la fermer à la fin du fichier... ?> en utilisant echo '<table>.....'; pour les sorties html.
Pour gagner encore en clareté et en maintenabilité de ton code, il faut essayer d'utiliser les css plutôt que les attributs de mise en forme dans les balises (par exemple, remplace les align="center" par des text-align:center; dans une feuille de style)
Ensuite, il est généralement inutile d'imbriquer des éléments de type "block", comme par exemple <th><p>...</p></th>
Au fait, il me semble que les balises <th></th> c'est uniquement poour la ligne des titres, ensuite il faut utiliser <td></td> à la place.

Arn;o)   
mardi 9 août 2005 à 11:21:37 | Re : comment lire un enregistre suivant

ManuAntibes

Membre Club

oui en effet j'ai fait un labsus sur table et base, merci de me corrigé

voici tous mon code

<?php require_once('../Connections/toto.php'); ?>
<?php
$currentPage = $_SERVER["PHP_SELF"];

$currentPage = $_SERVER["PHP_SELF"];

session_start();
//test si client déjà identifié
if (!isset($HTTP_SESSION_VARS['INACTIF_CL'])||($HTTP_SESSION_VARS['INACTIF_CL'] != "0"))
{ header("Location:login1.php"); }
if (!isset($HTTP_SESSION_VARS['total'])) $total=0;
else $total=$HTTP_SESSION_VARS['total'];
if (!isset($HTTP_SESSION_VARS['clientID'])) $clientID=0;
else $clientID=$HTTP_SESSION_VARS['clientID'];

 

switch($case) {
case "1"  :
$critereSort = "morceaux";
$critereAdd =$_SESSION['total'];
break;
case "2" :
$critereSort = "categorie";
$critereAdd =$_SESSION['total'];
break;
case "3" :
$critereSort = "reference";
$critereAdd =$_SESSION['total'];
break;
default :
$critereSort = "reference";
$critereAdd = "' '";
break;
}
$colname_Re_promos = "1";
if (isset($_SESSION['clientID'])) {
  $colname_Re_promos = (get_magic_quotes_gpc()) ? $_SESSION['clientID'] : addslashes($_SESSION['clientID']);
}
mysql_select_db($database_vivanda, $vivanda);
$query_Re_promos = sprintf("SELECT articles.*,articleclient.* FROM articles INNER JOIN articleclient ON articles.reference AND articleclient.ref_art WHERE articles.categorie = $critereAdd AND articleclient.idclient_art = '%s' GROUP BY articles.reference ORDER BY $critereSort", $colname_Re_promos);
$Re_promos = mysql_query($query_Re_promos, $vivanda) or die(mysql_error());
$row_Re_promos = mysql_fetch_assoc($Re_promos);
$totalRows_Re_promos = mysql_num_rows($Re_promos);

 

 

 

$colname_Recordset1 = "1";
if (isset($_SESSION['clientID'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_SESSION['clientID'] : addslashes($_SESSION['clientID']);
}

 

$queryString_Recordset1 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Recordset1") == false &&
        stristr($param, "totalRows_Recordset1") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Recordset1 = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);

$queryString_Re_promos = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Re_promos") == false &&
        stristr($param, "totalRows_Re_promos") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Re_promos = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_Re_promos = sprintf("&totalRows_Re_promos=%d%s", $totalRows_Re_promos, $queryString_Re_promos);
?>

<html>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>
<title>Afficher produits</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
 margin-left: 0px;
 margin-top: 0px;
 margin-right: 0px;
 margin-bottom: 0px;
}
.Style1 {font-size: 12px}
.Style9 {color: #FFFFFF}
.Style10 {
 font-size: large;
 font-weight: bold;
 color: #FF0000;
}
.Style15 {font-size: 12px; color: #000000; }
.Style16 {color: #000000}
-->
</style>
</head>

<body>
<?php if ($totalRows_Re_promos > 0) { // Show if recordset not empty ?>
 
 <?php do { ?>
<?php 
$colname1_Recordset1 = ($row_Re_promos['reference']);

mysql_select_db($database_vivanda, $vivanda);
$query_Recordset1 = sprintf("SELECT * FROM articleclient WHERE idclient_art = '%s' AND ref_art = '%s' ORDER BY ref_art ASC", $colname_Recordset1,$colname1_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $vivanda) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>

<table width="100%"  border="1" cellpadding="1" cellspacing="0">
 <?php if ($totalRows_Recordset1 > 0) { // Show if recordset not empty ?>
    <tr bgcolor="#FFFFCC">
      <th width="10%" align="center" scope="col"><span class="Style15"><?php echo $row_Re_promos['reference']; ?> </span></th>
      <th width="20%" align="center" scope="col"><span class="Style16"><?php echo $row_Re_promos['morceaux']; ?></span></th>
      <th width="15%" align="center" class="Style15" scope="col"><img src="images/<?php echo $row_Re_promos['couleur']; ?>" width="15" height="15"> &nbsp; <?php echo $row_Re_promos['categorie']; ?></th>
      <th width="11%" align="center" scope="col"><p class="Style15"><?php echo $row_Re_promos['prixArticle']; ?></p></th>
      <th width="10%" align="center" scope="col"><span class="Style15"><?php echo $row_Re_promos['Poids']; ?>&nbsp;</span></th>
      <th width="5%"  align="top"    scope="col"><input name="Ajout" type="checkbox" id="Ajout" onClick="produit_afficher3.php" value="<?php echo $row_Re_promos['reference']; ?>" checked></th>
    </tr>
    <?php } // Show if recordset not empty ?>
    <?php if ($totalRows_Recordset1 == 0) { // Show if recordset empty ?>
    <tr>
    <th width="10%" align="center" scope="col"><span class="Style1"><?php echo $row_Re_promos['reference']; ?> </span></th>
    <th width="20%" align="center" scope="col"><?php echo $row_Re_promos['morceaux']; ?></th>
    <th width="15%" align="center" class="Style1" scope="col"><img src="images/<?php echo $row_Re_promos['couleur']; ?>" width="15" height="15"> &nbsp; <?php echo $row_Re_promos['categorie']; ?></th>
    <th width="11%" align="center" scope="col"><p class="Style1"><?php echo $row_Re_promos['prixArticle']; ?></p>      </th>
    <th width="10%" align="center" scope="col"><span class="Style1"><?php echo $row_Re_promos['Poids']; ?>&nbsp;</span></th>
    <th width="5%"  align="top"    scope="col"><span class="Style16">
    <input name="Ajout" type="checkbox" id="Ajout" onClick="produit_afficher3.php" value="<?php echo $row_Re_promos['reference']; ?>">
 </span></th>
</tr>
    <?php } // Show if recordset empty ?>
</table>
<?php } while ($row_Re_promos = mysql_fetch_assoc($Re_promos)); ?>
<?php } // Show if recordset not empty ?>

<?php if ($totalRows_Re_promos == 0) { // Show if recordset empty ?>
<p align="center" class="Style9 Style10">Choisissez une cat&eacute;gorie </p>
<?php } // Show if recordset empty ?>
</body>
</html>
<?php
mysql_free_result($Re_promos);
//mysql_free_result($Recordset1);
?>



Du coup j'ai modifier mon code j'ai fait la recherche de table article_client dans la boucle article.
et du coup ca marche .
Je pense que mon premiere code je partais dans une mauvaise voix.
donne moi ton avis arnal.
A+
MANUANTIBES

mardi 9 août 2005 à 11:40:44 | Re : comment lire un enregistre suivant

arnal69130

Si ça marche, tant mieux !
Mon avis sur la forme je te l'ai déjà donné, tu as de quoi faire
a+



Cette discussion est classée dans : client, article, re, articles, promos


Répondre à ce message

Sujets en rapport avec ce message

relations entre 2 tables [ par yeble ] bonjourj'ai crée 2 tables (articles, marque)ARTICLESid_article (Clé unique primaire) nom_article prix_article marque_articleMARQUEid_marque (Clé uniqu requête sql [ par yeble ] je débute en base de données, j'essaie de reproduire votre exemple de site marchand pour comprendre le fonctionnement.j'ai crée 2 tables (articles, ma serveur d'informations et d'actualités [ par hackoo ] Salut, je cherche un script complet pour la création d'un seveur d'informations et d'actualités dans lequel le lecteur peut devenir acteur ,avec la po Stockage BDD MySQL vs Fichier [ par carl_hungus ] Salut à tous.Je développe actuellement en PHP5 un framework qui permet (entre autres) de gérer dynamiquement des articles d'un site.Il y a donc une ta Problème 'sprintf' [ par magicsmacks ] Bonjour,Je voudrais extraire de ma BDD sql toutes les lignes d'une même colonne... Pour les afficher une fois extrait je n'ai pas de problème, j'utili probleme de case a cochet [ par ManuAntibes ] Salut J'ai une table (Article) de tous les articles que je vends.j'ai une autre table (Articleclient) des articles habituelles des clients.J'affiche l probleme de recuperation de variable en tableau associatif [ par lespleiades ] salut tt le monde^^bon voila j ai un probleme et la je cale vraiment, d'habitude je m'en sort comme un grand, mais la je ne sais vraiment pas comment Genere PDF [ par Diablo62 ] Bonjour je souhaite generé des pdf.J'ai trouve sur le net FDPF.Je rencontre un probleme. En fait je souhaiterai genere un pdf d'un article si un utili problème php [ par sarrjo ] bonjour ,je veux gérer du matériel en stock voici mes codes:pour cela j'ai créé un fichier entete.php//session_start();?><!DOCTYPE html PUBLIC "-//W3C Gestion articles : article le plus lu, le plus commenté, derniers ajouts,le plus populaire ... [ par amewole ] Bonjour à tout le monde, Je mets en place un système de publication d'article et de photos et je dois gérer entre autres les aspects suivants : affic


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 0,452 sec (4)

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