PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#51 Re : Javascript » Problème d'affichage de tableau utilisant "DATATABLES" » 08-05-2012 09:34:54

a oui, jsuis c**, j'avais pas fait gaffe je faisais une initialisation avec #datatable alors que mon id était menuTable. Je viens de changer et j'ai donc ceci:

<table cellpadding="0" cellspacing="0" border="0" class="display" id="datatable">

C'est bon ça fonctionne maintenant

Encore merci, j'ai plus qu'a modifier mon css pour que l'affichage soit correct et tout va rouler correctement.

maxredphenix

#52 Re : Javascript » Problème d'affichage de tableau utilisant "DATATABLES" » 08-05-2012 09:34:54

Merci pour vos réponses (et désolé pour le "s" ça doit être un habitude sad )

Pour ce qui est du div je me suis fier aux exemples du site:
Code initialisation:

$(document).ready(function(){
    $('#example').dataTable();
});

Tu ferais l'initialisation comment?

Encore merci

#53 Javascript » Problème d'affichage de tableau utilisant "DATATABLES" » 08-05-2012 09:34:54

maxredphenix
Réponses : 12

Bonjour,

Je voudrais utiliser datatable (http://datatables.net/) pour visualiser les données d'une table nommée appels.

J'en suis arrivée a ceci:
code de la page php contenant le tableau:

<?php
// On prolonge la session
session_start();
// On teste si la variable de session existe et contient une valeur
if(empty($_SESSION['login']))
{
  // Si inexistante ou nulle, on redirige vers le formulaire de login
  header('Location: authentification.php');
  exit();
}
?>
<!DOCTYPE html>
<?php
  $db = mysql_connect('localhost', 'root', '');
  mysql_select_db('gestspie', $db);
  $sql = 'SELECT * FROM appels ORDER BY id';
  $req = mysql_query($sql) or die (mysql_error());
?>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!-- Titre -->
    <title>Gestion des Appels</title>
    <!------ Fichiers CSS ------->
    <link href="../css/template_formulaires.css" rel="stylesheet" type="text/css" /><!-- Appel du css pour la page html + Menu -->
    <link href="../css/fenetre_modale.css" rel="stylesheet" type="text/css" /><!-- CSS pour la fenêtre modale -->
    <link href="../css/jquery-ui-1.8.19.custom.css" rel="stylesheet" type="text/css" /><!-- Appel du Theme JQUERY -->
    <link href="../css/jquery.ui.datepicker.css" rel="stylesheet" type="text/css" /><!-- Appel du css Datepicker JQUERY -->
    <link href="../css/datatable_style.css" rel="stylesheet" type="text/css" /><!-- Appel du css pour la mise en forme du tableau -->
    <link href="../css/datatable_table_jui.css" rel="stylesheet" type="text/css" /><!-- Appel du css pour la mise en forme du tableau -->
   
    <!-- Appel des divers scripts -->
    <script type="text/javascript" src="../javascript/menu.js"></script> <!-- Fichier javascript pour le changement de couleur du texte du MENU -->
    <script type="text/javascript" src="../javascript/jquery-1.7.2.min.js"></script> <!-- Script JQUERY minifiée-->
    <script type="text/javascript" src="../javascript/fenetre_modale.js"></script> <!-- Script ouverture de fenêtre modale-->
    <script type="text/javascript" src="../javascript/jquery.dataTables.js"></script> <!-- Plugin Datatable -->
    <script type="text/javascript" src="../javascript/jquery.datatables.tabletools.js"></script> <!-- Plugin Datatable pour l'exportation vers différents formats -->
    <script type="text/javascript" src="../javascript/jquery.datatables.zeroclipboard.js"></script> <!-- Datatable: Script utilisant un fichier Flash pour effectuer la copie vers le presse-papier -->
   
    <!-- Configuration de base du tableau Datatable -->
    <script type="text/javascript" charset="utf-8">
      $(document).ready(function() {
        $('#datatable').dataTable({
          "bProcessing": true,
          "bServerSide": true,
          "bJQueryUI": true,
          "sPaginationType": "full_numbers",
          "sDom": '<"clear"><"H"Tflr>t<"F"ip>',
          "oTableTools": { "sSwfPath": "datatable_swf/copy_cvs_xls_pdf.swf"},
          "sAjaxSource": "get_datatable.php",
          "oLanguage": { "sUrl": "datatable_fr.txt" },
        });
      });
    </script>
  </head>
  <body>
    <!-- En Tête -->
    <!-- Banniere avec logo -->
    <div id="header" class="banniere">
      <div id="logo"><a href="#?w=700" rel="popup_name" class="poplight" title="logo" alt="logo"><img src="../images/logo.gif" /></a></div>
      <div id="titre"><a>Gestion des Appels</a></div>
    </div>
     
    <!-- Menu -->
    <ul id="menu">
      <li><a href="../index.php">Revenir au menu</a></li> <!-- Enregistrement de la page en cours après avoir rempli les champs du formulaire + Revenir au menu -->
      <li><a href="#">Graphiques</a></li><!-- Affichage des différents graphiques possibles -->   
    </ul>
    <form>
      <!-- Affichage du tableau -->
      <div id="tableau_appels">
        <table cellpadding="0" cellspacing="0" border="0" class="display" id="menuTable">
        <!-- Menu de la table -->
        <thead>  
          <!-- Gestion du nom des colonnes -->
          <tr>        
            <th width="5%">N°</th>  
            <th width="7%">Date</th>
            <th width="7%">Heure</th>  
            <th width="10%">Demandeur</th>          
            <th width="6%">Tel</th>
            <th width="5%">Bâtiment</th>  
            <th width="10%">Service</th>  
            <th width="10%">Média</th>
            <th width="10%">Type Inter</th>
            <th width="30%">Objet</th>    
          </tr>
        </thead>
        <!--Corps de la table : Affichage des données-->
        <tbody>  
          <tr>        
            <td colspan="10">Chargement des données...</td>    
          </tr>
        </tbody>
        <!-- Pied du tableau: on peut copier le contenu du thead si on souhaite afficher en haut et en bas le nom des colonnes -->
        <tfoot>  
          <tr>        
            <th colspan="10"> </th>
          </tr>
        </tfoot>
        </table>
      </div>
    </form>
  </body>
</html>

Et voila la page de traitement des données mysql: get_datatable.php

<?php
  /* Array of database columns which should be read and sent back to DataTables. Use a space where
   * you want to insert a non-database field (for example a counter or static image)
   */

  $aColumns = array( 'id', 'date_appel', 'heure_appel', 'nom_demandeur', 'num_appelant', 'batiment', 'service', 'media', 'type_inter','objet_appel' );
 
  /* La Colonne qui est indéxé, ici c'est la colonne ID */
  $sIndexColumn = "id";
 
  /* MLa table de la base de donnée à utiliser*/
  $sTable = "appels";
 
    /* Connexion à la base de données MySQL*/
  $gaSql['user']       = "root";
  $gaSql['password']   = "";
  $gaSql['db']         = "gestspie";
  $gaSql['server']     = "localhost";
  $gaSql['type']       = "mysql";
/*
   * MySQL connection
   */

  $gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
    die( 'Impossible de se connecter au serveur' );
 
  mysql_select_db( $gaSql['db'], $gaSql['link'] ) or
    die( 'Impossible de sélectionner la table'. $gaSql['db']);
 
 
  /* Paging */
  $sLimit = "";
  if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )
  {
    $sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
      mysql_real_escape_string( $_GET['iDisplayLength'] );
  }
 
  /* Ordering */
  $sOrder = "";
  if ( isset( $_GET['iSortCol_0'] ) )
  {
    $sOrder = "ORDER BY  ";
    for ( $i=0 ; $i<intval( $_GET['iSortingCols'] ) ; $i++ )
    {
      if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" )
      {
        $sOrder .= "`".$aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."` ".
          mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
      }
    }
   
    $sOrder = substr_replace( $sOrder, "", -2 );
    if ( $sOrder == "ORDER BY" )
    {
      $sOrder = "";
    }
  }
 
  /* Filtrage */
  $sWhere = "";
  if ( isset($_GET['sSearch']) && $_GET['sSearch'] != "" )
  {
    $sWhere = "WHERE (";
    for ( $i=0 ; $i<count($aColumns) ; $i++ )
    {
      $sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ";
    }
    $sWhere = substr_replace( $sWhere, "", -3 );
    $sWhere .= ')';
  }
 
  /* Filtrage individuel des colonnes */
  for ( $i=0 ; $i<count($aColumns) ; $i++ )
  {
    if ( isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == "true" && $_GET['sSearch_'.$i] != '' )
    {
      if ( $sWhere == "" )
      {
        $sWhere = "WHERE ";
      }
      else
      {
        $sWhere .= " AND ";
      }
      $sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' ";
    }
  }
 
  /* Requête SQL - Recupérer les données à afficher */
  $sQuery = "
    SELECT SQL_CALC_FOUND_ROWS `"
.str_replace(" , ", " ", implode("`, `", $aColumns))."`
    FROM   $sTable
    $sWhere
    $sOrder
    $sLimit
    "
;
  $rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
 
  /* Data set length after filtering */
  $sQuery = "
    SELECT FOUND_ROWS()
  "
;
  $rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
  $aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);
  $iFilteredTotal = $aResultFilterTotal[0];
 
  /* Total data set length */
  $sQuery = "
    SELECT COUNT(`"
.$sIndexColumn."`)
    FROM   $sTable
  "
;
  $rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
  $aResultTotal = mysql_fetch_array($rResultTotal);
  $iTotal = $aResultTotal[0];
 
 
  /* Output */
  $output = array(
    "sEcho" => intval($_GET['sEcho']),
    "iTotalRecords" => $iTotal,
    "iTotalDisplayRecords" => $iFilteredTotal,
    "aaData" => array()
  );
 
  while ( $aRow = mysql_fetch_array( $rResult ) )
  {
    $row = array();
    for ( $i=0 ; $i<count($aColumns) ; $i++ )
    {
      if ( $aColumns[$i] == "version" )
      {
        /* Special output formatting for 'version' column */
        $row[] = ($aRow[ $aColumns[$i] ]=="0") ? '-' : $aRow[ $aColumns[$i] ];
      }
      else if ( $aColumns[$i] != ' ' )
      {
        /* General output */
        $row[] = $aRow[ $aColumns[$i] ];
      }
    }
    $output['aaData'][] = $row;
  }
 
  echo json_encode( $output );
?>

Mais voila ce que j'obtiens:
[img align=C]http://dl.dropbox.com/u/31901874/apercu%20tableau.jpg[/img]

Je sais pas d'ou peut venir le problème, j'ai passer plusieurs heures a rechercher le soucis et a lire des tutos mais rien....

J'espère que quelqu'un pourra m'aider

Merci d'avance

Maxredphenix

#54 Re : Forum Général PHP » Divers Scripts » 17-11-2010 21:30:58

Je vais faire un tour du coté des erp open source, budgétairement ce sera pas possible sinon.

Encore merci a vous tous pour vos réponses, je vous tiens au courant.

Cordialement
maxredphenix

#55 Re : Forum Général PHP » Divers Scripts » 17-11-2010 21:30:58

Merci pour vos réponses,

La solution microsoft n'est pas possible parce qu'on a un intranet totalement déconnecté du net, on a des serveurs très performant mais malheureusement sans aucun lien externes. J'ai fait un tour du coté de joomla et j'ai trouver quelqu'un qui s'y connait un peu, donc a voir si je reste dans cette solution ou non mais en attendant je continue quand même mes recherches.

Merci

#56 Re : Forum Général PHP » Divers Scripts » 17-11-2010 21:30:58

Merci pour votre réponse,

J'ai trouver ceci sur le net  "joomla" il y a pas mal d'extensions qui permettent de faire ce que je veux, mais il faut que je test car je sais pas si il peut avoir une correspondance entre les différentes données par extension.

#57 Forum Général PHP » Divers Scripts » 17-11-2010 21:30:58

maxredphenix
Réponses : 10

bonjour a tous,

je voudrais créer un site pour gérer plusieurs chose dans ma boite et n'etant pas très fort en programmation web j'aurai voulu savoir si ce que je demande n'existe pas déja (j'en ai déja trouver certain mais rien de très valable, sans possibilité de modification du script, lourd ou alors payant) :

- Tout d'abord c'est quoi la meilleur facon de protéger son site via la protection par mot de passe d'un script d'authentification? parce que j'ai vu que chaque langage a ces défauts.

- La logistique: l'utilisateur doit pouvoir créer lui même une nouvelle base de donnée et créer ces différents champs, voir en rajouter ultérieurement (ex: logistique de nos éléments actifs: emplacements, adresse ip, recu le, mise en place le, etc..). De même il faudrait qu'il y ai une base de donnée de base avec tous les types de produits de base qui seront utilisées par chaque base de donnée créer (avec photos, description,lien vers docs), cette base pourra être modifier par l'utilisateur pour Rajouter/Modifier/Supprimer un produit via son navigateur.

- L'agenda: agenda multi utilisateurs et création de multiples agenda par personne, du genre "google agenda", avec possiblité de créer un/des agenda(s) visible pour les personnes autoriser par le créateur de l'agenda.

- Annuaire : base de donnée avec photos et divers descriptions du personnel et utilisable pour gérér les comptes agenda par exemple.

Pour infos le serveur commun a toute la boite supporte apache et php

Si vous auriez des scripts ou autres qui conviendrait à cela je suis vraiment preneur parce que je ne trouve pas mon bonheur sur google.

merci d'avance
maxredphenix

#58 Forum Général PHP » Telnet cisco » 05-12-2010 05:02:04

maxredphenix
Réponses : 1

Bonjour a tous,

Je souhaite créer lequel je pourrais voir l'état de mes routeurs et envoyer différentes commande par telnet. J'ai réussi a trouver ceci en fouillant un peu sur le net:
http://www.kasmi.info/cisco/script-php- … nts-cisco/

Par contre je ne sais pas comment l'utiliser et j'aurais quelques questions:

1) dans quels formats doivent être les fichier équipements et commandes, je pense que c'est du .txt mais j'en suis pas sur.

2) Comment fait-on pour effectuer le script php qui est décrit dans ce tuto parce que je suis nouveau dans le domaine de la programmation web. Je pense qu'il doit être exécuter par une page html

3) Une fois inclue dans une page web, est ce que l'on peut s'en servir pour afficher des données? (ex: dans le fichier commande il y a la commande "sh port-security", je l’exécute sur tous les éléments actifs présents sur mon parc info. Est ce que je peut avoir une form dans lequel on verrait les ports bloquer sur chaque routeurs/switch?)

Est ce que vous pouvez m'aider par que je trouve pas de réponses en cherchant sur le net.

Merci d'avance

maxredphenix

Pied de page des forums

Propulsé par FluxBB