Accueil > Forum > > > > Tableaux croisés php mysql
Tableaux croisés php mysql
jeudi 8 septembre 2005 à 11:29:14 |
Tableaux croisés php mysql

fredo35m
|
Bonjour, je ne m'y connais pas vraiment en tableau et je souhaiterais savoir comment effectué un tableau croisé en php, pour l'instant j'arrive à afficher mes colonnes et mes lignes mais j'aimerais croiser ma varaible1 avec ma variable 2 pour obtenir les effectifs 3
exemple : Param2 mod1 mod2 param1 modalité 1 somme(param3xx) somme(param3xx) modalité 2 somme(param3xx) somme(param3xx)
(avec en plus éventuellement un total en bout chaque ligne et colonne)
pour l'instant j'arrive à afficher :
param 1 param2 param3 modalité 1 mod1 somme(param3xx) modalité 1 mod2 somme(param3xx) ....
voici mon script actuel:
<html> <FORM method="post" action="page5.php"> <select name="param1" onChange="this.form.submit();"> <option value="insee" <?php echo $selected=(isset ($_POST['param1']) && ($_POST['param1']=='insee')?'selected="selected"':'') ?> >insee </option> <option value="LIBCOM" <?php echo $selected=(isset ($_POST['param1']) && ($_POST['param1']=='LIBCOM')?'selected="selected"':'') ?> >LIBCOM </option> </select> <select name="param2" onChange="this.form.submit();"> <option value="epci" <?php echo $selected=(isset ($_POST['param2']) && ($_POST['param2']=='epci')?'selected="selected"':'') ?> >epci </option> <option value="naf60" <?php echo $selected=(isset ($_POST['param2']) && ($_POST['param2']=='naf60')?'selected="selected"':'') ?> >naf60 </option> </select> <select name="param3" onChange="this.form.submit();"> <option value="EFET" <?php echo $selected=(isset ($_POST['param3']) && ($_POST['param3']=='EFET')?'selected="selected"':'') ?> >EFET </option> <option value="TEFET" <?php echo $selected=(isset ($_POST['param3']) && ($_POST['param3']=='TEFET')?'selected="selected"':'') ?> >TEFET </option> </select> </form> <?php $hostname_local = "localhost"; $database_local = "sirene"; $username_local = "root"; $password_local = "root"; $local = mysql_pconnect($hostname_local, $username_local, $password_local) or die(mysql_error()); ?> <?php mysql_select_db($database_local, $local); $query_Recordset1 = "SELECT * FROM sirene_petit GROUP BY $param1, $param2"; $Recordset1 = mysql_query($query_Recordset1, $local) or die(mysql_error()); ?> <title>ESSAI</title> <table border="1" width="700"> <col width='300'> <col width='300'> <col width='200'> <tr> <td><?php echo $param1; ?></td> <td><?php echo $param2; ?></td> <td><?php echo $param3; ?></td> </tr> <tr> </table> <table border="1" width="700" BGCOLOR= '#FFFFFF'> <col width='300'> <col width='300'> <col width='200'> <?php while ($data = mysql_fetch_array($Recordset1)) { ?> <td><?php echo $data[$param1]; ?></td> <td><?php echo $data[$param2]; ?></td> <td><?php echo $data[$param3]; ?></td> </tr> <?php } ?> </table> </HTML>
|
|
jeudi 8 septembre 2005 à 11:59:02 |
Re : Tableaux croisés php mysql

malalam
|
Hello, si j'ai bien compris...il te faut un tableau multidimmensionnel. Un petit exemple, pour voir si c'est ce que tu veux. $coord = array ( 'x' => array (0,25,10,48), 'y' => array (10,9,6,152) ); pour obtenir les coordonnées du point [1][3] : echo $coord['x'][1]; // affiche 25 echo $coord['y'][3]; // affiche 152 Metyons que les points réels ont le même indice, donc on a 4 points, de 0 à 3. Popur obtenir les coordonnées du point 2 : $point = 2; echo $coord['x'][$point]; echo $coord['y'][$point]; on peut évidemment faire des recherches, des comparaisons etc...avec in_array, array_search, array_keys etc...
|
|
jeudi 8 septembre 2005 à 12:20:37 |
Re : Tableaux croisés php mysql

