Code arrive pas a définir lerreur

vinkey33 77 Messages postés mercredi 9 décembre 2015Date d'inscription 2 janvier 2018 Dernière intervention - 26 déc. 2016 à 11:45 - Dernière réponse : jordane45 19701 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 17 janvier 2018 Dernière intervention
- 27 déc. 2016 à 17:05
Bonjour,
j'ai soucis sur mon code, il ne fonctionne pas, le principe de mon code est de sélectionné une ligne de mon tableau via la souris. j'ai vérifié avec firebug il y a aucune erreur, voici mon code

<?php require_once "PDO_connect.php";

$query="SELECT * FROM smartphone.abonnements";
try{
$prep = $bdd->prepare($query);
$prep->execute();
$resultats = $prep->fetchAll();

}catch(Exception $e){;
echo "Erreur ! ".$e->getMessage() ;
}
?>
<!DOCTYPE>
<html>
<head>
<title>Abonnement</title>
<link rel="stylesheet" type="text/css" href="Select.css">
<style>
.selline { background-color: silver;}
</style>
<script type="text/javascript">
function dataTable()
$(document).ready(function() {
var table = $('#example').dataTable();
$('#example tbody').on( 'click', 'tr', function () {
if ( $(this).hasClass('selected') ) {
$(this).removeClass('selected');
}
}
);

$('.button').click( function () {
table.row('.selected').remove().draw( false );
} );
} );
</script>
</head>
<body>
<center>
<table id="#example" class="DataTable" >
<thead>
<tr>
<th>Operateur</th>
<th>SIM</th>
<th>PUK</th>
<th>Num ligne</th>
<th>Volume</th>
<th>Statut abo</th>
</tr>
</thead><tbody>
<?php
echo "<br>";
if(!empty($resultats)){
foreach ($resultats as $row) {

echo "<tr>";
echo "<td data-name=\"Operateur\">".$row["Operateur"]."</td>";
echo "<td data-name=\"Num_SIM\">".$row["Num_SIM"]."</td>";
echo "<td data-name=\"PUK\">".$row["PUK"]."</td>";
echo "<td data-name=\"Num_ligne\">".$row["Num_ligne"]."</td>";
echo "<td data-name=\"Volume\">".$row["Volume"]."</td>";
echo "<td data-name=\"Statut_abo\">".$row["Statut_abo"]."</td>";
echo "</tr>";
}
}else {
echo "Pas d'enregistrements dans cette table...";
}
?>
</tbody></table></center>
</body>
</html>

Merci
Afficher la suite 

8 réponses

Répondre au sujet
jordane45 19701 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 17 janvier 2018 Dernière intervention - 26 déc. 2016 à 18:59
0
Utile
Bonjour,

Dans ton code ... je ne vois nul part l'insertion de JQUERY ni du plugin DATATABLE


en plus.. tu as mis une fonction pour datatable... mais elle ne sert à rien ...
Retire la ligne
function dataTable()

Ne laisse que ça :
console.log ("Javascript OK ");   //le temps des tests
$(document).ready(function() {
   console.log("document ready ok !");   //le temps des tests
	var table = $('#example').dataTable();
	$('#example tbody').on( 'click', 'tr', function () {
	  if ($(this).hasClass('selected')){
		$(this).removeClass('selected');
	  } 
	});

	$('.button').click( function () {
          console.log("clic sur le bouton : ok");    //le temps des tests
		table.row('.selected').remove().draw( false );
	});
 }); 


Tu devrais avoir des choses qui s'affichent dans la console de firebug maintenant.

Commenter la réponse de jordane45
@karamel 1652 Messages postés vendredi 9 mai 2008Date d'inscriptionModérateurStatut 8 janvier 2018 Dernière intervention - 26 déc. 2016 à 22:22
0
Utile
bonjour

Toujours la mêmes question et la réponse reste la même.
quand prendra tu le temps de lire sérieusement les réponses ?
Commenter la réponse de @karamel
vinkey33 77 Messages postés mercredi 9 décembre 2015Date d'inscription 2 janvier 2018 Dernière intervention - 27 déc. 2016 à 11:44
0
Utile
1
je lie serieusement mais j'ai peut etre des dificulté a reproduire enfin bref
le code que tu ma dit de mettre affiche rien dans firebug ou j'ai la merde dans les yeux, sa me prend la tête mais de ouf
code


<?php require_once "PDO_connect.php";

