Affichage ligne BDD - Fonction
Gogo
-
Gogo -
Gogo -
Bien le Bonjour,
Alors voila, je m'occupe d'un module qui permet de voir dans un SAV l'état des machines, leurs avancements etc... , je voudrais en appuyant sur un bouton checkbox "Afficher Dossier Clos" que , comme son nom l'indique d'afficher toutes les prise en charge alors que par défaut il y a juste les prise en charge qui sont "Ouvert" et "Pas d'intervention" , je m'explique :
Dans la BDD :
NULL => Pas d'intervention
0 = > Ouvert
1 => Cloturé
Donc si vous m'avez suivi en appuyant sur la chekbox , je veux afficher en plus les prise en charge qui sont cloturé . On m'a dis d'utiliser une fonction mais je vois pas comment il faudrait l'utiliser . Voila si quelqu'un a des idées pour me venir en aide . En vous remerciant
Code:
Alors voila, je m'occupe d'un module qui permet de voir dans un SAV l'état des machines, leurs avancements etc... , je voudrais en appuyant sur un bouton checkbox "Afficher Dossier Clos" que , comme son nom l'indique d'afficher toutes les prise en charge alors que par défaut il y a juste les prise en charge qui sont "Ouvert" et "Pas d'intervention" , je m'explique :
Dans la BDD :
NULL => Pas d'intervention
0 = > Ouvert
1 => Cloturé
Donc si vous m'avez suivi en appuyant sur la chekbox , je veux afficher en plus les prise en charge qui sont cloturé . On m'a dis d'utiliser une fonction mais je vois pas comment il faudrait l'utiliser . Voila si quelqu'un a des idées pour me venir en aide . En vous remerciant
Code:
<label for="chk5">Afficher Dossier Clos</label> <input id="dossier_clos" type="checkbox" /> <?php $req_dossier = "select * from priseencharge "; $result = odbc_exec($connexion, $req_dossier) or die ("Ne peut pas exécuter la requête."); while (odbc_fetch_row($result)) { if (odbc_result($result, "cloture") != 1 ){ ?> <tr> <td class = "cloture" align= "center"> <?php if (odbc_result($result,"cloture") == NULL) { echo "Pas d'intervention";} else echo "Ouvert"; ?> </td> <tr>
A voir également:
- Affichage ligne BDD - Fonction
- Fonction si et - Guide
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Affichage double ecran - Guide
- Aller à la ligne excel - Guide
3 réponses
Wow, j'avais pas vu l'heure de postage mais tant pis je réponds quand même tant qu'à faire ^^.
Donc déjà pourquoi fais-tu un "select *" si tu n'as besoin que d'une colonne?
Ensuite pourquoi ne fais tu pas un "select cloture from priseencharge where cloture != 1" plutôt que de refaire le test à chaque fois après?
Pour ton problème de checkbox, je pense que le mieux est de faire un peu d'AJAX.
En gros, tu sépares ton fichier PHP qui génère ton tableau dans un autre fichier (sav.php).
Dans ton fichier principal, tu rajoutes ce javascript
A la place du tableau tu mets donc un
Et dans ton sav.php
Et enfin dans le fichier principal :
et tout à la fin du body :
Voilà, bon bien sûr j'ai pas testé donc il doit y avoir pas mal d'erreur mais c'est l'idée.
Si tu as des questions je serais là demain aprem normalement. (demain matin partiel T_T).
Bonne journée,
Rémi.
Donc déjà pourquoi fais-tu un "select *" si tu n'as besoin que d'une colonne?
Ensuite pourquoi ne fais tu pas un "select cloture from priseencharge where cloture != 1" plutôt que de refaire le test à chaque fois après?
Pour ton problème de checkbox, je pense que le mieux est de faire un peu d'AJAX.
En gros, tu sépares ton fichier PHP qui génère ton tableau dans un autre fichier (sav.php).
Dans ton fichier principal, tu rajoutes ce javascript
<script type="text/javascript"> function getTab(param) { var xhr; try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e2) { try { xhr = new XMLHttpRequest(); } catch (e3) { xhr = false; } } } xhr.onreadystatechange = function() { if(xhr.readyState == 4) { if(xhr.status == 200) document.getElementById("divTab").innerHTML = xhr.responseText; } }; xhr.open( GET", "sav.php?type="+param, true); xhr.send(null); } </script>
A la place du tableau tu mets donc un
<div id="divTab"></div>
Et dans ton sav.php
$req_dossier = "select cloture from priseencharge"; if($_GET["type"]==false) { $req_dossier .= " cloture != 1"; }
Et enfin dans le fichier principal :
<input type="checkbox" onchange="getTab(this.value);">
et tout à la fin du body :
<script type="text/javascript"> getTab(false); </script>
Voilà, bon bien sûr j'ai pas testé donc il doit y avoir pas mal d'erreur mais c'est l'idée.
Si tu as des questions je serais là demain aprem normalement. (demain matin partiel T_T).
Bonne journée,
Rémi.
En me relistant, il manque un where :
et un guillemet
et surement d'autres choses mais là je vais me coucher.
$req_dossier .= "where cloture != 1";
et un guillemet
xhr.open( "GET", "sav.php?type="+param, true);
et surement d'autres choses mais là je vais me coucher.
Salut désolé mais ça a changer maintenant (c'est pas moi qu'il l'a voulu ^^ ) , il faut que j'affiche juste celle qui sont clôturé
Salut, bah pour tout te dire je connais rien en Ajax donc je ne comprend rien de tout de ce tu m'a mis. Je vais tester et essayer si ça marche,je le mettrais pour dépanner, mais bon la comme je suis en stage , il faudra que j'explique au professeurs tout ça en détails, la galère quoi.
Et pour la requête au début il y a plusieurs colonnes mais j'ai essayer de simplifier parce que sinon ça faisais pas mal de lignes en plus ^^ .
normalement j'ai ça (il manque les checkbox bien sur ):
Salut, bah pour tout te dire je connais rien en Ajax donc je ne comprend rien de tout de ce tu m'a mis. Je vais tester et essayer si ça marche,je le mettrais pour dépanner, mais bon la comme je suis en stage , il faudra que j'explique au professeurs tout ça en détails, la galère quoi.
Et pour la requête au début il y a plusieurs colonnes mais j'ai essayer de simplifier parce que sinon ça faisais pas mal de lignes en plus ^^ .
normalement j'ai ça (il manque les checkbox bien sur ):
<table border = "1" class="clear" align="left" cellpadding="10" style="font-size:smaller ;"> <tr> <th id = "idpriseencharge" > Prise en charge le : </th> <th id = "idraison" > Raison social </th> <th id = "idnumeroDossier" > N° Dossier </th> <th id = "idNomPrenom" > Technicien </th> <th id = "idmarque" > Marque </th> <th id = "idgarantie" > Garantie</th> <th id = "idcloture" > clos/Ouvert </th> <th id = "iddateDispo" > Délai </th> </tr> <?php $req_dossier = "select cloture from priseencharge where cloture != 1 INNER JOIN client ON num_client_prise = sCliCode INNER JOIN produit ON num_produit_prise = num_produit INNER JOIN modele ON num_modele_produit =num_modele LEFT JOIN representant ON code = num_vendeur_inter order by date_dispo ASC"; $result = odbc_exec($connexion, $req_dossier)or die("Ne peut pas exécuter la requête."); while (odbc_fetch_row($result)) { ?> <tr> <td class = "priseencharge" align= "center" > <?php echo unparse_date(odbc_result($result,"date_prise")); ?> </td> <td class = "raison" align= "center" > <?php echo odbc_result($result,"sCliRaisonSoc"); ?> </td> <td class = "numeroDossier" align= "center"> <?php echo odbc_result($result,"num_dossier"); ?> </td> <td class = "NomPrenom" align= "center" "> <?php echo odbc_result($result, "Nom")." ".odbc_result($result, "Prenom"); ?> </td> <td class = "marque" align= "center" > <?php echo odbc_result($result,"nom_modele"); ?> </td> <td class = "garantie" align= "center" > <?php echo odbc_result($result,"garantie_produit"); ?> </td> <td class = "cloture" align= "center" > <?php if (odbc_result($result,"cloture") == NULL) { echo "Pas d'intervention";} else echo "Ouvert"; ?> </td> </table>