fredo35m
|
oui je pense que c'est ça !!! En fait dans ma base mysql j'ai plusieurs variables que je souhaite croisé pour obtenir une valeur. Exemple de variables : ville entreprise effectif Et bien je souhaite afficher un tableau résumant les effectifs des villes pour chaque entreprise Entreprise Danone | Nestlé Total Ville Paris 15 25 40 Rennes 12 10 22
Total 27 35 62
Voici le genre de tableau que je souhaiterais produire. Pour l'instant les tableau que je produit sont :
Ville Entreprise Effectif Paris Danone 15 Paris Nestlé 25 Rennes Danone 12 Rennes nestlé 10
Je sais pas si le tableau rend quelque chose mais bon ... En fait mon but est de croisé 2 variable (ou plus) mais bon on va déjà ce limité à deux pour obtenir une valeur d'une troisième.
Depuis toute à l'heure j'arrive bien à afficher ça si je reprends mon exemple (mais par contre il ne m'affiche pas (Paris, Rennes et les chiffres)!! merci pour ton coup de main Entreprise Danone | Nestlé Ville
|
|
jeudi 8 septembre 2005 à 12:54:31 |
Re : Tableaux croisés php mysql

malalam
|
Il y a plusieurs manières de voir les choses, selon ce que tu veux en faire après. On peut voir ça : <?php $tab['Paris']['Danone'] = 15; $tab['Paris']['Nestle'] = 25; $tab['Rennes']['Danone'] = 12; $tab['Rennes']['Nestle'] = 10; echo '<pre>',print_r ($tab),'</pre>'; ?> C'est facile à remplir à partir de ta base, au moins. Mais pas super pratique...à réfléchir.
|
|
jeudi 8 septembre 2005 à 13:57:15 |
Re : Tableaux croisés php mysql

fredo35m
|
En fait ce que je veux faire, c'est de permettre à l'utilisateur d'interroger la base de données, selon ce qu'il souhaite voir s'afficher dans le tableau (dans mon exemple il sélectionne ville, entreprise, effectif). et donc je souhaite préparer un tableau permettant d'inclure les données de ma base de données. Ensuite si l'utilisateur souhaite un autre variable il a juste à sélectionner dans un menu déroulant la variable à insérer. Mon principal problème est de savoir comment organisé (structuré) mon tableau pour qu'il affiche les résultats escomptés.
Mais je sais pas si je suis vraiment clair dans ma demande en fait ...!! il s'agit principalement d'une présentation de résultat sous une forme de tableau croisé.
meric en tout cas
|
|
jeudi 8 septembre 2005 à 14:35:57 |
Re : Tableaux croisés php mysql

fredo35m
|
En plus je viens de m'apercevoir que même mon premier formulaire avec les données en colonne n'est pas bon !! j'y comprends plus rien !!! j'suis une buse !!! il ne m'affiche plus rien maintenant !!! alors que je veux juste qu'il fasse la somme en fonction de mes 2 premiers paramètres !!! Je remets mon code modifié en grand désespoir là !!! j'y comprends plus rien !! mon but est d'afficher la somme du paramètre 3 en fonction des daparamètre 1 et 2!!! Merci de votre aide !!!
<html> <FORM method="post" action="page5.php"> <select name="param1" onChange="this.form.submit();"> <option value="insee" <?php echo $selected=(isset ($_POST['param1']) && ($_POST['param1']=='insee')?'selected="selected"':'') ?> >insee </option> <option value="LIBCOM" <?php echo $selected=(isset ($_POST['param1']) && ($_POST['param1']=='LIBCOM')?'selected="selected"':'') ?> >LIBCOM </option> </select> <select name="param2" onChange="this.form.submit();"> <option value="epci" <?php echo $selected=(isset ($_POST['param2']) && ($_POST['param2']=='epci')?'selected="selected"':'') ?> >epci </option> <option value="naf60" <?php echo $selected=(isset ($_POST['param2']) && ($_POST['param2']=='naf60')?'selected="selected"':'') ?> >naf60 </option> </select> <select name="param3" onChange="this.form.submit();"> <option value="EFET" <?php echo $selected=(isset ($_POST['param3']) && ($_POST['param3']=='EFET')?'selected="selected"':'') ?> >EFET </option> <option value="TEFET" <?php echo $selected=(isset ($_POST['param3']) && ($_POST['param3']=='TEFET')?'selected="selected"':'') ?> >TEFET </option> </select> </form> <?php $hostname_local = "localhost"; $database_local = "sirene"; $username_local = "root"; $password_local = "root"; $local = mysql_pconnect($hostname_local, $username_local, $password_local) or die(mysql_error()); ?> <?php mysql_select_db($database_local, $local); $query_Recordset1 = "SELECT SUM($param3) FROM sirene_petit GROUP BY $param1, $param2"; $Recordset1 = mysql_query($query_Recordset1, $local) or die(mysql_error()); $query_Recordset2 = "SELECT * FROM sirene_petit GROUP BY $param1, $param2"; $Recordset2 = mysql_query($query_Recordset2, $local) or die(mysql_error()); ?> <title>ESSAI</title> <table border="1" width="700"> <col width='300'> <col width='300'> <col width='200'> <tr> <td><?php echo $param1; ?></td> <td><?php echo $param2; ?></td> <td><?php echo $param3; ?></td> </tr> <tr> </table> <table border="1" width="700" BGCOLOR= '#FFFFFF'> <col width='300'> <col width='300'> <col width='200'> <?php while ($datab = mysql_fetch_array($Recordset2)) { ?> <td><?php echo $datab[$param1]; ?></td> <td><?php echo $datab[$param2]; ?></td> <td><?php echo $Recordset1[$param3]; ?></td> </tr> <?php } ?> </table> </HTML>
|
|
jeudi 8 septembre 2005 à 14:46:47 |
Re : Tableaux croisés php mysql

malalam
|
Ahhh, c'est cosmétique ?? Donne plutôt la structure de ta table (tes tables) concernées).
|
|
jeudi 8 septembre 2005 à 14:51:05 |
Re : Tableaux croisés php mysql

fredo35m
|
Voici ma structure de ma table :
CREATE TABLE `sirene_petit` ( `id_unique` bigint(20) NOT NULL auto_increment, `dep` varchar(5) default NULL, `apet700` varchar(10) default NULL, `datezone` varchar(10) default NULL, `insee` varchar(10) default NULL, `LIBCOM` varchar(30) default NULL, `naf60` varchar(16) default NULL, `naf240` varchar(16) default NULL, `nes16` varchar(10) default NULL, `nes36` varchar(10) default NULL, `naf700` varchar(16) default NULL, `nafg16` varchar(10) default NULL, `nafg36` varchar(10) default NULL, `SIRET` varchar(30) default NULL, `DCRET` double default NULL, `SIEGE` double default NULL, `ORIGINE` double default NULL, `TEFET` double default NULL, `CODEVOIE` varchar(11) default NULL, `MODET` double default NULL, `MARCHET` double default NULL, `SAISONAT` double default NULL, `NATURE` double default NULL, `NOMET` varchar(40) default NULL, `CADR` varchar(26) default NULL, `NUMVOIE` double default NULL, `INDREP` char(1) default NULL, `TYPEVOIE` char(3) default NULL, `LIBVOIE` varchar(26) default NULL, `DISTSP` varchar(26) default NULL, `CODPOS` double default NULL, `APEN700` varchar(10) default NULL, `ZE94` double default NULL, `NOMEN` varchar(40) default NULL, `MARCHEN` double default NULL, `SINGT` double default NULL, `CJ` double default NULL, `EFET` double default NULL, `DATE` varchar(15) default NULL, `ape` varchar(10) default NULL, `ics` double default NULL, `epci` varchar(30) default NULL, `ze` varchar(30) default NULL, `pays` varchar(30) default NULL, `au` varchar(30) default NULL, `za` varchar(30) default NULL, `geoZA` varchar(30) NOT NULL default '', `dateZA` date default '0000-00-00', `typeid_ZA` varchar(30) NOT NULL default '', `NRCI_DEBUT` varchar(40) NOT NULL default '', `RCI` varchar(30) NOT NULL default '', UNIQUE KEY `id_unique` (`id_unique`), KEY `DATE` (`DATE`,`insee`), KEY `insee` (`insee`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=43 ;
|
|
jeudi 8 septembre 2005 à 15:04:24 |
Re : Tableaux croisés php mysql

malalam
|
AAAAAAAAAAAAAAAAARRRRRRRRRRGGGGGGGGGHHHHHHHHHH !!! T'as pas pu faire plus gros, comme table...?? Ok laisse moi un peu de temps j'ai un truc à finir.
|
|
jeudi 8 septembre 2005 à 15:06:03 |
Re : Tableaux croisés php mysql

fredo35m
|
pas de problème !!!!! désolé ......
|
|
Cette discussion est classée dans : local, mysql, somme, recordset1, param3xx
Répondre à ce message
Sujets en rapport avec ce message
php problème d'affichage données Mysql [ par fredo35m ]
Bonjour,j'ai un problème avec mon affichage des données de ma table mysql. Il m'affiche bien le nom de la colonne mais en revanche il ne m'affiche pas
2 listes déroulantes en relation [ par ManuAntibes ]
Salut j'essai de mettre en relation 2 listes déroulantes. Ma 1ère liste affiche les differents services.Ma 2ème liste affiche les personnes qui trava
Formulaire - Probleme de compteur [ par spawnrad ]
Bonjour,J'ai un probleme au niveau du compteur, il s'arrete de compter a partir de 85.voici la page web de mon formulaire :http://l4pfr.free.fr/view.p
configuration phpmyadmin en local [ par arnold002 ]
Bonjour à tous,J'ai un site web stocké chez un hébergeur, qui utilise phpmyadmin 2.7.0-pl1 avec mysql 4.0.13, global_register=onJ'ai cru comprendre qu
Automatiser la mise a jour d'une base de donnée mysql sur le net à partir d'une base mysql en local [ par ralinis ]
Salut à tous.je veux attendre un objectif: automatiser la mise à jour d'une base mysql qui est sur un serveur web à partir d'une base mysql installé e
gestion de stock (local et internet) [ par dek_49 ]
bonjour,je vous solicite pour trouver la meilleur solution pour developpez appli gtestion de stockactuellement tout ce passe en excel/vba ( gestion st
Easy Php et Mysql en resseau local [ par xav42 ]
Bonjour!!!Voila mon petit probleme: Je suis debutant et j'ai fait un petit prog qui utilise une base que j'ai mis dans Mysql de esay php. En local, to
mysql requette comment faire??? [ par jordangj ]
bonjour je vous explique mon pb voici le code qui me permet de crée un tableau: $result=mysql_query("select count(nb_visite) as somme,date from visite
Quel variable prendre ??? [ par ManuAntibes ]
Salut Pouvez vous me dire si mon code est bon.Aprés dans mon body il y a un tableau qui affiche toute les personnes qui on leur anniversaire aujourd'h
parse erreur [ par hanlin ]
je ne sais quoi faire pour regler ce probleme de "parse error" dans ce code...quelqu'un pourrait-il m'aider ?mysql_select_db($database_contact, $conta
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|