begin process at 2012 05 30 18:41:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

HELP probléme affichage de données


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

HELP probléme affichage de données

dimanche 9 janvier 2011 à 17:44:38 | HELP probléme affichage de données

vikingdeath

Bonjour, je débute en php et j'ai un problème que j'arrive pas a régler.
j'ai une bases de données avec 2 tables qui sont reliée
la 1ére contient tout mes produits et la seconde contient les type de produits.
j'ai voulu afficher mes produits dans un tableau avec 4 colonnes et 2 lignes et une barre de navigation pour l'affichage page par page, sa fonctionne parfaitement comme je veux voila le screen


[URL=http://img267.imageshack.us/i/aperuresult.jpg/][/URL]

mon probléme c'est que lorsque je souhaite afficher mes produits par types sa fonctionne mais j'ai des erreurs du genr " Warning: mysql_result() [function.mysql-result]: Unable to jump to row 3 on MySQL result index 6 in "....

pour être encore plus claire voila le screen

[URL=http://img842.imageshack.us/i/resultaffichagetype.jpg/][/URL]


et voila mon code
[code]
<?php
require_once("connexionMysql.inc.php");
/* Paramètres modifiables */
$stringQueryCount = "SELECT COUNT(*) FROM produits;"; // A adapter à votre table (on peut ajouter une close WHERE)
if(isset($_GET['type_produit']))
$stringQueryToShow="SELECT p.photo, p.nom_produit, p.description, p.prix, p.date, t.type FROM produits as p, type_produit as t WHERE p.type_produit=t.id and type_produit=".$_GET['type_produit'] ;
else
$stringQueryToShow="SELECT p.photo, p.nom_produit, p.description, p.prix, p.date, t.type FROM produits as p, type_produit as t WHERE p.type_produit=t.id";


$nbLines = 2; // Nombre de ligne par page
$nbColumns = 4; // Nombre de colone par page

/* Récupération du nombre de rows */
$query_getCountMembers = mysql_query($stringQueryCount);
$query_getCountMembers = mysql_fetch_array($query_getCountMembers);
$query_getCountMembers = $query_getCountMembers['COUNT(*)'];
/* Récupération des rows dans la table */
$query_getMembers = mysql_query($stringQueryToShow);

/* Calcul du nombre de page à afficher*/
$nbItemByPage = $nbLines*$nbColumns;
// On calcul le reste de la division par le nombre d'entrée dans la table et le nombre d'élément qu'on veut afficher par page
$numberOfPages = $query_getCountMembers % $nbItemByPage;
if($numberOfPages>0)
// Si notre reste est supérieur à 0
{
// On calcul le nombre à ajouter pour avoir un multiple du nombre d'élément par page
$numberOfPages = $nbItemByPage - $numberOfPages;
}
// On termine :(le nombre d'entré + le nombre à ajouter pour avoir notre multiple) / le nombre d'élement par page
$numberOfPages = ($query_getCountMembers + $numberOfPages)/$nbItemByPage;


//---requete du menu de selection type produits---//
$requete2="SELECT id,type FROM type_produit ";
$resultat2=mysql_query($requete2);
?>

<?php

/* Creation des tableaux */
$partNumber = 1; // On initialise cette variable pour nommer les div : Part1, Part2, etc.
for($min = 0; $min < $query_getCountMembers; $min = $min+$nbItemByPage)
{
// On commence par créer une div contenant un tableau. Chaque fois qu'on reviendra dans la boucle
// une nouvelle div et un nouveau tableau seront créés. Notre fonction javascript modifiera la propriété
// CSS Display pour afficher ou non le tableau choisi

// Vous pouvez modifier la WIDTH dans <table width="100%"> par une autre valeur de votre choix
echo '
<div id="Part'. $partNumber .'" style="display:none;">
<table width="100%">
';
// On incrémente la variable $partNumber pour afficher un nouveau numéro lorsqu'on repasse dans la première boucle for
$partNumber++;
for($a=$min; $a<($min+$nbItemByPage); $a++)
// La seconde boucle for permet de gérer la création de nos lignes en fonction du paramètre $nbLines
{
echo '<tr>';
for($b=1; $b<=$nbColumns; $b++)
// La troisième boucle for permet de gérer la création de nos colones en fonction du paramètre $nbColumns
{
if($a >= $query_getCountMembers)
// Si on a dépassé le nombre d'élément contenu dans la table ouvre et ferme nos balises <td> pour uniformiser le tableau
// Ce qui arrivera si $query_getCountMembers n'est pas un multiple de $nbItemByPage
// N.B. : Des lignes entières vides ne prennent pas d'espace sur la page web.
{
echo '<td></td>';
}
else
{
echo '
<td>';
/* Affichage personnalisé de vos données récupérées*/
// Dans cette partie vous choisissez comment va être affiché les éléments dans le tableau.
// La condition principale pour afficher correctement vos éléments est d'utiliser la syntaxe suivante :
// --> mysql_result($query_getMembers, $a, 'nom_de_votre_colone')
// !!! NE MODIFIEZ RIEN D'AUTRE QUE LE PARAMETRE 'nom_de_votre_colone' !!!

///Exemple :
echo '<p>';
echo mysql_result($query_getMembers, $a, 'nom_produit');
echo '</p>';
echo '<img src="images/';
echo mysql_result($query_getMembers, $a, 'photo');
echo '" alt="" width="120" height="90" align="center" id="2" />';
echo '<p>';
echo mysql_result($query_getMembers, $a, 'description');
echo '</p>';
echo '<p>';
echo mysql_result($query_getMembers, $a, 'prix');
echo '</p>';

echo'
</td>
';
if($b < $nbColumns)
// On incrémente manuellement $a car si $b est inférieur aux nombre de colone à afficher dans le tableau
// $a ne repasse pas la seconde boucle for
{
$a++;
}
}
} // On ferme la troisième boucle for

echo '</tr>'; // On ferme la balise <tr> pour revenir à la ligne
} // On ferme la seconde boucle for
// On ferme notre tableau ainsi que la div associé
echo '
</table>
</div>';
}// On ferme la première boucle for
if($numberOfPages>1)
{
echo 'Pages'; // Affiche le mot page
for($a=1 ; $a<=$numberOfPages; $a++)
/* On affiche tout les liens et on applelle notre fonction javascript sur chaque lien */
{
echo '
<a id="anchor'.$a.'" href="#'.$a.'" onClick="onPartChanged('.$a.','.$numberOfPages.')"/>'.$a.'</a>
';
if ($a<$numberOfPages) echo ' - ';
}
echo '<br />'; // L'indispensable saut de ligne
}
?>
</body>
</html>

[/code]
voila j'espère que quelqu'un aurais la gentillesse de m'aider résoudre ce probléme


Cette discussion est classée dans : page, mysql, query, echo, result


Répondre à ce message

Sujets en rapport avec ce message

Faire un while qui affiche un tableau [ par elriser ] Bonjour, Ci dessous je vous met ma page ou se trouve mes while Mon souci avec cette méthode j'ai un affichage de tableau sans ligne.Ma question que do afficher images blob dans table mysql [ par RealKEV1 ] Bonjour,Seriez-vous m'aider pour afficher toutes les images de type Blob de ma table MySql???Voici mon code, mais ça ne boucle pas sur les images, ça Prob : Récuperer des valeurs à partir d'une liste [ par gssk ] Je n'arrive pas à recuper une valeur à partir d'un id seclectioné ds une liste, l'erreur est sur le mysql_fetch_array (en rouge) est ce que qqun pourr Comment faire pour afficher cette requete sur plusieur pages ? [ par skyman272 ] Bonjour, question pour les pros du PHPLa requette dans le code ci dessous fonctionne mais le resultat devrait s'afficher sur plusieurs pages. 5 résult mon formulaire ne se declenche pas [ par oli375 ] voila j'ai une première page  pour ajouter un joueur jeuille de match. php:session_start();include("connection_base.php");if(isset($_SESSION['selectio exection 2 fois du code? [ par vieaiepie ] Bonjour, J'ai fais un fichier php qui permet d'importer des données à partir d'un fichier texte (fichier de 400 lignes de code que je ne vais pas d&# pb triple liste déroulante [ par ahcorad ] Voila ma triple liste déroulante ne fonctionne pas !les deux premières fonctionnenent bien mais pas la dernière ! ça ne fonctionne toujours pas ! je n Lien avec variable [ par michmichman ] Donc mon souci c'est que je veux mettre une variable dans un chemin de lien et j'arrive pas je vous balance mon script expliquez moi SVP...Vinclude("s erreur de controle mais où ??? [ par ahcorad ] Alors une page normale avec des liste déroulantes avec des données MySQL, au lancement de la page, les valeurs devraient être vides mais la première l


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 : 1,154 sec (4)

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