$query="SELECT * FROM smartphone.abonnements";
try{
$prep = $bdd->prepare($query);
$prep->execute();
$resultats = $prep->fetchAll();

}catch(Exception $e){;
echo "Erreur ! ".$e->getMessage() ;
}
?>
<!DOCTYPE>
<html>
<head>
<title>Abonnement</title>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/jq-2.2.4/dt-1.10.13/se-1.2.0/datatables.min.css"/>
<script type="text/javascript" src="https://cdn.datatables.net/v/dt/jq-2.2.4/dt-1.10.13/se-1.2.0/datatables.min.js"></script>
<link rel="stylesheet" type="text/css" href="Select.css">
<script type="text/javascript">
console.log ("Javascript OK "); //le temps des tests
$(document).ready(function() {
console.log("document ready ok !"); //le temps des tests
var table = $('#example').dataTable();
$('#example tbody').on( 'click', 'tr', function () {
if ($(this).hasClass('selected')){
$(this).removeClass('selected');
}
});

$('.button').click( function () {
console.log("clic sur le bouton : ok"); //le temps des tests
table.row('.selected').remove().draw( false );
});
});
</script>
</head>
<body>
<center>
<table id="#example" class="DataTable" >
<thead>
<tr>
<th>Operateur</th>
<th>SIM</th>
<th>PUK</th>
<th>Num ligne</th>
<th>Volume</th>
<th>Statut abo</th>
</tr>
</thead><tbody>
<?php
echo "<br>";
if(!empty($resultats)){
foreach ($resultats as $row) {

echo "<tr>";
echo "<td data-name=\"Operateur\">".$row["Operateur"]."</td>";
echo "<td data-name=\"Num_SIM\">".$row["Num_SIM"]."</td>";
echo "<td data-name=\"PUK\">".$row["PUK"]."</td>";
echo "<td data-name=\"Num_ligne\">".$row["Num_ligne"]."</td>";
echo "<td data-name=\"Volume\">".$row["Volume"]."</td>";
echo "<td data-name=\"Statut_abo\">".$row["Statut_abo"]."</td>";
echo "</tr>";
}
}else {
echo "Pas d'enregistrements dans cette table...";
}
?>
</tbody></table></center>
</body>
</html>
jordane45 19701 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 17 janvier 2018 Dernière intervention - 27 déc. 2016 à 12:18
tu dois en avoir plein le yeux je pense .....

Es-tu sûr de regarder dans l'onglet CONSOLE de firebug ??
Fais nous un imprime écran stp
Commenter la réponse de vinkey33
vinkey33 77 Messages postés mercredi 9 décembre 2015Date d'inscription 2 janvier 2018 Dernière intervention - Modifié par vinkey33 le 27/12/2016 à 12:43
0
Utile
1
oui bien sur regarde
jordane45 19701 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 17 janvier 2018 Dernière intervention - 27 déc. 2016 à 13:23
tu es bien dans la console... par contre tu es sur l'onglet "Erreurs".
Places toi dans longlet "TOUS"
Commenter la réponse de vinkey33
vinkey33 77 Messages postés mercredi 9 décembre 2015Date d'inscription 2 janvier 2018 Dernière intervention - 27 déc. 2016 à 14:12
0
Utile
1
ton essaie marche bien j'avais effectivement de la merde dans les yeux
voici l'image

mais je peux toujours pas sélectionné une ligne
jordane45 19701 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 17 janvier 2018 Dernière intervention - 27 déc. 2016 à 17:05
que veux tu dire par "selectionner une ligne" ?
Que crois tu qu'il devrait se produire ??

Sachant que ton code
 $('#example tbody').on( 'click', 'tr', function () {
    if ($(this).hasClass('selected')){
    $(this).removeClass('selected');
    } 
  });

Veut dire :
Lorsqu'on clique sur un TR (une ligne) ...
Si cette ligne a la class "selected" ... alors on la lui retire.

C'est tout....
Ca ne fait rien d'autre.....


J'ai l'impression que toi.. tu voudrais pouvoir METTRE la class "selected" à la ligne cliquée non ????
Dans ce cas...
 $('#example tbody').on( 'click', 'tr', function () {
   var tr_sel = $(this).hasClass('selected');

    if (tr_sel){
      $(this).removeClass('selected');
    } else {
     $(this).addClass('selected');
    }
  });


Par contre... si tu veux ne pouvoir en selectionner qu'une seule.. il faut retirer la class "selected" à toutes les autres lignes.
Un truc du genre
 $('#example tbody').on( 'click', 'tr', function () {
     $('#example tbody tr').removeClass('selected'); //retire le selected partout
     $(this).addClass('selected'); //met le selected sur le ligne cliquée
  });



NB : Si nous avons autant de mal à t'apporter une réponse... c'est que tes explications sont extrêmement bordéliques voir incompréhensibles !!!!!
A l'avenir.. tâche de faire un effort pour exprimer CLAIREMENT ton besoin.
Commenter la réponse de vinkey33

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.