Cylvain Posté 18 Novembre 2015 Posté 18 Novembre 2015 Bonjour, J'ai un éditeur de page html qui sert à faire des catalogues, afin d'y ajouter un bouton ajouter un chien qui est dans ma base de données je voudrais appeler une fonction php dans du javascript, le problème est que je ne sais absolument pas faire cela, quelqu'un pourrait il m'indiquer les démarches? Donc voici mon html ou il y a mon formulaire qui prend l'information à aller chercher dans ma bdd <form method="post" action="bdd.php"> <label for="idlof"><strong>LOF du chien</strong> :</label> <input id="idlof" type="text" name="lof" /> Mon fichier php <?php include('connexion.php'); ?> <?php header("Content-Type: text/html; charset=utf-8"); ?> <?php $lof = $_POST['lof']; // ------------------------- // requete : lof $lof_query = "SELECT NOM, AFF, TAT, LOF, PUC, TRES, DNAIS, SEX, RADH, RADC, PRAD, PNOM, PRES, MRAD, MNOM, MRES, PROP, PREN, ELEV ". " FROM Chien ". " WHERE LOF like :lof; "; try { $pdo_select = $pdo->prepare($lof_query); $pdo_select->execute( array( ':lof' => '%'.$lof.'%' )); $lof_nombre = $pdo_select->rowCount(); $lof_rowAll = $pdo_select->fetchAll(); } catch (PDOException $e) { echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); } // ------------------------- if($lof_nombre>0) { // boucle pour lister foreach ($lof_rowAll as $lof_row) { ?> <?php if(($lof_row['RADH']=='HD') AND ($lof_row['RADC']=='ED')){ echo '<p><strong> ('.$lof_row['RADH'].'/'.$lof_row['RADC'].') </strong>'; } elseif(($lof_row['RADH']!='HD') AND ($lof_row['RADC']=='ED')){ echo '<p><strong>( '.$lof_row['RADC'].') </strong>'; } elseif(($lof_row['RADH']=='HD') AND ($lof_row['RADC']!='ED')){ echo '<p><strong>( '.$lof_row['RADH'].') </strong>'; } ?> <?php echo '<strong>'.$lof_row['NOM'].' '.$lof_row['AFF'].' '.$lof_row['TRES'].'</strong><p>';?> <?php if($lof_row['SEX']=='M') { echo '<p>Né le : '.$lof_row['DNAIS'].' '; } elseif($lof_row['SEX']=='F') { echo '<p>Née le : '.$lof_row['DNAIS'].' '; } ?> <?php echo' Lof : '.$lof_row['LOF'].''; ?> <?php if($lof_row['TAT']>0) { echo' Tatouage : '.$lof_row['TAT'].'</p>'; } elseif($lof_row['PUC']>0) { echo ' Puce : '.$lof_row['PUC'].'</p>'; } ?> <?php echo '<p>Père: ('.$lof_row['PRAD'].') '.$lof_row['PNOM'].' '.$lof_row['PRES'].' <p>'; echo '<p>Mère: ('.$lof_row['MRAD'].') '.$lof_row['MNOM'].' '.$lof_row['MRES'].' <p>'; } ?> <?php // condition prod eleveur if($lof_row['PROP']==$lof_row['ELEV']) { echo '<p><strong> Prod / prop :'.$lof_row['PROP'].' </strong>'; } elseif($lof_row['PROP']!=$lof_row['ELEV']) { echo '<p>Prod: '.$lof_row['PROP'].' Prop : '.$lof_row['ELEV'].' '; } } else { echo '<p>Rien trouvé...<p>'; } ?> Mon index de mon éditeur html <div class="box box-element" data-type="header"> <a href="#close" class="remove btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove"></i></a> <a class="drag btn btn-default btn-xs"><i class="glyphicon glyphicon-move"></i></a> <span class="configuration"> <a class="btn btn-xs btn-warning settings" href="#" ><i class="fa fa-gear"></i></a> </span> <div class="preview"> <i class="fa fa-header fa-2x"></i> <div class="element-desc">header</div> </div> <div class="view"> <h2>Titre</h2> </div> </div> <div class="box box-element" data-type="paragraph"> <a href="#close" class="remove btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove"></i></a> <a class="drag btn btn-default btn-xs"><i class="glyphicon glyphicon-move"></i></a> <span class="configuration"> <a class="btn btn-xs btn-warning settings" href="#" ><i class="fa fa-gear"></i></a> </span> <div class="preview"> <i class="fa fa-font fa-2x"></i> <div class="element-desc">Paragraphe</div> </div> <div class="view"> <p>Remplacer par votre texte </p> </div> et mon fichier app js case 'header': var editor = tinyMCE.get('html5editor'); editor.setContent(clonedPart); $('#text').show(); confirm.bind('click', function (e) { e.preventDefault(); saveRowSettings(row); saveColumnSettings(column); o.html(editor.getContent()); o.attr('id', $('#id').val()); o.attr('class', $('#class').val()); }); break; case 'paragraph': var editor = tinyMCE.get('html5editor'); editor.setContent(clonedPart); $('#text').show(); var o = part.find('div.view'); confirm.bind('click', function (e) { e.preventDefault(); saveRowSettings(row); saveColumnSettings(column); o.html(editor.getContent()); o.attr('id', $('#id').val()); }); Merci pour vos conseil et votre aide
Dadou Posté 18 Novembre 2015 Posté 18 Novembre 2015 Appeler une function PHP dans du js ce n'est pas possible : le PHP est exécuté sur le serveur, alors que le js l'est au niveau du navigateur. Ta demande n'est pas très claire, que veux tu faire précisément. Au passage, revois les noms de champs dans ta base de données, c'est tout sauf lisible, et du coup ton code n'est pas du tout compréhensible, on ne sait pas ce que tu cherches a afficher
eric73 Posté 19 Novembre 2015 Posté 19 Novembre 2015 ce qu'il est possible de faire, c'est, en ajax, d'appeler un script php sur le serveur qui va faire et retourner quelque chose, et en javascript, de faire quelque chose du retour du script php. après je n'ai pas très bien compris non plus la demande.
Cylvain Posté 23 Novembre 2015 Auteur Posté 23 Novembre 2015 (modifié) Bonjour, Je vais essayer d'être plus clair J'ai côté visiteur un éditeur html avec des éléments, lorsque je glisse mes éléments dans ma page je peux les personnaliser. Je voudrais rajouter à ces éléments un nouvel élément "lof" une fois glissé dans ma page, un pop up s'ouvre avec un champ à remplir, le résultat de ce champs exécute ma requête qui est dans mon fichier php (informations que je vais chercher dans ma base de données) puis les affiche dans ma page. Merci pour votre aide Modifié 23 Novembre 2015 par Cylvain
Cylvain Posté 29 Novembre 2015 Auteur Posté 29 Novembre 2015 Bonjour,Je rencontre plusieurs problèmes à mon projetdans mon fichier html pour afficher mon element drag and drop Puis dans mon fichier .js pour récupérer les éléments dans ma bdd et les afficher Code : <div class="box box-element" data-type="Chien"> <a href="#close" class="remove btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove"></i></a> <a class="drag btn btn-default btn-xs"><i class="glyphicon glyphicon-move"></i></a> <span class="configuration"> <a class="btn btn-xs btn-warning settings" href="#" ><i class="fa fa-gear"></i></a> </span> <div class="preview"> <i class="fa fa-gear fa-2x"></i> <div class="element-desc">Chien</div> </div> <div class="view"> <div id="results"> </div> <br/> <br/> </div> </div> Puis pour afficher mon champ dans la boite de dialogue une fois mis dans ma page <div class="form-group"> <form action="" method="post"> <input class="form-control" type="text" id="lof" name="lof" placeholder="N° LOF du chien"> </form> </div> Puis dans mon fichier .js pour récupérer les éléments dans ma bdd et les afficher $(document).ready( function() { $("#lof").keyup(function() { var lof = $('#lof').val(); $.post('bdd.php', {'lof':lof}, function(data) { $('#results').html(data); // affichage des résultats dans le bloc }); }); }); Problèmes1) le champ lof apparait dans tout mes éléments2) lorsque je tape un lof dans le champ, la réponse s'affiche dans mon icône drag and drop, donc je dois la remettre dans la page pour afficher le résultat.3) l'affichage se fait mais j'ai tout les résultats qui forme ma référence du lofex : n°52affichage : chien 5, chien 2, chien 25 et chien 52.je ne pense utiliser un mauvais script.Est ce que quelqu'un à une idée?Merci
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant